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的整数倍的点上分布着灯笼,而在 ...
随机推荐
- 设置ListView每条数据之间的间隔
1:如果不需要分割线可以在xml布局文件中ListView下设置XML属性: android:divider="#00000000" android:dividerHeight=& ...
- Qt浅谈之二十七进程间通信之QtDBus
一.简介 DBus的出现,使得Linux进程间通信更加便捷,不仅可以和用户空间应用程序进行通信,而且还可以和内核的程序进行通信,DBus使得Linux变得更加智能,更加具有交互性. DB ...
- 2015第24周二Spring事务2
今天继续深入学习SPring事务,发现网上很多文章都是很相似的转载没多少价值,就觉得更有必要把这个主题深入下去,先是摘录那些对自己有用的观点,后期再结合源码进行全面的整理. Spring提供了许多内置 ...
- Linux系统下C++开发工具-远程终端软件使用
通过前面安装Linux系统介绍,紧接着进入搭建Linux开发环境的第二步,选择C++开发工具,以及必要的客户端软件.从而完整的搭建一个Linux下C++开发的环境,便于初学者在该环境下能够很好的学习. ...
- bzoj1786
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1786 刚看上去觉得挺吓人的...... 冥冥之中我的内心深处告诉我填进去的数一定是非严格递增的 ...
- JFrame画图基础和事件监听
消息框 JOptionPane.showMessageDialog(mine.this, "删除不成功!"); 画图 class MyJPanel extends JPanel / ...
- StoryBoard 加入一个自定义View
1. 建一个 UIView的子类(MyView.h/MyView.m) 2. 建一个 View类型的XIB 3. 把xib的file‘s owner设为MyView 4. 在.h文件里加上 @prop ...
- Ruby中,类方法和实例方法的一个有趣的例子
最初的代码如下: class Object def abc p "instance abc" end def self.abc p "class abc" en ...
- 仿糯米弹框效果demo
代码例如以下: <!doctype html> <html lang="en"> <head> <meta charset="U ...
- Laravel Eloquent ORM
Eloquent ORM 简介 基本用法 集体赋值 插入.更新.删除 软删除 时间戳 查询范围 关系 查询关系 预先加载 插入相关模型 触发父模型时间戳 与数据透视表工作 集合 访问器和调整器 日期调 ...