Cookie Choice II ZOJ
来源:互联网 发布:斗鱼主播都用什么软件 编辑:程序博客网 时间:2024/06/05 18:01
**【题目大意】
就是找一个最短连续子序列,使得对于每个i,min[i]<=sum(i)<=max[i]**
这题还有别的写法;这只是别人的一种
注意这个判断合不合法不要又重复判断。。。
一开始逗比了,还打算重复判断那样坑定会超时。。
用个头尾指针更清晰
这里的p就是头指针,i是尾指针。。
int a[N],L[N],R[N];int cnt[N];void solve(){ int p=1; int ans=-1; for(int i=1;i<=n;++i){ int x=a[i]; cnt[x]++; if(cnt[x]==L[x])legal++; if(cnt[x]==R[x]+1){ for(int j=p;;++j){ cnt[a[j]]--; if(cnt[a[j]]==L[a[j]]-1)legal--; if(a[j]==x){ p=j+1;break; } } } for(int j=p;;j++){ if(cnt[a[j]]>L[a[j]])cnt[a[j]]--; else{ p=j;break; } } if(legal==k){ int len=i-p+1; if(ans<0||ans>len)ans=len; } } pf("%d\n",ans);}int main(){ while(~sf("%d%d",&n,&k)){ legal=0; rep(i,1,n)sf("%d",&a[i]); rep(i,1,k){ sf("%d%d",&L[i],&R[i]);if(L[i]<=0&&R[i]>=0)legal++; } solve(); }}
阅读全文
0 0
- Cookie Choice II ZOJ
- zoj 3164 Cookie choice 解题报告
- zoj 3164 Cookie Choice (分组混合背包)
- Cookie Choice+ZOJ+01背包之终级背包
- Zoj 3164 Cookie Choice(多重背包+分组背包,更新队列优化)
- ZOJ Cookie Choice 多重背包 单调队列优化 分组背包 泛化物品求和
- 综合到变态的背包问题]ZOJ 3164 Cookie Choice
- zoj - 3037 - Ladies' Choice(稳定婚姻)
- CHOICE
- Choice
- choice
- ZOJ 3718 Diablo II
- ZOJ 1918 Ferry Loading II
- ZOJ 3336 Friend Number II
- ZOJ 3332 Strange Country II
- zoj 1838 Crypt Kicker II
- ZOJ 3627 Treasure Hunt II
- ZOJ 3627 Treasure Hunt II
- DeepLearning_SparseAutoencoder
- selenium 小结
- 1017
- ArrayList
- hdu 4055 Number String【递推】
- Cookie Choice II ZOJ
- java子父类继承时方法重写与属性覆盖
- Java/Android 设计模式系列(12)--组合模式
- C#-WinForm班级下拉框数据绑定
- Html(快捷键!+Tab)
- java定位选择店铺
- UVA11082MatrixDecompressing
- 半年总结-择善而从
- form表单提交数据编码方式和tomcat接受数据解码方式的思考