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 ...
随机推荐
- iOS 百度地图获取当前地理位置
// // ViewController.m // BaiDuDemo // // Created by Chocolate. on 15-3-2. // Copyright (c) 2015年 re ...
- iOS 7 计算字符串高度
- (float)width:(NSString *)str font:(UIFont *)font { NSDictionary *attribute = @{NSFontAttributeName ...
- cannot be cast to javax.servletFilter
java.lang.ClassCastException: org.springframework.web.filter.CharacterEncodingFilter cannot be cast ...
- 动态代理:JDK原生动态代理(Java Proxy)和CGLIB动态代理原理+附静态态代理
本文只是对原文的梳理总结,以及自行理解.自己总结的比较简单,而且不深入,不如直接看原文.不过自己梳理一遍更有助于理解. 详细可参考原文:http://www.cnblogs.com/Carpenter ...
- extern的原理很简单,就是告诉编译器:“你现在编译的文件中,有一个标识符虽然没有在本文件中定义,但是它是在别的文件中定义的全局变量,你要放行!”
extern的原理很简单,就是告诉编译器:“你现在编译的文件中,有一个标识符虽然没有在本文件中定义,但是它是在别的文件中定义的全局变量,你要放行!”
- 剑指Offer——用两个栈实现队列
题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 分析: 代码: class Solution { public: void push(int node ...
- python内存泄露查找
1 前言: 1.1 像Java程序一样,虽然Python本身也有垃圾回收的功能,但是同样也会产生内存泄漏的问题 1.2 在Python程序里,内存泄漏是由于一个长期持有的对象不断的往一个dict或者l ...
- centos Docker安装前升级内核3.10的方法
首先我虚拟机系统都是Centos 6.5 .ESXI ,后安装devel .ESXI 后来 .ESXI 我所操作的都是虚拟机,但是在真实机上面如何我就不清楚了~~ 大家一定要记得安装步骤,,,不然就是 ...
- 005-环境安装【docker、fabric】
1.参考地址:https://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html#install-curl 一.前置条件和系统配置 1.安 ...
- mysql的两种常用的引擎
MyISAM引擎特点1.不支持事务(事务是指逻辑上的一组操作,组成这组操作的各个单元,要么全成功,要么全失败)2.表级锁定(数据更新时锁整个表):其锁定机制是表级锁定,这虽然可以让锁定的实现成本很小但 ...