codeforces833B The Bakery -- DP + 线段树
来源:互联网 发布:大作家软件好用吗 编辑:程序博客网 时间:2024/05/22 08:12
考虑
其中
但这样是
先枚举
时间复杂度
代码:
#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;#define N 35010#define ll long longll c[N<<2],p[N<<2],f[2][N];int i,j,k,n,m,P[N],l[N],x;bool b;inline ll Max(ll x,ll y){ return x<y?y:x;}inline void Up(int x){ c[x]=Max(c[x<<1],c[x<<1|1]);}inline void Down(int x){ c[x<<1]+=p[x];c[x<<1|1]+=p[x]; p[x<<1]+=p[x];p[x<<1|1]+=p[x]; p[x]=0;}inline void Update1(int x,int l,int r,int y,int z){ if(l==r){ c[x]+=z; return; } if(p[x])Down(x); int Mid=l+r>>1; if(y<=Mid)Update1(x<<1,l,Mid,y,z);else Update1(x<<1|1,Mid+1,r,y,z); Up(x);}inline void Update(int x,int l,int r,int L,int R){ if(l>R||r<L)return; if(l>=L&&r<=R){ c[x]++;p[x]++; return; } if(p[x])Down(x); int Mid=l+r>>1; Update(x<<1,l,Mid,L,R); Update(x<<1|1,Mid+1,r,L,R); Up(x);}int main(){ scanf("%d%d",&n,&k); for(i=1;i<=n;i++)scanf("%d",&x),P[i]=l[x],l[x]=i; for(i=1;i<=k;i++,b^=1){ memset(c,0,sizeof(c)); memset(p,0,sizeof(p)); for(j=1;j<=n;j++){ Update(1,0,n,P[j],j-1); Update1(1,0,n,j,f[b^1][j]); f[b][j]=c[1]; } } printf("%I64d\n",f[b^1][n]); return 0;}
阅读全文
2 0
- codeforces833B The Bakery -- DP + 线段树
- Codeforces 834D The Bakery DP(线段树维护)
- CodeForces 833 B.The Bakery(dp+线段树)
- Codeforces Round #426 (Div. 2) The Bakery 线段树+dp
- CF 833B The Bakery(dp+线段树)
- Codeforces 834D The Bakery 线段树优化DP
- Codeforces-834D The Bakery(线段树+dp)
- Codeforces 834D The Bakery(dp+线段树)
- Codeforces 834D The Bakery【Dp+线段树】好题~
- codeforces 833B. The Bakery(dp+线段树)
- Codeforces-834D The Bakery 线段树优化DP
- Codeforces 834D The Bakery【dp+线段树】
- Codeforces 834D The Bakery【Dp+线段树】
- CodeForces 833B The Bakery(dp+线段树优化)
- Codeforces Round #426 (Div. 2) D. The Bakery(DP+线段树) 好题
- Codeforces Round #426 (Div. 2) D. The Bakery(DP+线段树)
- Codeforces Round #426 (Div. 2)-The Bakery(线段树+DP)
- Codeforces Round #426 (Div. 1) B. The Bakery (DP + 线段树)
- 184. Department Highest Salary
- 算法题目---第一个只出现一次的字符
- 02:不吉利日期
- Iterator的remove方法的使用
- 国内航空公司班机体验
- codeforces833B The Bakery -- DP + 线段树
- 泛型
- 如何理解JavaScript中的作用域
- 主席树模板
- listvew<三> 实现item内部控件的点击事件
- 中国有一款超越HEVC的标准——AVS2标准简介
- Spring java项目环境搭建
- vscode 设置tab转空格并设置数量
- [Muduo网络库源码分析] (1) base/Atomic.h_原子操作与原子整数