Vijos 1061
来源:互联网 发布:手游服务器端源码 编辑:程序博客网 时间:2024/06/12 01:33
题目中的按升序排列启示了我们DP的顺序,我们先考虑按升序DP,这时会发现决策的时候第i个必定是站在中间的,对答案不产生影响,故无法转移,这样就可以考虑倒着DP,从后往前进行DP。决策的时候需要注意,并不是一个一个的决策,而是两个两个的决策,即每次决策两个最矮的人,这样就容易转移。(所以转移的时候是f[i-2]而不是f[i-3],因为选了i和i-1在1~i-2中剩下的任何一个人都比他们高,不产生影响(这里已经把数组倒序排列))方程容易写出。
#include<iostream>#include<algorithm>#include<cstring>using namespace std;int f[10000][2000],a[10000];int main(){int m,n;memset(f,63,sizeof(f));f[0][0]=0;cin>>m>>n;for(int i=1;i<=n;i++){int x;f[i][0]=0;cin>>x;a[n-i+1]=x;}for(int i=1;i<=n;i++)for(int j=1;j<=min(m,i/3);j++)f[i][j]=min(f[i-1][j],f[i-2][j-1]+(a[i]-a[i-1])*(a[i]-a[i-1]));cout<<f[n][m];while(1);return 0;}
0 0
- Vijos 1061
- vijos 1061 迎春舞会之三人组舞
- vijos 1070
- vijos 1020
- VIJOS 1180
- VIJOS-P1130
- vijos-1788
- vijos-1385
- VIJOS-P1312
- Vijos 1059
- vijos P1071
- VIJOS-P1033
- vijos 中青局
- vijos P1131
- vijos P1132
- vijos p1233
- vijos p1233
- VIJOS-P1156
- USACO Number Triangles
- VMware Bridged NAT Host-only 区别
- struts2中使用拦截器(Interceptor)控制登录和权限
- 第15天 Android Touch事件学习 2 触发点击事件的地方
- HTML表单、HTTP Get与Post杂谈
- Vijos 1061
- gdb常用调试命令汇总!
- 有状态,无状态对象是什么概念
- java学习之继承,super
- TSPopover的一个bug
- 并查集【模板】
- 天澤履 (易經大意 韓長庚)
- 乐观锁与悲观锁
- LeetCode 069 Sqrt(x)