hdu 1355--似乎并不是dp
来源:互联网 发布:禁止暴风影音访问网络 编辑:程序博客网 时间:2024/05/16 23:58
题意:一个二维数组上有些值为0,有些值不为零,一个人从数组外进入数组取这些值,但是必须从大到小拿,每走一步要一单位的时间,取数也要一单位的时间,进入数组和出数组分别要一单位的时间。求在规定的时间内能取到的最大的值(开始在数组外,需在规定的时间内返回数组外)。
分析:我并不知道这题跟dp有多大的关系。做法是把数组从大到小排序,然后遍历这些值,每次计算若取走这个值还剩下的时间,如果剩下的时间不足以返回数组外则退出循环。
代码:
#include<iostream>#include<cmath>#include<algorithm>using namespace std;struct node{int x,y,g;}a[10000];bool cmp(node a,node b){return a.g>b.g;}int main(){int t,m,n,k;int dp[10000];cin>>t;while(t--){cin>>m>>n>>k;int u=0;for(int i=0;i<10000;i++) dp[i]=k;for(int i=0;i<m;i++) for(int j=0;j<n;j++){ cin>>a[u].g; a[u].x=i,a[u++].y=j; }sort(a,a+m*n,cmp);if(a[0].x*2+3>k) cout<<"0"<<endl;else{dp[0]=k-a[0].x-2;int ans=a[0].g;for(int i=1;i<m*n;i++){int tmp=dp[i-1]-abs(a[i].x-a[i-1].x)-abs(a[i].y-a[i-1].y)-1;if(tmp-a[i].x<1)break;else{ dp[i]=tmp; ans+=a[i].g;}}cout<<ans<<endl; }}}
0 0
- hdu 1355--似乎并不是dp
- HDU 4359 Easy Tree DP?(是dp但并不是tree dp + 组合计数)
- 有责任感的中国人请您耐心看完,毕业了买不起房似乎并不是那么糟!
- 似乎游标声明并不设置sqlcode
- poj3267The Cow Lexicon(简单dp 虽然我并不是很会)
- hdu 3766 Knight's Trip(并不是bfs)
- ESB并不是那样
- 电影并不是演戏
- 这些并不是计算机科学
- 并不是很多重背包的多重背包(HDU - 2191 悼念汶川大地震。。
- HDU 1176(原来是矩阵dp)
- 似乎CRC校验也不是安全的
- 版主,并不是一种荣耀
- 测试工具并不是策略
- 钱并不是万能的
- 我并不是不闻不问![C#]
- 宏并不是类型定义
- 并不是所有人都像张楚这样
- 香港dna如何鉴定
- 香港查性别检查费用
- 婴儿香港做性别鉴定
- 香港做性别鉴定方法
- 香港验血查看胎儿性别
- hdu 1355--似乎并不是dp
- 香港验血查男女准不准
- 香港验血能查出男女吗
- 香港性别鉴定检验中心
- jquery判断checkbox是否选中及改变checkbox状态
- OC基础语法学习4:自定义构造方法和description方法
- 香港验性别流程有哪些
- Codeforces 401B Sereja and Contests(DP)
- 去香港验血测男女准吗