题目大意:给定nn和pp,我们需要构造一张点数为nn,边数为2n+p2n+p的简单无向图,满足任意一个点数为kk的子图的边数不超过2k+p2k+p逗B题……我们只需要把字典序最小的2n+p2n+p条边输出就行了
下面我们来证明这么做是对的首先这个条件等价于【删掉任意kk个点,都有至少2k2k条边被跟着删掉】
然后我们来看这样一个图:
显然这个图是我们构造的图的子图
下面我们来证明这个性质...
分类:
其他好文 时间:
2015-05-15 21:27:12
阅读次数:
150
hdu 5224 Tom and paper
题意:
给出一个1~n的排列,求所有字典序比它小的排列的逆序对之和,答案对1e9+7取模。
限制:
1
思路:
分类讨论
1. 全排列的逆序对之和:n!*n*(n-1)/4
2. 然后遍历每一位,相等的话继续看后面一位,不等的话,看后面小于它的有多少个数,然后乱搞一下。
/*hdu 5224 Tom and paper
...
分类:
其他好文 时间:
2015-05-14 18:47:16
阅读次数:
117
Safecracker
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 9965 Accepted Submission(s): 5097
Problem Description
=== Op tech br...
分类:
编程语言 时间:
2015-05-14 08:44:07
阅读次数:
169
dfs求字典序最小的2-sat解方法:
如果原图中的同一对点编号都是连续的(01、23、45……)则可以依次尝试第0对、第1对……点,每对点中先尝试编号小的,若失败再尝试编号大的。这样一定能求出字典序最小的解(如果有解的话),因为一个点一旦被确定,则不可更改。
如果原图中的同一对点编号不连续(比如03、25、14……)则按照该对点中编号小的点的编号递增顺序将每对点排序,然后依次扫描排序后的...
分类:
其他好文 时间:
2015-05-13 16:54:04
阅读次数:
113
题目大意:Tom学会了通过写程序求出一个1-n的排列的逆序对数,但他的老师给了他一个难题:
给出一个1-n的排列,求所有字典序比它小的1-n的排列的逆序对数之和。
Tom一时不知道该怎么做,所以他来找你帮他解决这个问题。
因为数可能很大,答案对109+7取模。
解题思路:从1到n枚举k,表示当前要计算的排列与读入的排列前k-1项相同,而第k项不同。对于每一个k,再枚举一个t,表示当前要计算的...
分类:
其他好文 时间:
2015-05-13 16:48:23
阅读次数:
193
题目链接:
Hashing-Hard Version
解题思路:
暴力,首先根据题目要求将所有给出节点按字典序(从小到大)排列
循环S(节点总数)次,每次通过遍历数组找到一个未出现过的,且满足条件:只能出现在现有位置上(本可出现在之前位置,但被其他节点占据)的节点
输出节点的值 并标记为出现过即可得到答案
代码:
#includ...
分类:
其他好文 时间:
2015-05-12 17:15:40
阅读次数:
181
http://poj.org/problem?id=3581这题说是给了N个数字组成的序列A1 A2 ..An 其中A1 大于其他的数字 , 现在要把序列分成三段并将每段分别反转求最小字典序以后还是老老实实用基数排序 用sort wa 了 一晚#include #include #include #...
分类:
编程语言 时间:
2015-05-12 10:55:00
阅读次数:
245
题目:给定一个1到n的排列,求字典序小于这个排列的所有排列的逆序对数之和。思路:既然是求字典序小于这个排列的,不妨将排列根据和它前k位相同来分类,然后枚举第k+1位的数(小于原序列第k+1位的数),假设逆序对的位置为(x,y),对于1 4 #include 5 #include 6 #in...
分类:
其他好文 时间:
2015-05-11 01:19:19
阅读次数:
135
题意:
Tom学会了通过写程序求出一个1-n的排列的逆序对数,但他的老师给了他一个难题:
给出一个1-n的排列,求所有字典序比它小的1-n的排列的逆序对数之和。
Tom一时不知道该怎么做,所以他来找你帮他解决这个问题。
因为数可能很大,答案对109+7取模。
从前往后推,先计算1-k的所有排列可以产生逆序总数,
先假设db[2]为1-2的结果,那么我们来看3的排列,他是由1[2,3]...
分类:
其他好文 时间:
2015-05-10 09:46:21
阅读次数:
125
问题描述:在数据加密和 数据压缩中常需要对特殊的字符串进行编码.给定的字母表A由26个小写英文字母组成,即A={a,b...z}.该字母表产生的长序字符串是指定字符串中 字母从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1次.例如,a,b,ab,bc,xyz,等字符串是升序字符...
分类:
其他好文 时间:
2015-05-10 01:00:48
阅读次数:
197