BZOJ4837 [Lydsy2017年4月月赛]LRU算法
2017-05-15 21:19
531 查看
傻逼题,按题意模拟即可,具体不说了,YY一下即可,不需要什么数据结构
#include<iostream> #include<cstring> #include<ctime> #include<cmath> #include<algorithm> #include<iomanip> #include<cstdlib> #include<cstdio> #include<map> #include<bitset> #include<set> #include<stack> #include<vector> #include<queue> using namespace std; #define MAXN 1000010 #define MAXM 1010 #define ull unsigned long long #define eps 1e-8 #define MOD 1000000007 #define INF 1000000000 int q[MAXN],siz; int hd,tl; ull sum,ans; int n,Q; bool iq[MAXN]; int pos[MAXN]; bool vis[MAXN]; int a[MAXN]; int A,B,p,x; int main(){ int i; int tmp; scanf("%d",&tmp); while(tmp--){ hd=1,tl=0; siz=0; sum=ans=0; memset(pos,0,sizeof(pos)); scanf("%d%d%d%d%d%d",&n,&Q,&x,&A,&B,&p); for(i=1;i<=Q;i++){ if(pos[x]){ vis[pos[x]]=0; }else{ if(siz==n){ while(!vis[hd]){ hd++; } pos[a[hd]]=0; sum-=a[hd]; hd++; }else{ siz++; } sum+=x; } pos[x]=++tl; a[tl]=x; vis[tl]=1; x=((ull)x*A+B)%p; ans+=sum*i; } printf("%llu\n",ans); } return 0; } /* */
相关文章推荐
- BZOJ 4801([Lydsy2017年4月月赛]打牌-分类讨论)
- bzoj 4836: [Lydsy2017年4月月赛]二元运算 -- 分治+FFT
- 【BZOJ4836】[Lydsy2017年4月月赛]二元运算 分治+FFT
- [BZOJ4919][Lydsy六月份月赛 .C][树上DP][启发式合并]大根堆
- 【BZOJ4883】[Lydsy2017年5月月赛]棋盘上的守卫 KM算法
- bzoj5049 [Lydsy2017年5月月赛]导航系统
- 【BZOJ4956】lydsy七月月赛 I 乱搞
- [BZOJ4920][Lydsy六月份月赛 .D][数学][三分]薄饼切割
- bzoj4878: [Lydsy2017年5月月赛]挑战NP-Hard
- bzoj4886 [Lydsy2017年5月月赛]叠塔游戏
- bzoj 4883: [Lydsy2017年5月月赛]棋盘上的守卫 最小生成树
- bzoj4879: [Lydsy2017年5月月赛]失控的数位板
- BZOJ4883 [Lydsy2017年5月月赛]棋盘上的守卫
- [bzoj4883][Lydsy2017年5月月赛]棋盘上的守卫
- BZOJ 4881 [Lydsy2017年5月月赛] 二分图染色+线段树
- BZOJ4881: [Lydsy2017年5月月赛]线段游戏
- BZOJ 4878([Lydsy2017年5月月赛]挑战NP-Hard-染色问题)
- bzoj 4883: [Lydsy2017年5月月赛]棋盘上的守卫
- bzoj 4884 [Lydsy2017年5月月赛]太空猫(简单dp)
- BZOJ 4881: [Lydsy2017年5月月赛]线段游戏