Codeforces_842
A.枚举一个区间,判断是否有数符合。
#include<bits/stdc++.h>
using namespace std; long long l,r,x,y,k; int main()
{
ios::sync_with_stdio();
cin >> l >> r >> x >> y >> k;
for(int i = x;i <= y;i++)
{
if(l <= i*k && i*k <= r)
{
cout << "YES" << endl;
return ;
}
}
cout << "NO" << endl;
return ;
}
B.判断两个边界。
#include<bits/stdc++.h>
using namespace std; int r,d,n; int main()
{
ios::sync_with_stdio();
cin >> r >> d >> n;
int ans = ;
for(int i = ;i <= n;i++)
{
double x,y,rr;
cin >> x >> y >> rr;
double dis = sqrt(x*x+y*y);
if(dis-rr > r-d-1e- && dis+rr < r+1e-) ans++;
}
cout << ans << endl;
return ;
}
C.暴力判断每种gcd,set去重后实际的数量很少。
#include<bits/stdc++.h>
using namespace std; int n,a[],ans[] = {};
vector<int> v[];
set<int> s[]; void dfs(int now,int pre)
{
for(int t : s[pre]) s[now].insert(__gcd(t,a[now]));
a[now] = __gcd(a[pre],a[now]);
s[now].insert(a[pre]);
for(int t : s[now]) ans[now] = max(ans[now],t);
for(int t : v[now])
{
if(t == pre) continue;
dfs(t,now);
}
} int main()
{
ios::sync_with_stdio();
cin >> n;
for(int i = ;i <= n;i++) cin >> a[i];
for(int i = ;i < n;i++)
{
int x,y;
cin >> x >> y;
v[x].push_back(y);
v[y].push_back(x);
}
a[] = ;
s[].insert();
dfs(,);
for(int i = ;i <= n;i++) cout << ans[i] << " ";
cout << endl;
return ;
}
D.前缀和,二分判断每一位,还要记录位置改变状态。
#include<bits/stdc++.h>
using namespace std; int n,m,cnt[] = {}; int main()
{
ios::sync_with_stdio();
cin >> n >> m;
for(int i = ;i <= n;i++)
{
int x;
cin >> x;
cnt[x] = ;
}
for(int i = ;i <= ;i++) cnt[i] += cnt[i-];
int t = ;
while(m--)
{
int z;
cin >> z;
t ^= z;
int l = ,r = (<<)-;
for(int i = ;i >= ;i--)
{
int tt = t&(<<i),mid = (l+r)/;
if(tt)
{
if(cnt[r]-cnt[mid] < r-mid) l = mid+;
else r = mid;
}
else
{
if(cnt[mid]-(l?cnt[l-]:) < mid-l+) r = mid;
else l = mid+;
}
}
cout << (l^t) << endl;
}
return ;
}
Codeforces_842的更多相关文章
随机推荐
- vue 2.0以上怎么在手机中运行自己的项目
第一步 打开vue项目 第二步 打开项目config/index.js文件,然后找到 module.exports 配置里面的 dev 配置,修改字段host:0.0.0.0 第三步 打开cmd输入i ...
- K8s生产架构
部分图片显示问题,特附上有道云笔记中的链接:http://note.youdao.com/noteshare?id=df78492d2c25383975c67f3eadf0bbd9&sub=4 ...
- Spark学习笔记(一)——基础概述
本篇笔记主要说一下Spark到底是个什么东西,了解一下它的基本组成部分,了解一下基本的概念,为之后的学习做铺垫.过于细节的东西并不深究.在实际的操作过程中,才能够更加深刻的理解其内涵. 1.什么是Sp ...
- AcWing 251. 小Z的袜子| 分块+莫队
传送门 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿. 终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命. 具体来说,小Z把这N只袜子从 ...
- ACM北大暑期课培训第六天
今天讲了DFA,最小生成树以及最短路 DFA(接着昨天讲) 如何高效的构造前缀指针: 步骤为:根据深度一一求出每一个节点的前缀指针.对于当前节点,设他的父节点与他的边上的字符为Ch,如果他的父节点的前 ...
- Linux磁盘管理之LVM逻辑卷快照
一.快照的工作原理 所谓快照就是将当时的系统数据记录下来,在未来若有数据变动,则会将变更前的数据放入快照区进行保存.我们可理解为快照就是给系统拍了一张照片,记录当时系统在拍快照的状态.只不过现实生活中 ...
- 深入理解协程(二):yield from实现异步协程
原创不易,转载请联系作者 深入理解协程分为三部分进行讲解: 协程的引入 yield from实现异步协程 async/await实现异步协程 本篇为深入理解协程系列文章的第二篇. yield from ...
- UGUI之MaskableGraphic
MaskableGraphic继承自Graphic,并且继承了IClippable, IMaskable, IMaterialModifier三个接口.它是RawImage.Image和Text的父类 ...
- 低秩稀疏矩阵恢复|ADM(IALM)算法
一曲新词酒一杯,去年天气旧亭台.夕阳西下几时回? 无可奈何花落去,似曾相识燕归来.小园香径独徘徊. ---<浣溪沙·一曲新词酒一杯>--晏殊 更多精彩内容请关注微信公众号 "优化 ...
- SEATA 分布式事务入门DEMO
Simple Extensible Autonomous Transacation Architecture,seata是简单的.可扩展.自主性高的分布式架构 SEATA Server Configu ...