BZOJ2101: [Usaco2010 Dec]Treasure Chest 藏宝箱
来源:互联网 发布:手机cf国外视频软件 编辑:程序博客网 时间:2024/05/16 12:46
题目传送门
设f[i][j]表示从区间[i,j]得到的最大价值,则有:f[i][j]=max(a[i]+sum[i+1][j]-f[i+1][j],a[j]+sum[i][j-1]-f[i][j-1])
理解如下:
对[i,j]区间,A要么选i要们选j,如果选i那么剩下的区间[i+1,j]就必须B选,注意B也是最优选择,所以A在剩下区间[i+1,j]选的总和为sum[i+1][j]-f[i+1][j](即减去B最优选的)。
A选j时分析同上。
但是这个题内存有限制,需要降维。
sum[i][j]换为前缀和,f[i][j]需要转成按长度来推的dp,f[len][i]表示从i开始长度为len的区间。
f[len][i]=maxc[i]+s[i+len-1]-s[i]-f[len-1][i+1],c[i+len-1]+s[i+len-2]-s[i-1]-f[len-1][i])
然后len维可以降下去。
贴代码
/************************************************************** Problem: 2101 User: iloi Language: C++ Result: Accepted Time:92 ms Memory:1348 kb****************************************************************/ #include<bits/stdc++.h>#define ll long longconst int INF = 0x7fffffff;const double eps = 1e-5;using namespace std;int read(){ int x = 0 , f = 1; char ch = getchar(); while(ch<'0'||ch>'9') {if(ch=='-')f*=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+(ch-'0');ch=getchar();} return x * f;}int n;int f[5005],d[5005],s[5005]; int main(){ n = read(); for(int i = 1 ; i <= n ; i++) { int x = read(); s[i] = s[i-1] + x; f[i] = x; } for(int l = 1 ; l < n ; l++) { for(int i = 1 ; i <= n - l; i++) { f[i] = s[i+l] - s[i-1] - min(f[i],f[i+1]); //i~l这一段 } } printf("%d",f[1]);}
阅读全文
0 0
- bzoj2101【Usaco2010 Dec】Treasure Chest 藏宝箱
- BZOJ2101: [Usaco2010 Dec]Treasure Chest 藏宝箱
- BZOJ2101: [Usaco2010 Dec]Treasure Chest 藏宝箱
- bzoj2101[Usaco2010 Dec]Treasure Chest 藏宝箱 DP
- 【bzoj2101】[Usaco2010 Dec]Treasure Chest 藏宝箱
- Usaco2010 Dec Treasure Chest
- Usaco2010 Dec Treasure Chest
- BZOJ 2101: [Usaco2010 Dec]Treasure Chest 藏宝箱
- USACO2010 December Treasure Chest & POI2010 The Minima Game
- USACO 2010 Dec Silver 2.Treasure Chest 简单博弈 DP
- hdu4901Zombie’s Treasure Chest
- HDU4091 Zombie’s Treasure Chest
- hdu4091 Zombie’s Treasure Chest
- UVa12325 - Zombie's Treasure Chest
- 12325 Zombie's Treasure Chest
- 12325 - Zombie's Treasure Chest.
- 12325 - Zombie's Treasure Chest
- Zombie's Treasure Chest UVA
- 数据分析脚本&分析特征跟label的关系&缺失特征&缺失交叉特征&相关性热图
- 一个页面从输入URL到页面加载显示完成,这个过程中都发生了什么?
- 【进程通信】之共享内存
- 约瑟夫环
- poj1862 哈夫曼水题
- BZOJ2101: [Usaco2010 Dec]Treasure Chest 藏宝箱
- Deepin Software办公
- 高斯日记
- 基础整理
- 关于HiveQL的常用语法总结(四)——其它技巧(hive代码优化)
- 连续特征的离散化的意义
- 权限模型设计+标签
- 点击EditText 使布局底部的的布局浮动到键盘的上方呢?
- Qt的资源管理系统