uva437 DAG
直接套用DAG的思路就行。
AC代码:
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int INF=1<<30; const int maxn=50; int dp[maxn][3]; int G[maxn][3][maxn][3]; struct node{ int a[3],b[3],c[3]; node(){} node(int x,int y,int z){ a[0]=x,b[0]=y,c[0]=z; a[1]=x,b[1]=z,c[1]=y; a[2]=y,b[2]=z,c[2]=x; } }; int n; node u[maxn]; int solve(int i,int p){ //表示第i个格子p在顶面 if(dp[i][p]!=-1) return dp[i][p]; int t=u[i].c[p]; //高度 dp[i][p]=t; for(int j=0;j<n;++j){ for(int k=0;k<3;++k){ if(G[i][p][j][k]) dp[i][p]=max(dp[i][p],solve(j,k)+t); } } return dp[i][p]; } int main(){ int kase=1; while(scanf("%d",&n)==1&&n){ memset(G,0,sizeof(G)); memset(dp,-1,sizeof(dp)); int a,b,c; for(int i=0;i<n;++i){ scanf("%d%d%d",&a,&b,&c); u[i]=node(a,b,c); } for(int i=0;i<n;++i) for(int j=0;j<n;++j){ for(int k=0;k<3;++k) for(int h=0;h<3;++h){ if(u[i].a[k]>u[j].a[h]&&u[i].b[k]>u[j].b[h]||u[i].a[k]>u[j].b[h]&&u[i].b[k]>u[j].a[h]) G[i][k][j][h]=1; } } //枚举起点 int ans=-INF; for(int i=0;i<n;++i){ ans=max(ans,solve(i,0)); ans=max(ans,solve(i,1)); ans=max(ans,solve(i,2)); } printf("Case %d: maximum height = %d\n",kase++,ans); } return 0; }
如有不当之出欢迎指出!
uva437 DAG的更多相关文章
- UVA - 10131Is Bigger Smarter?(DAG上的DP)
题目:UVA - 10131Is Bigger Smarter? (DAG) 题目大意:给出一群大象的体重和IQ.要求挑选最多的大象,组成一个序列.严格的体重递增,IQ递减的序列.输出最多的大象数目和 ...
- LIS的简单应用:UVA-437
上一次紫芝详细地介绍了动态规划中的经典问题LIS,今天我们抽出一个类似思想的简单题目进行实践练习. The Tower of Babylon(巴比伦塔) Perhaps you have heard ...
- Uva437 The Tower of Babylon
https://odzkskevi.qnssl.com/5e1fdf8cae5d11a8f572bae96d6095c0?v=1507521965 Perhaps you have heard of ...
- UVA103 dp基础题,DAG模型
1.UVA103 嵌套n维空间 DAG模型记忆化搜索,或者 最长上升子序列. 2.dp[i]=max( dp[j]+1),(第i个小于第j个) (1) //DAG模型记忆化搜索 #include< ...
- JavaScript + SVG实现Web前端WorkFlow工作流DAG有向无环图
一.效果图展示及说明 (图一) (图二) 附注说明: 1. 图例都是DAG有向无环图的展现效果.两张图的区别为第二张图包含了多个分段关系.放置展示图片效果主要是为了说明该例子支持多段关系的展现(当前也 ...
- CF721C. Journey[DP DAG]
C. Journey time limit per test 3 seconds memory limit per test 256 megabytes input standard input ou ...
- [CF225C] Barcode (简单DAG上dp)
题目链接:http://codeforces.com/problemset/problem/225/C 题目大意:给你一个矩阵,矩阵中只有#和.两种符号.现在我们希望能够得到一个新的矩阵,新的矩阵满足 ...
- 九、DAG hierarchy
DAG 节点有两种,Transformation/shape. shape节点是transformation的子节点. transformation节点包括position, rotation, sc ...
- 02_嵌套矩形(DAG最长路问题)
来源:刘汝佳<算法竞赛入门经典--训练指南> P60 问题2: 问题描述:有n个矩形,每个矩形可以用两个整数a,b描述,表示它们的长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中的条件 ...
随机推荐
- python_15_内置函数
有哪些内置函数? -- all() - 可迭代对象,全为真返回真 -- any() - ...
- 错误:Unsupported major.minor version 51.0的解决
问题: 在电脑上双击打开一个可执行的jar时报错:Unsupported major.minor version 51.0.原因是版本问题,该jar使用jdk1.7编译,而我电脑装的是jdk1.6. ...
- java IO(三):字符流
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- Shader 入门笔记(一)
本笔记,是根据自己学习shader的笔记,主要是参照冯乐乐的<Shader 入门精要> 和游戏蛮牛shaderLad视频 和网上一些博客. 为啥要学习这个呐? 自己其实之前学过一段时间的s ...
- Codeforces D. Sorting the Coins
D. Sorting the Coins time limit per test 1 second memory limit per test 512 megabytes input standard ...
- SDN第一次作业
作业链接 你会选择作 网络编程 方向的程序员吗?为什么? 光凭阅读此篇文章我还无法确定以后是否选择作 网络编程 方向的程序员.出于自身知识的匮乏,文章中提到的很多东西都没有概念,全篇一口气阅读下来,给 ...
- Docker Compose容器编排
Compose是Docker官方的开源项目,可以实现对Docker容器集群的快速编排.Compose 中有两个重要的概念:服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实 ...
- JS声明对象时属性名加引号与不加引号的问题
般情况下属性名加引号和不加引号是都可以的,效果是一样的. var obj = { name : '你好', 'age' : 1, }; document.write( obj['name'] + '& ...
- shell编程之环境变量配置文件(4)
1 source命令 修改了配置文件,并让它立刻生效,而不用重新登录 source 配置文件 或者 .配置文件 2 环境变量配置文件简介 PATH HISTSIZE PS1 HOSTNAME等环境变量 ...
- canvas常用api
1. 在canvas标签中给出长宽(不带单位):<canvas width="600" height="600"></canvas> 或 ...