矩形嵌套(经典dp)

矩形嵌套的单调递增子序列解决 <br />矩形嵌套时间限制:3000 ms  |  内存限制:65535 KB难度:5描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩形都可以嵌套在下一个矩形内。输入第一行是一个正正数N(0<N<10),表示测试数据组数,<br />每组测试数据的第一行是一个正正数 阅读详情

矩形嵌套

时间限制:3000 ms  |  内存限制:65535 KB
难度:4
描述
有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩形都可以嵌套在下一个矩形内。
输入
第一行是一个正正数N(0<N<10),表示测试数据组数,
每组测试数据的第一行是一个正正数n,表示该组测试数据中含有矩形的个数(n<=1000)
随后的n行,每行有两个数a,b(0<a,b<100),表示矩形的长和宽
输出
每组测试数据都输出一个数,表示最多符合条件的矩形数目,每组输出占一行
样例输入
1
10
1 2
2 4
5 8
6 10
7 9
3 1
5 8
12 10
9 7
2 2
样例输出
5



状态:d(i)定义为从i矩形出发能嵌套的最大数。

状态转移方程:d(i)=max{d(j)+1} G[i][j]=1

AC源码:

#include <iostream>
#include <cstring>
using namespace std;

const int maxn=1000+10;
struct node
{
	int a,b;	
}A[maxn];
int T,n;
int G[maxn][maxn];
bool chk(int i,int j)
{
	if((A[i].a<A[j].a&&A[i].b<A[j].b)||(A[i].a<A[j].b&&A[i].b<A[j].a))
		return true;
	else
		return false;
}
int d[maxn];
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()
{
	cin>>T;
	while(T--)
	{
		cin>>n;
		memset(G,0,sizeof(G));
		memset(d,-1,sizeof(d));
		for(int i=1;i<=n;++i)
			cin>>A[i].a>>A[i].b;
		for(int i=1;i<=n;++i)
			for(int j=1;j<=n;++j)
				G[i][j]=chk(i,j);
		int ans=-1;
		for(int i=1;i<=n;++i)
			ans=max(ans,dp(i));
		cout<<ans<<endl;
	}	
	return 0;
} 



基于遗传算法的矩形排样 利用遗传算法解决矩形排样问题,具有可视化的界面,输入数据为含有矩形的长和宽的文本文件,输出的结果以可视化的形式显示出来 立即下载

相关推荐

矩形件排样优化的双向双原算法

矩形件排样优化的双向双原算法,对矩形的运用有很大的影响

Java算法:输出所有的排版可能

本文介绍了求有多少种排版可能的一个思路以及java代码解决。

love_study1314的博客 3558

Ansys Lumerical | 薄膜铌酸锂电光调制器的仿真与优化

本文详细介绍了使用Ansys Lumerical进行薄膜铌酸锂电光调制器仿真与优化的全流程。从基础原理到电学仿真、光学模拟技巧,再到设计优化实战经验,帮助工程师掌握这一先进光电器件的仿真方法。重点解析了薄膜铌酸锂的Pockels效应和Mach-Zehnder结构设计,并提供了常见问题排查指南和最新发展动态。

vulkan6gpu的博客 1197

矩形嵌套

矩形嵌套也是动态规划中的比较有代表性的一道题目,算是递增最长子序列的延伸,利用了结构体来表示最基本的元素。 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一

详情请看注释 632

运算放大器测试方法-输入失调电压

由于运放输入回路的不对称性,在输入端将产生一定的误差信号,从而限制运放信号灵敏度。通常用输入失调电压(VOS)、输入失调电流(Ios)和输入偏置电流(IB)表示。运放有四个主要特征:输入失调特征、开环特征、共模特征及输出特征。其放大倍数较大,由于外界的影响,即使运放的输入端产生较小的输入信号,经过放大,在输出端也会产生较大的误差。为能精确测量其性能,一般采用辅助运放进行测试。下面着重讲了运放的主要参数及如何精确测量这些参数。文中DUT代表被测运放,A代表辅助运放。

weixin_46135931的博客 1万+

Ubuntu22.04 网络图标消失与连接故障排查指南(附实战修复流程)

本文详细介绍了Ubuntu22.04系统中网络图标消失与连接故障的排查与修复方法。通过ifconfig、dhclient等命令诊断问题,提供从紧急恢复网络连接到深度排查的完整解决方案,帮助用户快速恢复网络功能并预防类似问题再次发生。

weixin_28481133的博客 287

NYOJ - 矩形嵌套(经典dp)

矩形嵌套 时间限制:3000 ms  |           内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,

SevenMIT的专栏 7643

Python连接高斯数据库踩坑实录:从SASL报错到SSL安全连接的完整指南

本文详细记录了Python连接高斯数据库时遇到的SASL authentication报错及其解决方法。通过剖析SASL认证机制,对比了修改数据库配置、使用官方驱动等方案的利弊,并重点提供了通过自动化脚本生成SSL证书,实现安全、免密连接的完整指南,帮助开发者彻底解决连接难题。

weixin_28340315的博客 438

经典DP 嵌套矩形

dp初级入门必学,有南阳理工学院OJ的题在此:http://acm.nyist.net/JudgeOnline/problem.php?pid=16     简单dp,刘汝佳白书第一本,161页。稍微理解下就会了。。很easy #include #include #include using namespace std; #define max(a,b) ((a)>(b)?(a):(b

671coder的专栏 3217

使用兮克 2.5G 交换机将北京联通 EPON 改为 ODI 猫棒接入

最近入手了兮克2.5G交换机(兮克SKS1200-8GPY1XF),有 8 个 2.5G 电口和 1 个 10G SFP+ 光口;支持多种组网模式,其中一种是支持使用猫棒接入,由路由器拨号后再回接到交换机,这样就可以替换掉光猫了。

