Tyvj专题 数字三角形
来源:互联网 发布:win10 64位下载 知乎 编辑:程序博客网 时间:2024/05/04 20:23
数字三角形1
数字三角形2
数字三角形3
数字三角形4
四道题都是数字三角形:第一题就是经典DP;第二题由于需要取模,采用DFS更容易些,并且居然没超时;第三、四题本质相同,必过一个点,可以双向做,交与此点,但更好的方法将这个点的值变大,使得最优解必经这个点,然后普通DP,答案中减去所加数,注意这个极大值要整个数字三角形的数值总和(其实可以稍小一点)。
第二题
#include<iostream>#include<algorithm>using namespace std;const int MAXN=25;int mp[MAXN+3][MAXN+3],n,ans=0;void dfs(int x,int y,int t){ if(x==n+1){ ans=max(ans,t);return; } t=(t+mp[x][y])%100; dfs(x+1,y,t); dfs(x+1,y+1,t);}int main(){ ios::sync_with_stdio(false); cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++)cin>>mp[i][j]; } dfs(1,1,0); cout<<ans; return 0;}
第四题
#include<iostream>#include<algorithm>using namespace std;const int MAXN=25,INF=1<<28;int opt[MAXN+3][MAXN+3],n,x,y;int main(){ ios::sync_with_stdio(false); cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ cin>>opt[i][j]; } } cin>>x>>y; opt[x][y]+=INF; for(int i=n-1;i>=1;i--){ for(int j=1;j<=i;j++){ opt[i][j]+=max(opt[i+1][j],opt[i+1][j+1]); } } cout<<opt[1][1]-INF; return 0;}
0 0
- Tyvj专题 数字三角形
- Tyvj 1044-数字三角形
- TYVJ 1044 数字三角形
- tyvj数字三角形
- tyvj 1084 数字三角形4
- |Tyvj|动态规划|P1044 数字三角形
- 数字三角形系列(Tyvj 1044 && 1076 && 1079 && 1084)
- Tyvj专题 P1004 滑雪
- Tyvj专题 P1005 采药
- 【三角形专题】
- Tyvj 1076 数字三角形 要求走到最后mod 100最大
- Tyvj专题 P1003 越野跑
- Tyvj专题 P1159 玛丽卡
- Tyvj专题 P1337 fibonacci数列
- Tyvj专题 P1083 分糖果
- Tyvj专题 P1094 矩形分割
- 数字三角形!
- 数字三角形
- 1037
- POJ 1018 Communication System (枚举+贪心)
- CF_292_C_Drazil and Factorial_数学
- 寒假学习总结
- OpenWorm
- Tyvj专题 数字三角形
- KMP算法
- C# 类以及对象
- Tyvj专题 P1159 玛丽卡
- oracle 11g忘记sys用户密码
- Leetcode: Minimum path sum
- CF_292_D_ Drazil and Tiles_贪心、dfs
- Tyvj专题 P1337 fibonacci数列
- VC++动态链接库(DLL)编程深入浅出(zz)