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的更多相关文章
随机推荐
- 一次 kafka 消息堆积问题排查
收到某业务组的小伙伴发来的反馈,具体问题如下: 项目中某 kafka 消息组消费特别慢,有时候在 kafka-manager 控制台看到有些消费者已被踢出消费组. 从服务端日志看到如下信息: 该消费组 ...
- 让你彻底明白TCP三次握手,四次挥手
今天我们来讲一下TCP的三次握手和四次挥手,先来张思维导图. 一.TCP是什么 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流 ...
- Vuex入门实践(上)
一.前言 vuex被称为是专为vue应用程序开发的的状态管理模式.它的作用使用一句话描述就是:让组件之间可以共享数据 话不多少,先抛开概念,我们写一个简单的示例感受一波. 二.项目开发环境 项目开发环 ...
- jenkins +git+ssh 构建 .net项目
jenkins +git+ssh 构建 .net项目 安装jenkins jdk 和插件就不一一介绍了. Multiple SCMs 插件介绍:可以获取多个项目(如果你的项目中有依赖其他项目的) So ...
- Redis入门--1.安装Redis
redis是什么? 是完全开源免费的,用c语言编写的,是一个单线程,高性能的(key/value)内存数据库,基于内存运行并支持持久化的nosql数据库 redis能干嘛? 主要是用来做缓存,但不仅仅 ...
- socket、http、udp、tcp的整理
1.socket简介 游戏开发中最常用的便是socket,socket本质是api,是对tcp/ip的封装.tcp/ip协议族是一个网络通信模型以及一系列网络传输协议,为互联网的基础通信架构. tcp ...
- 原生js中call、apply、bind的区别和相同点
结论: 相同点: 1.都是js原生方法,改变函数中的this指向 2.都可以传递参数,第一个参数为 把this指向到哪里去,即目标元素 不同点: 1.call和apply都是主动触发,绑定后自动执行, ...
- 如何利用Map2Shp进行快速格式转换
有时,用户仅需要进行GIS数据格式的简单转换,对文字注记.制图表达.投影信息无特别要求,可进行快速格式转换.做为MapGIS文件与Shape文件间的格式转换工具,Map2Shp软件操作过程十分简单,只 ...
- C#实现DataTable转为Excel文件
实现DataTable转为Excel文件,和上次分享的Excel文件转为DataTable互为反操作.DataTable转化为Excel文件是通过传入一个DataTable类型的参数,然后将传入的Da ...
- 重拾c++第一天(3):数据处理
1.short至少16位:int至少与short一样长:long至少32位,且至少与int一样长:long long至少64位,且至少与long一样长 2.sizeof 变量 返回变量长度 或者s ...