嵌套模型(DAG上的动态规划

原创 2015年11月20日 02:47:59
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std;

//含有1000个以内的矩形
const int MAXN = 1000+5; 
int G[MAXN][MAXN];
int a[MAXN],b[MAXN];
int d[MAXN]; 
int n;
int max(int a, int b){
	if(a>b) return a;
	else return b; 
}
int dp(int i) {
    int &ans=d[i];
    if(ans>0) return ans; //记忆化
    ans=1;
    for(int j=1; j<=n; j++) {
        if(G[i][j]) ans = max(ans, dp(j)+1);
    }
    return ans;
}

int main() {
	int N;
	scanf("%d", &N);
	while(N--){
		memset(d, 0, sizeof(d));
		memset(G, 0, sizeof(G));// 初始化邻接表 
		scanf("%d", &n);
		for(int i = 1; i <= n; i++)
			scanf("%d%d", &a[i], &b[i]);//存点 
		
		for(int i = 1; i <= n; i++){//建图 
			for(int j = 1; j <= n; j++){
				if((a[i]>a[j]&&b[i]>b[j])||(a[i]>b[j]&&b[i]>a[j])) //这个判断非常容易写错 
				G[i][j] = 1;//G[i][j]就表示矩形i可以嵌套矩形j 
			}
		}
		int answ = 0; 
		for(int i = 1; i <= n; i++){
			answ = max(answ, dp(i));
		} 
		printf("%d\n", answ);
	}
	return 0;
} 


链接:

http://acm.nyist.edu.cn/JudgeOnline/status.php?pid=16

参考文章:

http://www.tuicool.com/articles/eqIBji

学习笔记--函数式线段树(主席树)(动态维护第K极值(树状数组套主席树))

动态维护区间第K极值(主席树套树状数组)模板...
  • DaD3zZ
  • DaD3zZ
  • 2016年02月05日 14:39
  • 654

POJ 2104 K-th Number 主席树 静态区间第K大

题目大意: 就是给出一个静态的序列然后多次询问问某一连续的数中的第k大的数是多少, k也会变化 大致思路: 主席树学习第一题... 这个函数式线段树的思路感觉好巧妙= = 对于给出的序列离散化之后...

动态规划_DAG模型

DAG(有向无环图)上的动态规划是学习动态规划的基础。

动态规划 DAG模型 硬币问题

题目:有n种硬币,面值分别为V1,V2,...Vn,每种都有无限多。给定非负整数S,可以选用多少个硬币,使得面值之和恰好为S?输出硬币数目的最小值和最大值! DAG问题的动态规划求解: #incl...

嵌套模型(DAG上的动态规划)—动态规划入门(算法经典入门)

矩形嵌套 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中...

嵌套模型(DAG上的动态规划)—动态规划入门(算法经典入门)

矩形嵌套 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅...

nyoj 16 矩形嵌套 (DAG上的动态规划)

矩形嵌套 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当...

DAG上的动态规划 - 算法竞赛入门经典 - 嵌套矩形问题

#include #include using namespace std; int n; // 矩形个数 bool edges[1001][1001]; // 保存抽象出来的边...

嵌套矩形——DAG上的动态规划

有向无环图(DAG,Directed Acyclic Graph)上的动态规划是学习动态规划的基础。很多问题都可以转化为DAG上的最长路、最短路或路径计数问题。 题目描述:       有n个...

矩阵嵌套问题(DAG上的动态规划)

今天第一次接触动态规划的算法思想,编写了ACM的矩阵嵌套问题 算法思想概述:读入数据后存储在HashMap中,根据题目要求计算DAG,并存储在临街矩阵中,然后用记忆化搜索的方法求得DAG上的最长...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌套模型(DAG上的动态规划
举报原因:
原因补充:

(最多只允许输入30个字)