Codeforces Round #276 (Div. 2) 解题报告
题目地址:http://codeforces.com/contest/485
A题.Factory
模拟。判断是否出现循环,如果出现,肯定不可能。
代码:
#include<cstdio>
#include<stdbool.h> using namespace std; int main()
{
int a,m;
int flag[]={}; scanf("%d%d",&a,&m);
while(true) { if(a%m==){
printf("Yes\n");
return ;
}
if(flag[a]==) {
printf("No\n");
return ;
}
flag[a]=;
a=(a+a)%m;
} return ;
}
B题:Valuable Resources
找出横纵坐标的最大最小值,然后求最小面积。
#include<cstdio>
#include<algorithm>
#include<iostream> const int INF=(int)1e9+; using namespace std; int main()
{
int n,x,y,maxx=-INF,maxy=-INF,minx=INF,miny=INF; scanf("%d",&n);
while(n--) {
scanf("%d%d",&x,&y);
maxx=max(maxx,x);
minx=min(minx,x);
maxy=max(maxy,y);
miny=min(miny,y);
} int len;
len=max((maxx-minx),(maxy-miny));
cout<<(long long )len*len<<endl;
return ;
}
C题:Bits
位运算。给定一个区间[L,R],问在本区间内哪个整数的二进制1的数量最多,有多个解输出最小数。
要求二进制的1尽量多,还要求尽量小,运用位运算从低位开始把0变成1。
从左边界开始,从低位向高位按位或(0变成1,1也还是1),直到比R大停止,输出前一个(即比R小的最后一个数)。
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream> #define LL long long using namespace std; int main()
{
int n;
LL l,r,t,p; scanf("%d",&n);
while(n--) {
p=;
cin>>l>>r;
for(int i=;i<;i++) {
t=l|p;
if(t>r) break;
p<<=; l=t;
}
cout<<l<<endl;
} return ;
}
D题:Maximum Value
考虑到可能会出现大量相同的数,所以先排序,去掉相同的数,重新建立数列b[i]。
对于x来说,在k*x~(k+1)*x这段范围内,余数最大的肯定是最接近(k+1)*x的数。枚举每个数的倍数,并不断更新即可。数列有序,可以通过二分查找最接近(k+1)*x的数。
#include<cstdio>
#include<iostream>
#include<algorithm> const int N=2e5+;
using namespace std; int main()
{
int i,j,n,a[N],b[N],p,ans,val; scanf("%d",&n);
for(int i=;i<=n;i++) {
scanf("%d",&a[i]);
} sort(a+,a+n+);
b[p=]=a[];
for(int i=;i<=n;i++) {
if(a[i]!=a[i-]) b[++p]=a[i];
} ans=;
for(int i=;i<p;i++) {
int val=b[i],j=i;
while(j<=p) {
val+=b[i];
j=lower_bound(b+,b+p+,val)-b;
ans=max(ans,b[j-]%b[i]);
} } printf("%d\n",ans);
return ;
}
Codeforces Round #276 (Div. 2) 解题报告的更多相关文章
- Codeforces Round #324 (Div. 2)解题报告
---恢复内容开始--- Codeforces Round #324 (Div. 2) Problem A 题目大意:给二个数n.t,求一个n位数能够被t整除,存在多组解时输出任意一组,不存在时输出“ ...
- Codeforces Round #382 (Div. 2) 解题报告
CF一如既往在深夜举行,我也一如既往在周三上午的C++课上进行了virtual participation.这次div2的题目除了E题都水的一塌糊涂,参赛时的E题最后也没有几个参赛者AC,排名又成为了 ...
- Codeforces Round #380 (Div. 2) 解题报告
第一次全程参加的CF比赛(虽然过了D题之后就开始干别的去了),人生第一次codeforces上分--(或许之前的比赛如果都参加全程也不会那么惨吧),终于回到了specialist的行列,感动~.虽然最 ...
- Codeforces Round #216 (Div. 2)解题报告
又范低级错误! 只做了两题!一道还被HACK了,囧! A:看了很久!应该是到语文题: 代码:#include<iostream> #include<]; ,m2=; ;i ...
- Codeforces Round #281 (Div. 2) 解题报告
题目地址:http://codeforces.com/contest/493 A题 写完后就交了,然后WA了,又读了一遍题,没找出错误后就开始搞B题了,后来回头重做的时候才发现,球员被红牌罚下场后还可 ...
- Codeforces Round #277 (Div. 2) 解题报告
题目地址:http://codeforces.com/contest/486 A题.Calculating Function 奇偶性判断,简单推导公式. #include<cstdio> ...
- Codeforces Round #350 (Div. 2)解题报告
codeforces 670A. Holidays 题目链接: http://codeforces.com/contest/670/problem/A 题意: A. Holidays On the p ...
- Codeforces Round #479 (Div. 3)解题报告
题目链接: http://codeforces.com/contest/977 A. Wrong Subtraction 题意 给定一个数x,求n次操作输出.操作规则:10的倍数则除10,否则减1 直 ...
- Codeforces Round #515 (Div. 3) 解题报告(A~E)
题目链接:http://codeforces.com/contest/1066 1066 A. Vova and Train 题意:Vova想坐火车从1点到L点,在路上v的整数倍的点上分布着灯笼,而在 ...
随机推荐
- Lintcode--006(交叉字符串)
Given three strings: s1, s2, s3, determine whether s3 is formed by the interleaving of s1 and s2. Ex ...
- coredump查原因
1. dmesg |tail -n 1 2. objdump -DCI ./a.out 示例: $ cat a.cpp #include <stdio.h> int main(){ int ...
- Qt浅谈之二十七进程间通信之QtDBus
一.简介 DBus的出现,使得Linux进程间通信更加便捷,不仅可以和用户空间应用程序进行通信,而且还可以和内核的程序进行通信,DBus使得Linux变得更加智能,更加具有交互性. DB ...
- asp.net 管道模型+生命处理周期
http://www.cnblogs.com/qianlifeng/archive/2010/12/16/1908568.html https://msdn.microsoft.com/zh-cn/l ...
- 微软的操作系统中让 32 位支持大于 4GB 的内存。
先给一个参考文献:The RAM reported by the System Properties dialog box and the System Information tool is les ...
- python 执行shell命令
1.os模块中的os.system()这个函数来执行shell命令 1 2 3 >>> os.system('ls') anaconda-ks.cfg install.log i ...
- zabbix如何选择适合的监控类型(107)
zabbix agent zabbix自带的客户端程序(被动模式),zabbix server主动向它收集监控数据.agent提供丰富的key,包括不限于cpu.内存.网络.磁盘.web等等.如果你不 ...
- Windows 8.1下使用IE 64位
Internet Options -> Advanced -> Settings Security组 对Enable 64-bit processes for Enhanced Prote ...
- css中的边框样式
在盒子模型中,盒子的边框是其重要的样式,通过边框我们可以很方便地看出盒子的长宽以及大小.边框的特性可以通过边框线,边框的宽度及颜色来呈现. 1,边框线 边框线指的是边框线条的样式,包括实线,虚线,点划 ...
- 企业生产环境中linux系统分区的几种方案
方案1:针对网站集群架构中的某个节点服务器分区 该服务器上的数据有多份(其他节点也有)且数据不太重要,建议分区方案如下: /boot: 200MB swap: 物理内存的1.5倍,当内存大于或等于8G ...