博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
免费馅饼
阅读量:4069 次
发布时间:2019-05-25

本文共 1458 字,大约阅读时间需要 4 分钟。

dp可以解,在每个i 点位置,都有三种选择,1)原地“待饼” 2)左移 3)右移。这里位置可能会重复,所以我们还的加一个状态变量,就是时间,我们用dp[i,j]来表示在第i 秒,在第 j 的位置所得到的最多的馅饼。

则状态转移方程为 : dp [ i, j ] = max{ dp[ i + 1] [ j ] , dp [ i + 1] [ j - 1] , dp[i + 1] [ j + 1] } ,右边是 i  + 1 ,是因为倒计时。

这还没算完,那我们 最终的状态什么呢,最终会在时间为0 即i = 0,但是 j 是多少呢? 这鬼知道啊。我们再把问题倒过来看,反正是得到最多的馅饼,那我们就把这个过程中所站的点构成的序列倒过来,前锋断后,后卫变前锋,对,将初始点 j = 5,作为终止的点,那么我们的最终结果就是dp[ 0 ] [ 5 ]了。

#define  _CODE_HDOJ_A1176_#ifdef _CODE_HDOJ_A1176_/************************************************************************f[i][j]: at time i, position j, the max he can get.trans function: at f[i][j], he has three choices, 1)stand there and go nowhere.2)go to left. 3)go to right.f[i][j] = max{f[i+1][j], f[i+1][j+1], f[i+1][j-1]}/************************************************************************/#include 
#include
const int N = 100002;const int P = 11;int f[N][P+2];inline int max3(int a, int b, int c){ if(a < b) a = b; if(a < c) a = c; return a;}int main(){ int n; freopen("a1176.txt","r",stdin); while (scanf("%d", &n), n) { int maxtime = -1; memset(f, 0, sizeof(f)); for (int i = 0; i < n; ++i) { int p, t; scanf("%d%d",&p, &t); f[t][p+1]++; //0-10 to 1-11 if(t > maxtime) maxtime = t; } for (int time = maxtime - 1; time >= 0; --time) { for (int pt = 1; pt <= 11; ++pt) { f[time][pt] += max3(f[time+1][pt], f[time+1][pt+1],f[time+1][pt-1]); } } printf("%d\n",f[0][6]); } return 0;}#endif
这里将下标从1开始,没从0开始,所以是f[0][6].

转载地址:http://urlji.baihongyu.com/

你可能感兴趣的文章
kubevirt 对 VMI 调用 CEPH 作为云盘方法
查看>>
powerdns 常见维护备忘
查看>>
kickstart 为 rhel5 创建 ext4 分区
查看>>
linux vlan 配置
查看>>
openstack 下网络[路由绑定]故障解决
查看>>
pdns 域名绑定 IP 故障备忘
查看>>
pdns 错误解决[备忘]
查看>>
intel x540-at2 openstack 下桥接故障
查看>>
内存控制器错误信息[备忘]
查看>>
常见监控工具说明
查看>>
多 bonding 使用不同 mode 方法
查看>>
利用 4 个磁盘进行 RAID10 自动创建
查看>>
ping 返回 no buffer space available 解决方法
查看>>
欢迎使用CSDN-markdown编辑器
查看>>
ssh passphrase 测试
查看>>
openstack 与 ceph (架构)
查看>>
openstack 与 ceph (monitor初始化)
查看>>
openstack 与 ceph (osd 部署)
查看>>
openstack 管理三十八 - ceph 与 crushmap
查看>>
mysql 插入/更新的简单方法
查看>>