题目地址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) 解题报告的更多相关文章

  1. Codeforces Round #324 (Div. 2)解题报告

    ---恢复内容开始--- Codeforces Round #324 (Div. 2) Problem A 题目大意:给二个数n.t,求一个n位数能够被t整除,存在多组解时输出任意一组,不存在时输出“ ...

  2. Codeforces Round #382 (Div. 2) 解题报告

    CF一如既往在深夜举行,我也一如既往在周三上午的C++课上进行了virtual participation.这次div2的题目除了E题都水的一塌糊涂,参赛时的E题最后也没有几个参赛者AC,排名又成为了 ...

  3. Codeforces Round #380 (Div. 2) 解题报告

    第一次全程参加的CF比赛(虽然过了D题之后就开始干别的去了),人生第一次codeforces上分--(或许之前的比赛如果都参加全程也不会那么惨吧),终于回到了specialist的行列,感动~.虽然最 ...

  4. Codeforces Round #216 (Div. 2)解题报告

    又范低级错误! 只做了两题!一道还被HACK了,囧! A:看了很久!应该是到语文题: 代码:#include<iostream> #include<];    ,m2=;    ;i ...

  5. Codeforces Round #281 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/493 A题 写完后就交了,然后WA了,又读了一遍题,没找出错误后就开始搞B题了,后来回头重做的时候才发现,球员被红牌罚下场后还可 ...

  6. Codeforces Round #277 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/486 A题.Calculating Function 奇偶性判断,简单推导公式. #include<cstdio> ...

  7. Codeforces Round #350 (Div. 2)解题报告

    codeforces 670A. Holidays 题目链接: http://codeforces.com/contest/670/problem/A 题意: A. Holidays On the p ...

  8. Codeforces Round #479 (Div. 3)解题报告

    题目链接: http://codeforces.com/contest/977 A. Wrong Subtraction 题意 给定一个数x,求n次操作输出.操作规则:10的倍数则除10,否则减1 直 ...

  9. Codeforces Round #515 (Div. 3) 解题报告(A~E)

    题目链接:http://codeforces.com/contest/1066 1066 A. Vova and Train 题意:Vova想坐火车从1点到L点,在路上v的整数倍的点上分布着灯笼,而在 ...

随机推荐

  1. 《VIM-Adventures攻略》前言

    本文已转至http://cn.abnerchou.me/2014/03/02/bfdaadb0/ 自从有了计算机,人们就想向其灌输自己的想法. 要想对其输入,自然离不开文本编辑器. 公告:<VI ...

  2. CentOs6.5中安装和配置vsftp简明

    这篇文章主要介绍了CentOs6.5中安装和配置vsftp简明教程,需要的朋友可以参考下     一.vsftp安装篇 复制代码代码如下: # 安装vsftpdyum -y install vsftp ...

  3. BZOJ1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚

    1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 414  Solved: ...

  4. js如何判断字符串是否进行过window.btoa()转码

    window.btoa()是基于Base64算法的.window.btoa()只能将ASCII字符进行转码 因此我们需要了解Base64的原理及主要特征:Base64的原理在这里就不多说了,网上很多讲 ...

  5. 转:Excel转换XML工具<一>

    http://blog.csdn.net/candle806/article/details/7441695最近在整理测试用例,所以想找一个合适的工具来完成对测试需求.测试用例的管理.对比了一翻,发现 ...

  6. wex5添加视频播放

    我使用的播放器是ckplayer http://www.ckplayer.com/ ckplayer存放路,项目路径下: 方法一: 在monitor.w里加一个div标签 <div id=&qu ...

  7. [转] ubuntu 一些常用软件的安装

    首先说明一下 ubuntu 的软件安装大概有几种方式: 1. deb 包的安装方式deb 是 debian 系 Linux 的包管理方式, ubuntu 是属于 debian 系的 Linux 发行版 ...

  8. compass安装

    修改ruby软件包的sources 国外服务器不给力,经常链接失败,换成国内淘宝的:https://ruby.taobao.org/ 先移除本有的sources gem sources --remov ...

  9. 使用CMD连接SQL Server

      在CMD中操作数据库,界面不美观,而且排版不整齐,但在机器上没有安装SQLSERVER的时候,也是极其方便的.   在命令行中输入 OSQL ?可以获得所有帮助信息   osql -S 数据库服务 ...

  10. 安卓状态栏通知Status Bar Notification

    安卓系统通知用户三种方式: 1.Toast Notification 2.Dialog Notification 3.Status Bar Notification Status Bar Notifi ...