题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1143 题解: 给你一个DAG,求最大的顶点集,使得任意两个顶点之间不可达。 把每个顶点v拆成v和v',对于边u,v,建成(u,v'),得到一个二分图。 先对二分图floyd求闭包,然后求二 ...
分类:
其他好文 时间:
2016-06-19 01:12:14
阅读次数:
244
tarjan,状态压缩。 首先直接暴力可过。 第一步tarjan缩强联通分量,图变成一个dag。跑一个拓扑排序。 然后倒序用一个f[i]二进制数组表示i能到达的点。 因为2000个点已知数据类型放不下,用一个bitset。 然后答案就是sum(size[u]*size[v]) f[u][v]=1,u... ...
分类:
Web程序 时间:
2016-06-17 12:31:23
阅读次数:
202
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=16 像套娃一样把矩形套起来。先给矩形从小到大排序,然后做最长上升子序列就行 ...
分类:
其他好文 时间:
2016-06-08 18:42:21
阅读次数:
233
题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1051 题解: 强连通缩点得到DAG图,将图转置一下,对入度为零的点跑dfs看看能不能访问到所有的点。 代码: ...
分类:
其他好文 时间:
2016-06-06 21:53:27
阅读次数:
196
SDUTOJ 2498 AOE网上的关键路径 题目描述 一个无环的有向图称为无环图(Directed Acyclic Graph),简称DAG图。 AOE(Activity On Edge)网:顾名思义,用边表示活动的网,当然它也是DAG。与AOV不同,活动都表示在了边上,如下图所示: 如上所示,共 ...
分类:
其他好文 时间:
2016-06-05 16:56:12
阅读次数:
203
5. 基于图的做法
依赖图覆盖的指令选择器是目前能得到的最强大的代码生成器。通过允许输入及模式具有任意的图形状,指令选择器能够接受整个函数为输入——这被称为全局指令选择——有可能处理各种机器指令,包括硬件循环及SIMD指令。最重要的,与局限在单个基本块的基于DAG覆盖的技术相比,全局指令选择器可以在多个块间自由地移动及覆盖节点。这增加了应用复杂模式的机会,这可能导致性能提升及减少功耗。...
分类:
其他好文 时间:
2016-06-03 19:15:50
阅读次数:
310
最大匹配数:最大匹配的匹配边的数目
最小点覆盖数:选取最少的点,使任意一条边至少有一个端点被选择
最大独立数:选取最多的点,使任意所选两点均不相连
最小路径覆盖数:对于一个 DAG(有向无环图),选取最少条路径,使得每个顶点属于且仅属于一条路径。路径长可以为0(即单个点)。
定理1:最大匹配数 = 最小点覆盖数(这是 Konig 定理)
定理2:最大匹配数 = 最大独立数
定理3:最小...
分类:
编程语言 时间:
2016-06-02 14:36:16
阅读次数:
219
4. DAG覆盖
就像我们在前一章看到的,唯一地依赖树的一个内在缺点是不能正确地对公共子表达式建模。这意味着一个表达式必须要么分成一个树林,要么在每棵子树中重复操作。两者都不是好的解决案,因为它们都导致次优的代码。这个问题的一个解决方案是不要把表达式建模为树,而是有向无环图(DAG)。DAG允许节点有多个外出边,因此使得中间节点的值可以共享及重用。执行指令选择可以使用与树相同的模式匹配...
分类:
其他好文 时间:
2016-05-30 15:50:47
阅读次数:
227
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5638 题意: 给你一个DAG图,删除k条边,使得能个得到字典序尽可能小的拓扑排序 题解: 把拓扑排序的算法稍微改一下,如果某个顶点的入度小于k也把它加到优先队列里面去。 k减小后队列里面会有些点不满足 ...
分类:
编程语言 时间:
2016-05-29 23:05:18
阅读次数:
162
描述 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=378 n种方块,给出每一种的长宽高,现在要落起来,上面的方块的长和宽要严格小于下面的方块,问最多落多 ...
分类:
其他好文 时间:
2016-05-25 16:31:11
阅读次数:
146