好美的图论,真的 light up my life!题意: 给出一个只含有若干1,2,3的数列,我们可以两两交换数列元素;要求输出让这个数列不减的最小交换次数。 思路: 首先看起来很像冒泡.....然鹅要最少交换次数——显然不是模拟冒泡了。 开始用深搜来着,显然没办法剪枝,果断T掉。这个时候就要想一 ...
分类:
其他好文 时间:
2020-01-23 21:09:24
阅读次数:
59
一、DAG上的动态规划 两个问题:嵌套矩形和硬币问题 1、最长路及其字典序 如何求DAG中不固定起点的最长路经呢?设d(i)表示从节点i出发的最长路长度,那么状态转移方程就是: d(I) = max { d(j) +1 | (i,j)€ E} 其中,E是边集。最终答案就是所有d(i)的最大值。编写记 ...
分类:
其他好文 时间:
2019-10-03 00:54:20
阅读次数:
129
题目:题目链接 思路:每个方块可以用任意多次,但因为底面限制,每个方块每个放置方式选一个就够了,以x y为底 z 为高,以x z为底 y 为高,以y z为底 x为高,因为数据量很小,完全可以把每一种当成DAG上的一个结点,然后建图找最长路径。 AC代码: ...
分类:
其他好文 时间:
2018-11-12 11:21:30
阅读次数:
144
据说DAG是动态规划的基础,想一想还真的是这样的,动态规划的所有状态和转移都可以归约成DAG DAG有两个典型模型,一个是嵌套矩形问题一个是硬币问题,这里仅介绍一个嵌套矩形问题 等二轮复习的时候再补上 NYOJ16,南阳OJ很不错的样子嘛 如果矩形X可以嵌套到矩形Y中,连有向边X->Y 求DAG的最 ...
分类:
其他好文 时间:
2018-08-14 12:11:24
阅读次数:
187
有向无环图(DAG,Directed Acyclic Graph)上的动态规划是学习动态规划的基础。很多问题都可以转化为DAG上的最长路、最短路或路径计数问题。 一、DAG模型 【嵌套矩形问题】 问题:有n个矩形,每个矩形可以用两个整数a、b描述,表示它的长和宽。矩形X(a , b)可以嵌套在矩形Y ...
分类:
其他好文 时间:
2017-09-08 19:34:22
阅读次数:
631
UVA1025 分析:因为时间是单向流逝的,是天然的"序",所以影响决策的只有当前时间和所处的决策。dp[i][j],表示在第i分钟时,处于第j个车站,最少还需要多少等待时间,因此其等待时间就有站原地等待,乘坐从左到右的车,乘坐从右到左的车,三个状态来决定。 1 #include "iostream ...
分类:
其他好文 时间:
2017-07-22 09:57:31
阅读次数:
167
题目链接请戳 这里 解题思路 DAG上的动态规划。现对n个维度排序(感觉有维度的,先排序排序就行了 代码 ...
分类:
其他好文 时间:
2016-12-23 01:36:53
阅读次数:
170
UVa 103 题目大意:给定n个箱子,每个箱子有m个维度, 一个箱子可以嵌套在另一个箱子中当且仅当该箱子的所有的维度大小全部小于另一个箱子的相应维度, (注意箱子可以旋转,即箱子维度可以互换),求最多能套几个箱子。 第一行输入为n,m,之后是n行m维的箱子 解题思路:嵌套关系是二元关系,因此这题即 ...
分类:
其他好文 时间:
2016-04-07 01:29:15
阅读次数:
203
和上一道题一样,可以用DAG上的动态规划来做,也可以建立一个源点,用spfa来做 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 9 const ...
分类:
其他好文 时间:
2015-08-03 20:54:48
阅读次数:
97
嵌套矩形问题(最长路及其字典序)有n个举行,选出尽量多的矩阵排成一排,使得除了最后一个之外,每一个矩形可以嵌套在下一个矩形内,并且打印#include #include #include #include #include #include #include #include #include #i...
分类:
其他好文 时间:
2015-03-12 18:43:06
阅读次数:
148