滑动窗口,预处理(Shuffle,uva 12174)
来源:互联网 发布:sql distinct 数量 编辑:程序博客网 时间:2024/06/03 15:56
想要快速查询,可以考虑先预处理。
经典滑动窗口。
自己的debug能力太弱了,基本靠对拍,这样吃枣药丸。
多总结下debug技巧,这能力真的很重要的。
#include<bits/stdc++.h>#define maxn 100010using namespace std;int a[maxn];int tong[maxn<<1];int cnt[maxn];int CNT;int s,n;int main(){ //freopen("data.txt","r",stdin); //freopen("wrong.txt","w",stdout); int T; scanf("%d",&T); while(T--) { memset(tong,0,sizeof(tong)); memset(cnt,0,sizeof(cnt)); CNT=0; scanf("%d %d",&s,&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1-s;i<=n;i++) { if(CNT==0) tong[i+s]=false; else tong[i+s]=true; if(i>=1&&i<=n) { cnt[a[i]]--; if(cnt[a[i]]==1) CNT--; } int k=i+s; if(k>=1&&k<=n) { cnt[a[k]]++; if(cnt[a[k]]==2) CNT++; } } int ans=0; for(int i=1-s;i<=0;i++) { bool ok=true; int k=i; while(k<=n) { if(k>=1-s&&tong[k+s]) { ok=false; break; } k+=s; } if(ok) ans++; } printf("%d\n",ans); } return 0;}
0 0
- 滑动窗口,预处理(Shuffle,uva 12174)
- UVa 12174 - Shuffle(滑动窗口)
- UVa 12174:Shuffle(滑动窗口)
- UVA - 12174 Shuffle 滑动窗口
- UVA - 12174 Shuffle 滑动窗口的应用。
- UVA 12174 - Shuffle(技巧枚举+预处理)
- uva 12174 - Shuffle(预处理+暴力)
- 【高效算法设计——滑动窗口】 UVa 12174 Shuffle
- [较难] UVa OJ 12174 Shuffle 滑动窗口
- UVA 12171 Shuffle的播放记录(滑动窗口)
- UVA 12174 播放器,滑动窗口
- Uva12174 Shuffle (滑动窗口+技巧记录暴力)
- UVa 11572(滑动窗口+set)
- UVA-11572Unique Snowflakes(滑动窗口)
- UVA 11572 Unique Snowflakes (滑动窗口)
- UVa 12174 - Shuffle
- Uva - 12174 - Shuffle
- UVa OJ 12174 - Shuffle
- Razor视图引擎
- 信息论中的熵
- 正整数分解为n个连续正整数
- 反序列化
- C# 继承
- 滑动窗口,预处理(Shuffle,uva 12174)
- 修改Eclipse的最大行宽
- 防sql注入
- 网易运维开发岗笔试题目
- 自动化测试框架设计
- poj1195——Mobile phones(二维树状数组)
- sql语句 (上 基础)
- SpringMVC的相关的信息
- 删除链表中重复的结点