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
先处理出最短路上的边。变成一个DAG,然后在DAG上进行DFS。 ...
分类:
其他好文 时间:
2016-05-19 21:09:41
阅读次数:
177
先找出可能在最短路上的边,图变成了一个DAG,然后在新图上DFS求答案就可以了。 ...
分类:
其他好文 时间:
2016-05-16 19:48:26
阅读次数:
142
一、问题现象我现在遇到一个问题,我的环境情况是:WIndowsserver2012R2+Exchange2013CU12(CAS使用NLB,Mailbox使用DAG)环境。我在外网用户使用Outlook2013配置OutlookAnywhere模式,在发送邮件过程中经常出现很久才能发送,发送到邮件一直保留在发件箱中。在客户端等待30分钟..
分类:
其他好文 时间:
2016-05-16 17:51:32
阅读次数:
430
最短路+dfs 先找出可能在最短路上的边,这些边会构成一个DAG,然后在这个DAG上dfs一次就可以得到两个答案了。 也可以对DAG进行拓扑排序,然后DP求解。 ...
分类:
其他好文 时间:
2016-05-15 21:19:24
阅读次数:
145
上一篇我们谈论了Flink stream source,它作为流的数据入口是整个DAG(有向无环图)拓扑的起点。那么与此对应的,流的数据出口就是跟source对应的Sink。这是我们本篇解读的内容。...
分类:
Web程序 时间:
2016-05-13 02:56:37
阅读次数:
3019