HDU_1176_免费馅饼
http://acm.hdu.edu.cn/showproblem.php?pid=1176
参考自:http://blog.csdn.net/xcszbdnl/article/details/7876283
可将所有的时间段和馅饼看成是一个矩阵,时间就是行数,掉馅饼的就是列数,则就是数字三角形问题,从最底层找一条路径,使得路径上的和最大。
状态转移方程为:dp[i][j]=max(dp[i+1][j-1],dp[i+1][j],dp[i+1][j-1])+pie[i][j]。pie[i][j]为时间i时在j位置掉的馅饼数目。
则AC代码为:
#include<stdio.h>
#include<string.h.>
#define MAX 100001
int pie[MAX][];
int dp[MAX][];
int n;
int main()
{
int i,j,time,location,maxtime,mid,left,right;
while(scanf("%d",&n)!=EOF&&n){
memset(pie,,sizeof(pie));
memset(dp,,sizeof(dp));
maxtime=;
for(i=;i<n;i++){
scanf("%d%d",&location,&time);
pie[time][location+]++;
if(time>maxtime)
maxtime=time;
}
for(i=;i<=;i++)
dp[maxtime][i]=pie[maxtime][i];
for(i=maxtime-;i>=;i--){
for(j=;j<=;j++){
left=dp[i+][j-]+pie[i][j];
mid=dp[i+][j]+pie[i][j];
right=dp[i+][j+]+pie[i][j];
dp[i][j]=(left>mid)?left:mid;
dp[i][j]=(dp[i][j]>right)?dp[i][j]:right;
}
}
printf("%d\n",dp[][]);
}
return ;
}
HDU_1176_免费馅饼的更多相关文章
- HDU_1176_免费馅饼_16.4.23再做
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others) M ...
- 免费馅饼——G
G. 免费馅饼 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果 ...
- nyoj 613 免费馅饼 广搜
免费馅饼 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy ...
- HDU 1176 免费馅饼
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 1644 免费馅饼 题解(c++)(S.B.S.)
1644 免费馅饼(巴蜀oj上的编号) 题面: SERKOI最新推出了一种叫做“免费馅饼”的游戏. 游戏在一个舞台上进行.舞台的宽度为W格,天幕的高度为H格,游戏者占 ...
- 免费馅饼 Why WA
免费馅饼 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 1576 Solved: 577 Description 都说天上不会掉馅饼,但有一天gameb ...
- HDU 1176免费馅饼 DP数塔问题转化
L - 免费馅饼 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Sta ...
- HDU 1176 免费馅饼(记忆化搜索)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- hdu 1176 免费馅饼(数塔类型)
http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory ...
随机推荐
- Java中Comparator接口和Comparable接口的使用
普通情况下在实现对对象元素的数组或集合进行排序的时候会用到Comparator和Comparable接口,通过在元素所在的类中实现这两个接口中的一个.然后对数组或集合调用Arrays.sort或者Co ...
- hdu 5256 序列变换
最长上升子序列 nlogn;也是从别人的博客学来的 #include<iostream> #include<algorithm> #define maxn 100000+5 u ...
- 使用qemu
1 获取qemu启动linux kernel的log qemu-system-x86_64 -nographic -kernel xxx -initrd xxx -append "conso ...
- 在linux上处理base64加密和解密
http://snailwarrior.blog.51cto.com/680306/142472/ 2.从标准输入读取文件内容,base64编码并打印到标准输出 [root@localhost tes ...
- C#数字、16进制字符串和字节之间互转
转自http://luohonghong.blog.163.com/blog/static/78312058201242632055642/ 如下: .数字和字节之间互转 ; byte[] bytes ...
- 10.06 WZZX Day1总结
今天迎来了WZZX的模拟.打开pdf的时候我特别震惊,出题的竟然是神仙KCZ!没错,就是那个活跃于各大OJ,在各大OJ排名靠前(LOJ Rank1),NOI2018 Rank16进队的kczno1!! ...
- 洛谷 P1131 [ ZJOI 2007 ] 时态同步 —— 树形DP
题目:https://www.luogu.org/problemnew/show/P1131 记录 x 子树内同步的时间 f[x],同步所需代价 g[x]: 直接转移即可,让该儿子子树与其它儿子同步, ...
- 25.EXTJS 主页面的jsp
1. /** * @author sux * @time 2011-1-11 * @desc main page */ var mainPage = Ext.extend(Ext.Viewport,{ ...
- Ruby实例方法和类方法的简写
创建: 2017/12/12 类方法 Sample.func 实例方法 Sample#func
- E2017614-hm
pluck n. 勇气,精神; 内脏; 快而猛的拉; 〈俚〉不及格; vt. 拔掉; 采,摘; 鼓起(勇气等); 弹(乐器); scope n. (处理.研究事务的) 范围; 眼界,见识 ...