Codeforces Round #448 (Div. 2) B
题目描述有点小坑,ij其实是没有先后的 并且y并不一定存在于a中 判断y的个数和所给数组无关 对于2 - 7来说 中间满足%2==0的y一共有3个 2 4 6 这样
可以看出对于每个数字a 都能够二分出来一个范围resl resr 这个范围内的数字到a 之间一共有k个x的倍数
然后就是查找一下a数组中有多少数字在resl和resr中间 也是二分寻找
L n,ds,num;
L a[100050] ;
L fin(L l,L r,L ds) {
L num1=r/ds;
L num2=l/ds;
L nu = num1-num2;
if(l%ds==0)nu++;
return nu;
}
L low(L x) {
L l=1,r=n;L res=-1;
while(l<=r){
L mid=(l+r)/2;
if(a[mid] >= x){
res=mid;r=mid-1;
} else l = mid + 1 ;
}
return res ;
}
L upp(L x){
L l=1,r=n;L res=-1;
while(l<=r){
L mid=(l+r)/2;
if(a[mid] <= x){
res=mid;l=mid+1;
} else r=mid-1 ;
}
return res ;
}
L check(L ql,L qr) {
L l = low(ql);
L r = upp(qr);
if(l==-1||r==-1) return 0 ;
if(l>r) return 0 ;
return r-l+1;
}
int main () {
while(scanf("%lld%lld%lld" , &n,&ds,&num) != EOF) {
rep(i,1,n) a[i] = read() ;
sort(a+1,a+1+n) ;
L ans = 0 ;
rep(i,1,n) {
L x = a[i] ;
L l=x,r=1e18 ;
L resl=-1,resr=-1;
while(l<=r){
L mid=(l+r)/2;
L nu = fin(x,mid,ds) ;
if(nu == num) {
resl=mid;
r=mid-1;
}
else if(nu < num) {
l=mid+1;
}
else {
r=mid-1;
}
}
l=x,r=1e18 ;
while(l<=r){
L mid=(l+r)/2;
L nu = fin(x,mid,ds) ;
if(nu == num) {
resr=mid;
l=mid+1;
}
else if(nu < num) {
l=mid+1;
}
else {
r=mid-1;
}
}
if(resl==-1||resr==-1) continue ;
L z = check(resl,resr) ;
ans += z ;
}
cout << ans << endl ;
}
}
因为室友天天晚上唱歌打牌到一两点。。第二天又要早起去训练赛或者上课。。
然后这两天都很困。。题看不下去。。头晕晕
还记得南宁网络赛之前一夜未眠,很困而又睡不着,到了比赛的时候却一点都感觉不到
就像在网吧连续通宵好几天的人,他们其实应该也是很困的,然而等到游戏开始,就一点也感觉不到了
但是对于身体的消耗是仍然存在的,连续几天的脑力消耗还是很累的
还是要好好调整一下啊。。
Codeforces Round #448 (Div. 2) B的更多相关文章
- Codeforces Round #448(Div.2) Editorial ABC
被B的0的情况从头卡到尾.导致没看C,心情炸裂又掉分了. A. Pizza Separation time limit per test 1 second memory limit per test ...
- Codeforces Round #448 (Div. 2)C. Square Subsets
可以用状压dp,也可以用线型基,但是状压dp没看台懂... 线型基的重要性质 性质一:最高位1的位置互不相同 性质二:任意一个可以用这些向量组合出的向量x,组合方式唯一 性质三:线性基的任意一个子集异 ...
- Codeforces Round #448 (Div. 2) B. XK Segments【二分搜索/排序/查找合法的数在哪些不同区间的区间数目】
B. XK Segments time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- Codeforces Round #448 (Div. 2) A. Pizza Separation【前缀和/枚举/将圆(披萨)分为连续的两块使其差最小】
A. Pizza Separation time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
随机推荐
- 邮件发送模型及其Python应用实例
SMTP(Simple Mail Transfer Protocol) 制定: First:RFC 788 in 1981 Last:RFC 5321 in 2008 端口: TCP 25(SMTP) ...
- 【BZOJ4388】JOI2012 invitation 堆+线段树+并查集(模拟Prim)
[BZOJ4388]JOI2012 invitation Description 澳洲猴举办了一场宴会,他想要邀请A个男生和B个女生参加,这A个男生从1到A编号,女生也从1到B编号.现在澳洲猴知道n组 ...
- ubuntu16.04搭建jdk1.8运行环境
搭建环境:Ubuntu 16.04 ×64 JDK :jdk-8u171-linux-x64.tar.gz 首先下载linux对应的安装包下载地址:http://www.oracle.com/tech ...
- vitess数据中心迁移步骤
在使用vitess的时候我们会遇到刚开始所有的元数据都在同一个ETCD集群中,后续随着业务的增长需要进行数据中心拆分: 分别拆分成多个Local集群的数据中心: 以下就简单说明下迁移步骤: 迁移拓扑图 ...
- mongoDB-----针对某个或多个文档只需要部分更新可使用原子的更新修改器
update() db.collection.update( <query>, <update>, { upsert: <boolean>, multi: < ...
- 三、直播整体流程 五、搭建Nginx+Rtmp直播流服务
HTML5实现视频直播功能思路详解_html5教程技巧_脚本之家 https://m.jb51.net/html5/587215.html 三.直播整体流程 直播整体流程大致可分为: 视频采集端:可以 ...
- Vulnerabilities by Type
w http://hackergossips.com/cross-site-scriptingxss-and-preventing/
- Python菜鸟之路:Django 缓存
Django中提供了6种缓存方式: 开发调试 内存 文件 数据库 Memcache缓存(python-memcached模块) Memcache缓存(pylibmc模块) 1. 开发调试 # 此为开始 ...
- 关于this,作用域,属性,原型链的一个小练习
function p () { this.name = 'x'; var name = 'y'; this.getName = function () { return name; } } // 求值 ...
- 名义人均GDP的背后,中国真实的人均GDP是1.2万美元!(中国GDP含金量较高)
来源:天涯社区 根据IMF(国际货币基金组织)在今年4月的报告,2014年份中国人均GDP为7600美元,在185个国家当中排行第78位. 然而,根据楼主在国外行走多年的经验,巴西.墨西哥.马来西亚. ...