题意: 一个有n个数的排列,给你一些位置上数字的大小关系。求合法的排列有多少种。思路: 数字的大小关系可以看做是一条有向边,这样以每个位置当点,就可以把整个排列当做一张有向图。而且题目保证有解,所以只一张有向无环图。这样子,我们就可以把排列计数的问题转化为一个图的拓扑排序计数问题。 拓扑排序的...
分类:
其他好文 时间:
2014-08-08 15:25:36
阅读次数:
195
题意:
一个序列p1、p2、p3……pn是由1、2、3……n这些数字组成的 现给出一些条件pi
思路:
很容易想到用一条有向的线连接所有的pi和pj 那么就构成了有向无环图(题中说有解所以无环)
又因为pi各不相同 那么题目就变成了有向无环图的拓扑排序的种类数
题目中边数较少 所以可能出现不连通情况 我们先讨论一个连通集合内拓扑排序的种类数
题目中m较小 可以利用状...
分类:
其他好文 时间:
2014-08-08 12:54:25
阅读次数:
233
按照硕神的说法,以无比丑的姿势 建了个图。然后裸搞 拓扑排序#include #include #include #include #include #include #include #include #include #include #include #include #includeus.....
分类:
其他好文 时间:
2014-08-07 21:40:30
阅读次数:
262
http://acm.hdu.edu.cn/showproblem.php?pid=1285
确定比赛名次
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 11664 Accepted Submission...
分类:
其他好文 时间:
2014-08-07 13:25:20
阅读次数:
191
中文题,不解释。
这是我的第一道拓扑排序题,先来讲一下什么是拓扑排序:
拓扑排序其实就是如果要进行某一项活动的时候,它的基础活动要先进行。比如说,学概率论之前必须要学会高等数学,那么高等数学就是学概率论的前提条件,这就牵涉到先后课程怎么学习,就是谁先学谁后学习, 拓扑排序就是解决这类问题的。
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=128...
分类:
其他好文 时间:
2014-08-07 13:22:01
阅读次数:
203
拓扑排序是对有向无环图的一种排序。表示了顶点按边的方向出现的先后顺序。假设有环,则无法表示两个顶点的先后顺序。在现实生活中,也会有不少应用样例,比方学校课程布置图,要先修完一些基础课,才干够继续修专业课。一个简单的求拓扑排序的算法:首先要找到随意入度为0的一个顶点,删除它及全部相邻的边,再找入度为0...
分类:
其他好文 时间:
2014-08-06 22:40:22
阅读次数:
306
【题意】:n个重量为1~n的球,给定一些球之间的重量比较关系(如 2 1 表示第二个球比第一个球轻),求每个球可能的重量,ans[i] 表示第i个球的重量,要求输出的是ans字典序最小的情况。【思路】:对于给出的a b 建反边,每次 在出度为0的所有点里选一个序号最小的赋值(从n开始 由大到小赋)。...
分类:
其他好文 时间:
2014-08-06 18:43:21
阅读次数:
281
做多校的时候遇见一个求拓扑排序数量的题,就顺便来写了一下。题意: 你有个朋友是KOF的狂热粉丝,他有一个对其中英雄的强弱比较,让你根据这些比较关系来给这些英雄排名。问一共有多少种排名方式。思路: 用dp[S]记录当前状态的数量。 S表示拓扑排序中当前阶段已经被排序的点的集合。然后就可以枚举当前排.....
分类:
其他好文 时间:
2014-08-06 18:17:24
阅读次数:
315