Codeforces-786C-Till I Collapse(二分剪枝)
来源:互联网 发布:mars java 编辑:程序博客网 时间:2024/05/21 06:46
题目链接:Codeforces-786C-Till I Collapse
经过观察发现答案数组是非严格递减的,那么可以知道如果对于一个区间
明显E比C,D简单,一脸懵逼。
#include<bits/stdc++.h>using namespace std;int c[100007];int vis[100007];int ans[100007];int n;int get_cnt(int k){ int res=0,cnt=0; memset(vis,-1,sizeof(vis)); for(int i=1;i<=n;i++) { if(vis[c[i]]==res) continue; vis[c[i]]=res; cnt++; if(cnt>k) { res++; cnt=1; vis[c[i]]=res; } } return res+1;}void solve(int l,int r){ if(l>r) return ; int cntl=get_cnt(l); int cntr=get_cnt(r); if(cntl==cntr) { for(int i=l;i<=r;i++) ans[i]=cntl; return ; } ans[l]=cntl;ans[r]=cntr; int mid=(l+r)>>1; solve(l+1,mid); solve(mid+1,r-1);}int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&c[i]); solve(1,n); for(int i=1;i<=n;i++) printf("%d ",ans[i]); return 0;}
0 0
- Codeforces-786C-Till I Collapse(二分剪枝)
- Codeforces 786C Till I Collapse[主席树][二分]
- codeforces 786c Till I Collapse
- Codeforces 787E Till I Collapse 主席树+二分
- Codeforces Round #406 (Div. 1) C. Till I Collapse(主席树)
- Codeforces Round #406 (Div. 1) C. Till I Collapse(可持久化线段树)
- Codeforces Round #406 (Div. 2) E. Till I Collapse
- 【题解】codeforces786C Till I Collapse
- Codeforces 71C--剪枝
- codeforces 551C(二分)
- codeforces 535C(二分)
- Keep alive till I die
- Codeforces 366D Dima and Trap Graph(搜索剪枝/二分)
- CodeForces 460C--- Present(二分+贪心)
- CodeForces 371C Hamburgers (二分)
- CodeForces--626C--Block Towers (二分)
- Codeforces--645C--Enduring Exodus(二分)
- CodeForces - 645C Enduring Exodus (二分)
- MTCNN(Multi-task convolutional neural networks)人脸对齐
- Navie Bayes理解
- volatile二三事2---非原子性
- 【Java02】将某路径下所有文件夹名里的空格取消掉
- 对退出app应用的一些理解和方式
- Codeforces-786C-Till I Collapse(二分剪枝)
- 编写代码模拟三次密码输入的场景
- kruskal模板
- 安徽大学第九届大学生程序设计竞赛 网络预选赛 D
- 我理解的Curry化
- 机器学习与数据挖掘之朴素贝叶斯法
- python解决pandas处理缺失值为空字符串
- Java中的泛型总结
- Android-->EventBus 3.0新版使用说明(及其使用方法)