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的更多相关文章

随机推荐

  1. Good Bye 2019(前五题题解)

    这套也是后来补得. 我太菜了,第三题就卡着了.想了好久才做出来,要是参加了绝对掉分. D题是人生中做完的第一道交互题,不容易. 比赛传送门 A.Card Game 题目大意:一共有n张互不相同的牌,玩 ...

  2. 设置本地上网IP

    在局域网中,我们经常需要根据网络连接环境来对本地连接的IP地址进行手动设置,那么如何对IP地址进行设置呢?下面小编就把教程介绍给大家. 1. 右击桌面“网上邻居”->选择“属性”,打开“网络共享 ...

  3. java序列化(一)

    今天我们来探讨一下java的序列化与反序列化.之前对此一直有概念,但是并没有真正的去测试.大家都知道,所谓的序列化就是把java代码读取到一个文件中,反序列化就是从文件中读取出对象.在网络传输过程中, ...

  4. hutool BigExcelWriter 下的autoSizeColumnAll异常问题

    autoSizeColumnAll java.lang.IllegalStateException: Could not auto-size column. Make sure the column ...

  5. 你真的看懂Android事件分发了吗?

    引子 Android事件分发其实是老生常谈了,但是说实话,我觉得很多人都只是懂其大概,模棱两可.本文的目的就是再次从源码层次梳理一下,重点放在ViewGroup的dispatchTouchEvent方 ...

  6. lucene&tantivy对比

    写入对比每个路径下都只能有一个IndexWriter负责写入,通过writer.lock实现.不同:lucene可以多个线程共享一个IndexWriter,每个线程负责写一个segment,从addD ...

  7. 【转】Twitter算法面试题详解(Java实现)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://androidguy.blog.51cto.com/974126/1319659 ...

  8. Date类与日期格式

    Date类概述: 表示特定的瞬间,精确到毫秒. Date()分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒).Date(long date)分配 Date 对象并初始化此对象,以表 ...

  9. YOLOv3 K-means获取anchors大小

    YOLOv1和YOLOv2简单看了一下,详细看了看YOLOv3,刚看的时候是蒙圈的,经过一番研究,分步记录一下几个关键的点: v2和v3中加入了anchors和Faster rcnn有一定区别,这个a ...

  10. python 生成器 yield语句

    生成器就是一个返回迭代器(iterator)的函数. 包含了 yield 的函数,就是一个生成器. 生成器每使用yield语句产生一个值,函数就会被冻结(暂停执行),被唤醒后(即再次调用)接着上次执行 ...