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的整数倍的点上分布着灯笼,而在 ...
随机推荐
- Android之ExpandableListView的属性(Group不展开)
1. 设置ExpandableListView 默认是展开的: 先实例化exListView 然后 exListView.setAdapter(exlvAdapter); //遍历所有group,将 ...
- linux内存管理--伙伴系统和内存分配器
3.1页框的管理 所有的页框描述符都存放在mem_map数组中. 3.1.1page数据结构 struct page { page_flags_t flags; //标志 atomic_t _coun ...
- 一个session已经ACTIVE20多小时,等待事件SQL*Net more data from client
问题描述: 一个session已经ACTIVE20多小时,等待事件SQL*Net more data from client 有一人session,从昨天上午11点多登陆(v$session.logi ...
- 关于<ul><ol><li>的用法
<ul>:无序列表 <ol>:有序列表 <li>:行. 想要去掉前面的序号和点可以在<ol>或<ul>style中用list-style: ...
- 第28讲 UI组件之 ListView和ArrayAdapter
第28讲 UI组件之 ListView和ArrayAdapter 1. Adapter 适配器 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的 ...
- 关于C#中的弱引用
本文前部分来自:http://www.cnblogs.com/mokey/archive/2011/11/24/2261605.html 分割线后为作者补充部分. 一:什么是弱引用 了解弱引用之前,先 ...
- Java反射举例
本文參考:http://www.cnblogs.com/yydcdut/p/3845430.html 1.Java反射的基本介绍 Java的反射很强大,传递class. 能够动态的生成该类.取得这个类 ...
- 算法导论——lec 11 动态规划及应用
和分治法一样,动态规划也是通过组合子问题的解而解决整个问题的.分治法是指将问题划分为一个一个独立的子问题,递归地求解各个子问题然后合并子问题的解而得到原问题的解.与此不同,动态规划适用于子问题不是相互 ...
- C++类的继承实例
首先由三个类分别为DateType(日期类).TimeType(时间类).DateTimeType(日期时间内).详细代码例如以下: #include <iostream> using n ...
- grub2手动引导ubuntu
測试机OS为ubuntu 14.04.1 LTS x86_64 磁盘分区情况为: Filesystem 1K-blocks Used Available Use% Mounted on ...