tyvj1213 嵌套矩形
描述
输入格式
第2到n+1行每行两个数a,b,表示这个矩形的长和宽
输出格式
测试样例1
输入
3
1 5
6 2
3 4
输出
2
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#define ll long long
using namespace std;
const int maxn = ;
vector<int> g[maxn];
int n,a[maxn],b[maxn],topo[maxn],cnt;
int f[maxn],ans;
bool vis[maxn];
void dfs(int x){
vis[x] = true;
for(int i = ;i < g[x].size();i++){
if(!vis[g[x][i]]) dfs(g[x][i]);
}
topo[cnt--] = x;
}
void dp(int x){
if(!g[x].size()){
f[x] = ;
return;
}
for(int i = ;i < g[x].size();i++){
if(!f[g[x][i]]) dp(g[x][i]);
f[x] = max(f[x],f[g[x][i]] + );
}
ans = max(f[x],ans);
}
int main(){
cin>>n;
for(int i = ;i <= n;i++){
scanf("%d%d",&a[i],&b[i]);
if(a[i] < b[i]) swap(a[i],b[i]);
}
for(int i = ;i <= n;i++){
for(int j = i+;j <= n;j++){
if(a[i] > a[j] && b[i] > b[j]) g[i].push_back(j);
else if(a[j] > a[i] && b[j] > b[i]) g[j].push_back(i);
}
}
cnt = n;
for(int i = ;i <= n;i++){
if(!vis[i]) dfs(i);
}
for(int i = ;i <= n;i++){
if(!f[topo[i]]) dp(topo[i]);
}
cout<<ans;
return ;
}
tyvj1213 嵌套矩形的更多相关文章
- DAG上的动态规划之嵌套矩形
题意描述:有n个矩形,每个矩形可以用两个整数a.b描述,表示它的长和宽, 矩形(a,b)可以嵌套在矩形(c,d)当且仅当a<c且b<d, 要求选出尽量多的矩形排成一排,使得除了最后一个外, ...
- CJOJ 1070 【Uva】嵌套矩形(动态规划 图论)
CJOJ 1070 [Uva]嵌套矩形(动态规划 图论) Description 有 n 个矩形,每个矩形可以用两个整数 a, b 描述,表示它的长和宽.矩形 X(a, b) 可以嵌套在矩形 Y(c, ...
- NYOJ16|嵌套矩形|DP|DAG模型|记忆化搜索
矩形嵌套 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a& ...
- DAG上的动态规划---嵌套矩形(模板题)
一.DAG的介绍 Directed Acyclic Graph,简称DAG,即有向无环图,有向说明有方向,无环表示不能直接或间接的指向自己. 摘录:有向无环图的动态规划是学习动态规划的基础,很多问题都 ...
- P1375 嵌套矩形
题目Problem 嵌套矩形 Time Limit: 1000ms Memory Limit: 131072KB 描述Descript. 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形 ...
- HDOJ-1069(动态规划+排序+嵌套矩形问题)
Monkey and Banana HDOJ-1069 这里实际是嵌套矩形问题的变式,也就是求不固定起点的最长路径 动态转移方程为:dp[i]=max(dp[j]+block[i].h|(i,j)∈m ...
- [ACM_动态规划] 嵌套矩形
问题描述:有n个矩阵,每个矩阵可以用两个整数a,b来表示 ,表示他的长和宽,矩阵X (a,b) 可以 嵌套 到Y (c,d) 里面当且仅当 a < c && b < d ...
- 02_嵌套矩形(DAG最长路问题)
来源:刘汝佳<算法竞赛入门经典--训练指南> P60 问题2: 问题描述:有n个矩形,每个矩形可以用两个整数a,b描述,表示它们的长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中的条件 ...
- 嵌套矩形——DAG上的动态规划
有向无环图(DAG,Directed Acyclic Graph)上的动态规划是学习动态规划的基础.非常多问题都能够转化为DAG上的最长路.最短路或路径计数问题. 题目描写叙述: 有n个矩形,每一个矩 ...
随机推荐
- 发布HTML5 RTS游戏-古代战争
古代战争 游戏介绍 "古代战争"是一个2.5D即时战略游戏,使用了帝国时代2的素材,并参考了它的游戏设计和玩法. 游戏基于YEngine2D引擎开发,具备生产.建造.资源采集.战斗 ...
- 手把手教你Linux服务器集群部署.net网站 - 让MVC网站运行起来
一.Linux下面安装需要软件 我们这里需要安装的软件有: 1) Mono 3.2.8 : C#跨平台编译器,能使.Net运行与Linux下,目前.net 4.0可以完美运行在该平台下 2) ngin ...
- jquery扩展函数详解(我的人生颠覆)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 上次分析了jquery的源码 ...
- ejs
这个博客比较专业些http://sunnyhl.iteye.com/blog/1985539 ejs速度不是最快的,推荐最多大概是因为其简单的语法结构.主要通过<% %><%=%&g ...
- ARP 命令运行实现静态IP/MAC绑定
公司网络出现本地无法连接,以前公司是分配的固定IP,结果还是无法连接网络,后来网管帮我设置了下,我也学习了下.解决办法如下: 1.首先以管理员身份运行CMD打开命令行程序 开始-程序-附件-命令提示符 ...
- upstream 负载均衡
首先拿一个实例来进行记录 upstream webyz { ip_hash; server 10.23.24.10:8026 weight=1 max_fails=2 fa ...
- Spring-涉及到的设计模式汇总
1. 简单工厂 又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一. 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类. ...
- Hibernate-缓存
Hibernate是一个持久层框架,经常访问物理数据库.为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能.缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在 ...
- Java基础-常量
常量是一种标识符,它的值在运行期间恒定不变.并且常量在程序中只能被引用,而不能被重新赋值. 以下,我们在Math类中就定义了一个全局常量PI被final关键字修饰的变量名最好要大写. public c ...
- [原]Golang FileServer
转载请注明出处 今天我们用go来搭建一个文件服务器FileServer,并且我们简单分析一下,它究竟是如何工作的.知其然,并知其所以然! 首先搭建一个最简单的,资源就挂载在服务器的根目录下,并且路由路 ...