CF-945(已更A,B)

news/2024/11/18 3:40:03/文章来源:https://www.cnblogs.com/mono-4/p/18199216

CF-945(A,B)

A

分析

模拟

合法情况下三个数的和只能是偶数:题中的两种操作显然都不会改变和的奇偶性

这点我的代码中没有用到

要使平局数最多,一定是最大的两个数减一,重复这个过程,直到两个较小的数都为零,且最大数一定是偶数,否则不合法:可以由题意和样例想到

代码

int a[4]; 
void solve(){cin>>a[0]>>a[1]>>a[2];int f=0,ans=0;while(1){sort(a,a+3);				if(a[1]==0&&a[2]&1){f=1;break;}if(a[0]==a[1]&&a[0]==0){break;}		a[1]--,a[2]--;ans++;}if(f){cout<<"-1\n";return;}cout<<ans<<endl;
}
 

B

二分答案、包含种类信息(此题是二进制下的位数)的前缀和

分析

二分可行的单调性在于k越大长度为k的区间或和一定是非递减的,同时n个数的或和sum一定要是等于所有长度为k的区间或和的,所以我们可以二分k,每次二分去判断长度为k的区间或和是否等于sum

技巧-区间或和

其实是拆位算贡献

p[i][j]表示前i个数字中二进制下第j位为1的数量

rep(j,0,21) p[i][j]=p[i-1][j];
rep(j,0,21){if(a[i]>>j&1){p[i][j]++;}
}

对样例打表:

对于二进制下每一位只要有1就对区间或和有贡献,所以可以由此得到区间或和

int res=0;
rep(j,0,21){//区间[i,i+k-1]的或和if(p[i+k-1][j]-p[i-1][j]){res+=1ll<<j;}
}

代码

const int N=2e5+3;
int a[N],p[N][22],n,sum;
bool ck(int k){rep(i,1,n-k+1){int res=0;rep(j,0,21){if(p[i+k-1][j]-p[i-1][j]){res+=1ll<<j;}}if(res<sum){return true;}}return false;
} 
void solve(){cin>>n;sum=0;rep(i,1,n){cin>>a[i];rep(j,0,21) p[i][j]=p[i-1][j];per(j,21,0){if(a[i]>>j&1){p[i][j]++;}}sum|=a[i];}if(n==1){cout<<"1\n";return;}int l=0,r=n,mid;while(r-l>1){mid=l+r>>1;if(ck(mid)) l=mid;else r=mid; //cout<<l<<" "<<r<<endl;}cout<<r<<endl;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/708152.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VSCode安装vue3插件

1.以前的volar已经弃用了。 2.最近vue插件

python计算机视觉学习笔记——PIL库的用法

如果需要处理的原图及代码,请移步小编的GitHub地址传送门:请点击我如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice这个是之前的笔记,自己看到了就顺带发出来,也是温习一下,内容可能不太全,算是入门贴吧。 前言:PIL 图像处理是计算机视觉领域中不…

Angular-测试驱动开发-全-

Angular 测试驱动开发(全)原文:zh.annas-archive.org/md5/60F96C36D64CD0F22F8885CC69A834D2 译者:飞龙 协议:CC BY-NC-SA 4.0前言 本书将为读者提供一个关于 JavaScript 测试驱动开发(TDD)的完整指南,然后深入探讨 Angular 的方法。它将提供清晰的、逐步的示例,不断强…

python中的装饰器,迭代器,生成器之间的关系

一、装饰器 装饰即修饰,意指为其他函数添加新功能; 装饰器的本质就是函数 作用是为其他函数添加新功能,如计算该函数运行时长 装饰器遵循原则: 1.不修改被装饰函数的源代码(开放封闭原则) 2.为被装饰函数添加新功能后,不能修改被修饰函数的调用方式 装饰器的实现 = 高阶…

RepVGG-GELAN | 融合 VGG、ShuffleNet 与 YOLO 图像检测的准确性及效率再上一层!

前言 基于YOLO的目标检测算法在速度和准确性之间取得了显著的平衡。然而,它们在脑肿瘤检测中的应用仍然未被充分探索。本研究提出了RepVGG-GELAN,这是一种新型的YOLO架构,通过集成RepVGG,一种重新参数化的卷积方法,特别关注于医学图像中的脑肿瘤检测。RepVGG-GELAN利用Rep…

有关字符串的函数接口

目录strstr函数,用于从一个字符串中查找子串strtok函数,用于分割字符串 strstr函数,用于从一个字符串中查找子串strtok函数,用于分割字符串

24考研成电860——记我消失的一年

考研经验分享成电考研860经验帖 本人情况介绍 本人于今年毕业于某双非院校计算机系,绩点3.3,甲级联赛有两个国三。刚开始是想保研的,大一绩点是3.8,但是由于院校保研名额不是很多,如果全力冲保研的话风险很大,高绩点不代表你能找到好的工作(但是如果你能出国的话我极力推…

最短路径

拓扑序 有这样一个问题:我们给定一张 \(n\) 个点 \(m\) 条边的有向无环图(DAG),请求出从 \(1\) 号结点出发,到达任意结点的最短路径,保证 \(s\) 可以到达任意结点,\(n,m\leq 10^7\)。我们以下面这张图为例。如果我们想求 \(1 \rightarrow 4\) 的路径, 我们不难发现,找…

强大且免费的抠图网站(强烈安利!)

今天想把下载下来的图片进行抠图上传,找了好久没找到好用的,不是功能单一就是收费( 囊中羞涩 ),猛然间,发现一个神奇的网站,名叫 易可图!!易可图 是一款全方位的免费图片编辑网站,包含抠图、裁剪、拼接、压缩等常用功能,易可图抠图功能只需用户上传照片,就能一…

平行关系转化思维导图

线线、线面、面面平行关系转化思维导图前言 使用方法:如果想得到更好的显示效果,可以点击全屏按钮,已经实现电脑端、手机端的适配,效果很好;电视端没有实现适配,Ipad端的适配没有测试; 思维结构图全屏

adb

Android调试桥接器,简称adb(Android debug bridge)列出所有已连接的设备命令:adb devices运行指定的设备的shell命令:adb -s serialNumber shell从本地主机拷贝文件到远程主机命令:adb -s serialNumber push C:\Users\coolkit\Desktop\新建文件夹\test.txt /data从远程主…

[Java基础复习]注解

一、什么是注解注解是JDK1.5才引入的,Java增加了对元数据(描述数据的数据)的支持,也就是注解。 注解可以标注在类,成员变量,方法、形参上等。 注解可以做到在不改变代码逻辑的前提下在代码中嵌入补充信息。 这些信息被保存在注解的“name=value”键值对中。 框架=反射+注解…