51nod 1495 中国好区间【2-pointers】
来源:互联网 发布:填色软件 编辑:程序博客网 时间:2024/05/22 07:01
Description
阿尔法在玩一个游戏,阿尔法给出了一个长度为n的序列,他认为,一段好的区间,它的长度是>=k的,且该区间的第k大的那个数,一定大于等于T。那么问题来了,阿尔法想知道有多少好的区间。
由于阿尔法的序列长度实在是太大了,无法在规定时间内读入。
他想了一个绝妙的方法。
读入a[0],b,c,p,则a[i]=(a[i-1]*b+c)mod p。
样例解释:
a1~a5分别为47,135,247,35,147
对应的7个区间分别为[1,3],[2,3],[1,4],[2,4],[1,5],[2,5],[3,5]
对于重复的数字1,2,2 第一大是2,第二大也是2,第三大是1。
题解
只要一个区间中大于等于
代码
#include<cstdio>#include<cstring>#include<algorithm>#define maxn 10000006#define LL long longusing namespace std;int k,T,n,b,c,p;LL ans,a[maxn];int main(){ freopen("china.in","r",stdin); freopen("china.out","w",stdout); scanf("%d%d%d%d%d%d%d",&n,&k,&T,&a[0],&b,&c,&p); for(int i=1;i<=n;i++)a[i]=(a[i-1]*b+c)%p; int num=a[1]>=T,r=1; for(int i=1;i<=n;i++){ while(r<n&&num<k)num+=a[++r]>=T; if(num>=k)ans+=n-r+1; num-=a[i]>=T; } printf("%lld\n",ans); return 0;}
阅读全文
0 0
- 51nod 1495 中国好区间【2-pointers】
- 51nod 1495:中国好区间
- 51nod 1495 中国好区间
- 51nod 1495 中国好区间
- 51nod 1495 中国好区间
- 51Nod-1495-中国好区间
- 51nod 1495中国好区间 && qduoj78 阿尔法狗的难题 (尺取法)
- 51nod 1495 中国好区间 详细题解(尺取+前缀和)
- 【二分+Two Pointers】51Nod 1686 第K大区间
- 51nod1495 中国好区间
- 51 nod 1495 中国好区间 奇葩卡时间题 700ms 卡O(n-log(n)), 思路:O(n)尺取法
- 51 nod 1495 中国好区间 奇葩卡时间题 700ms 卡O(n-log(n)), 思路:O(n)尺取法
- 51 nod 1495 中国好区间 奇葩卡时间题 700ms 卡O(n*log(n)), 思路:O(n)尺取法
- 51nod1495 中国好区间 思维
- 51NOD1495 中国好区间 【尺取法】
- 【bzoj1495】中国好区间
- 51nod 1686 第K大区间 二分好题
- 好数 51Nod
- 三星宣布10nm工艺量产,台积电和英特尔还在追赶的路上
- 2016 云栖大会 | 阿里云唐洪:飞天,向世界要一个答案
- HDOJ3101 LA4226 The Heart of the Country 简单模拟
- android 图片加载库 Glide 的使用过程中出现的问题
- 10.21 连通块 2415
- 51nod 1495 中国好区间【2-pointers】
- 边双联通分量小结+模板
- 取代液晶电视,客厅大屏新霸主,坚果S1激光电视
- OPPO R9s将采用全新微缝天线设计,已开启预约
- 2016 双创周 | 一叶知秋,医疗创业都有哪些新趋势?
- FLYPRO飞豹无人机推出全球无人机比赛双倍奖金计划
- 坚果P2荣获中国制造之美奖 一改中国制造廉价低质成见
- bzoj 5071: [Lydsy十月月赛]小A的数字 乱搞
- UVa10806