啦啦啦啦 la 1万+

模仿学习与强化学习结合(IL+RL)有没有代表性论文?未来发展趋势如何?

IL与RL的结合正成为AI研究热点,尤其在机器人控制、复杂博弈等需要边学边练的场景。经典方法如Dagger(2010)和GAIL(2016)开创了先用模仿学习预热、再用强化学习微调的模式。近期工作如IN-RIL(2024)提出交替训练策略,显著提升样本效率。开源项目RoboSchool和StableBaselines3为相关研究提供支持。未来趋势包括:1)混合式智能体结合人类经验与自主探索;2)突破小样本学习、自然语言交互等方向;3)提升安全性、样本效率和可解释性。

CyberSoma的博客 2248

nyoj 16 矩形嵌套 【经典DP】

矩形嵌套 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩形都可以嵌

世界很大 487

【华为OD机试】2024年真题C卷(python)-API集群负载统计

【华为OD机试】-API集群负载统计-【华为OD机试】-API集群负载统计:某个产品的 restful API 集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。 restful API 是由多个层级构成,层级之间使用/连接,如 A/B/C/D 这个地址,A属于第一级,B属于第二级,C属于第三级,D属于第四级。 现在负载均衡模块需要知道给定层级上某个名字出现的频次,未出现过用0

u014481728的博客 1491

NYOJ_矩形嵌套(DAG上的最长路 + 经典dp)

  本题大意:给定多个矩形的长和宽,让你判断最多能有几个矩形可以嵌套在一起,嵌套的条件为长和宽分别都小于另一个矩形的长和宽。   本题思路:其实这道题和之前做过的一道模版题数字三角形很相似,大体思路都一致,这道题是很经典的DAG上的最长路问题,用dp[ i ]表示以i为出发点的最长路的长度,因为每一步都只能走向他的相邻点,则 d[ i ] = max(d[ j ] + 1)这里j是任意一...

weixin_30362233的博客 161

「UG/NX」BlockUI 控件集合目录大纲

Block UI Styler 模块设计对话框是官方推荐使用的对话框制作方法,它能够与NX自身风格相统一,在实际开发中经常使用。文字内容包含:NX所有控件介绍的链接、内部控件调用的基础介绍、官方案例查看路径、控件的特殊用法篇链接、番外篇链接。

何曾参静谧的博客 2674

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

nyoj--16 矩形嵌套(经典DP)

nyoj 16题意有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<da<c,b<d或者b<c,a<db<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩形都可以嵌套在下一个矩形内。题解按白书上的分析,矩形之间的“可嵌套”

许少y 457

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

NYOJ 题目16 矩形嵌套 dp(经典dp,简单,记忆化搜索)

矩形嵌套 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩

便纵有千种风情 432

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

经典DP 嵌套矩形 (南洋理工ACM—16)

本来是个很水的DP,结果被自己的代码习惯给打败了 代码: 1 #include<iostream> 2 #include<stdlib.h> 3 #include<string.h> 4 5 using namespace std; 6 7 typedef struct rectangle 8 { 9 int...

weixin_34357436的博客 122

DP经典应用(四)二维最长上升子序列问题——矩形嵌套问题

矩形嵌套问题问题描述:输入多个矩形的长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a < c,b < d或者b < c,a < d,任务是选出尽可能多的矩形排成一行,使得除了最后一个之外,每一个矩形都可以嵌套在下一个矩形内求出最多嵌套矩形的个数。注意加粗的一段话,就要求我们必须先排序。样例输入:1 10 1 2 2 4 5 8 6 10 7 9 3 1 5 8 12 10 9 7 2

karry_zzj的博客 1118

DAG问题之矩形嵌套

nyoj矩形嵌套问题,就这个题说吧,挺经典的。 【题意】 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a 【输入】 第一行是一个正正数N(0 每组测试数据的第一行是一个正正数n,表示该组测试数据中含有矩形的个数(n 随后的n行,每行有两个数a,b(0 【输出】 每组测试数据都输出一个数,表示最多符合条件的矩形数目,

iOS weidao菜鸟的专栏 542

nyoj46 矩形嵌套(dp)

矩形嵌套 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排...

angtongyou1893的博客 101

NYOJ16 矩形嵌套

矩形嵌套 时间限制:3000 ms  |  内存限制:65535 KB 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a 输入 第一行是一个正正数N(0 每组测试数据的第一行是一个正正数n,表示该组测试数据中含有矩形的个数(n 随后的n行,每行有两个数a,b(0 输出 每组测试数据都输出一个数

Yes_You_Can 的博客 359

嵌套矩形(DAG模型) 紫书训练

题目描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩形都可以嵌套在下一个矩形内。(最后要输出最长路径长度以及字典序最长路径的所有节点) 样例输入 1 10 1 2 2 4 5 8 6 10 7 9 3 1 5 8 12 10 9 7 2 2

m0_52834059的博客 229

DAG模型

题目:        有N个矩形,每个矩形可以用两个整数a,b描述,表示它的长和宽。矩形X(a,b)可以嵌套在矩形Y(a,b)中当且仅当a 找出能够嵌套在一个里的最多数是多少? 这是DP的一种类型,与图,搜索也有些关系。 方法:1、用贪心算法,先是排序,这要的时间O(n*n) 2、用DP,先排序,在搜的时候记录深度,一但找到已经计算过该点就直接返回值。 O(n*n)

jiangjiashi的博客 1763
上一篇: ACM算法-时间复杂度分析(6.相关练习exercise)
下一篇: 硬币问题(经典dp)
OFShare
博客等级 码龄11年 8粉丝 140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值