JZOJ 5408 【NOIP2017提高A组集训10.21】Dark
来源:互联网 发布:foxit editor mac 编辑:程序博客网 时间:2024/06/06 19:03
Dark
Description
一个长度为
问最少的操作次数。
Data Constraint
Solution
我们记状态
发现这样子转移到的状态只与当前状态有关,再维护一个后缀最值转移即可。
方程转移式很容易推,实在不懂可以看看标程。
Code
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#define fo(i,j,l) for(int i=j;i<=l;i++)#define fd(i,j,l) for(int i=j;i>=l;i--)using namespace std;typedef long long ll;const ll N=11e4,M=11e5;int f[2][M][2],a[N],q[N],g[M];int n,m,j,k,l,i;void read(int &o){ o=0; char ch=' '; for(;ch<'0'||ch>'9';)ch=getchar(); for(;ch>='0'&&ch<='9';ch=getchar())o=o*10+ch-48;}int min(int a,int b){if(a<b)return a;else return b;}int max(int a,int b){if(a>b)return a;else return b;}int main(){ cin>>n; fo(i,1,n)read(a[i]),q[i]=q[i-1]+a[i]; int u=0,v; fo(i,1,n) { v=1-u; fo(l,0,a[i])f[v][l][0]=f[v][l][1]=2*q[n]; g[a[i-1]+1]=q[i-1]/2+2; fd(l,a[i-1],0)g[l]=min(g[l+1],f[u][l][0]); fo(l,max(0,a[i]-a[i-1]+1),a[i]) f[v][l][1]=g[a[i]-l+1]+a[i]-l; fo(l,0,min(a[i-1],a[i])) f[v][a[i]-l][0]=min(min(f[u][l][0],f[u][l][1])+l,f[v][a[i]-l][0]); u=v; } int ans=q[n]/2; fo(i,0,a[n])ans=min(ans,f[u][i][0]); ans=min(ans,f[u][0][1]); printf("%d",ans);}
阅读全文
1 0
- JZOJ 5408 【NOIP2017提高A组集训10.21】Dark
- JZOJ 5408. 【NOIP2017提高A组集训10.21】Dark
- 【NOIP2017提高A组集训10.21】Dark
- 【NOIP2017提高A组集训10.21】Dark
- JZOJ5408. 【NOIP2017提高A组集训10.21】Dark DP
- 【JZOJ5408】【NOIP2017提高A组集训10.21】Dark
- JZOJ 5407. 【NOIP2017提高A组集训10.21】Deep
- 【JZOJ 5409】【NOIP2017提高A组集训10.21】Fantasy
- JZOJ 5407. 【NOIP2017提高A组集训10.21】Deep
- JZOJ 5409 【NOIP2017提高A组集训10.21】Fantasy
- jzoj5408 【NOIP2017提高A组集训10.21】Dark (巧设状态的DP)
- JZOJ 5432. 【NOIP2017提高A组集训10.28】三元组
- 【JZOJ 5432】【NOIP2017提高A组集训10.28】三元组
- JZOJ 5410. 【NOIP2017提高A组集训10.22】小型耀斑
- 【JZOJ 5410】【NOIP2017提高A组集训10.22】小型耀斑
- 【JZOJ 5411】【NOIP2017提高A组集训10.22】友谊
- JZOJ 5414. 【NOIP2017提高A组集训10.22】幸运值
- 【JZOJ 5414】【NOIP2017提高A组集训10.22】幸运值
- RAC--MVVM 心得
- spring-boot中可以注入 ObjectFactory<HttpMessageConverters>
- JSP知识
- 查询数据
- 10.25 文件和目录权限chmod,更改所有者和所属组chown,umask ,隐藏权限lsattr/chattr
- JZOJ 5408 【NOIP2017提高A组集训10.21】Dark
- 配置hadoop的HA架构的集群种类
- mysql ERROR 1045 (28000): 错误解决办法
- 邮件发送
- 栈的实现---java
- C++——函数调用堆栈
- GDAL+HDF4+HDF5+netCDF库编译C#
- day03-CSS-笔记1-选择器与文本元素
- 每日一练-20171025