摘要: 题意:数量为N的序列a和b,a初始全为0,b为给定的1-N的排列。有两种操作:1.将a序列区间[L,R]中的数全部+1;2.查询区间[L,R]中的 ∑⌊ai/bi⌋(向下取整) 分析:对于一个位置i,如果ai<bi,那么该位置不能对结果做出贡献;而当某一次操作后,ai>=bi了,就对结果的贡献值+1 阅读全文
posted @ 2018-07-26 19:45 xiuwenL 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题意:求有向图的最小路径覆盖,但是点可以被多条路径重复走过! 求最小路径覆盖的问题:HDU1151, 链接: http://acm.hdu.edu.cn/showproblem.php?pid=1151 分析:点能被重复覆盖是和单纯地求最小路径覆盖的区别,这样的话在一个弱连通子图中,可能出现中间结点 阅读全文
posted @ 2018-07-26 19:29 xiuwenL 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题意:有最少用多少条边不重复的路径可以覆盖一个张无向图。 分析:对于一个连通块(单个点除外),如果奇度数点个数为 k,那么至少需要max{k/2,1} 条路径。将奇度数的点两两相连边(虚边),然后先从奇度数的点出发,搜索由其出发的欧拉回路。需要将遍历的边和其反向边打标记,并在DFS退栈的时候记录边的 阅读全文
posted @ 2018-07-26 15:30 xiuwenL 阅读(773) 评论(0) 推荐(0) 编辑
摘要: 1.最小定点覆盖 = 最大匹配2.最大独立集 = 顶点数 - 最大匹配3.最大团 = 补图的最大独立集 【最小路径覆盖】 首先给出公式:DAG的最小路径覆盖数=DAG图中的节点数-相应二分图中的最大匹配数. 一个PXP的有向图中,路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点 阅读全文
posted @ 2018-07-26 09:44 xiuwenL 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个有向无环图,求最少划分几条路径,使之能够覆盖所有点。 分析:这可以转化为DAG上的最小路径覆盖问题。 路径覆盖的定义:有向图中,路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联;(如果把这些路径中的每条路径从它的起始点走到它的终点,那么恰好 阅读全文
posted @ 2018-07-26 08:31 xiuwenL 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题意:根据图的度数列构造图 分析:该题可根据Havel定理来构造图。Havel定理对可图化的判定: 把序列排成不增序,即d1>=d2>=……>=dn,则d可简单图化当且仅当d’={d2-1,d3-1,……d(d1+1)-1, d(d1+2),d(d1+3),……dn}可简单图化。简单的说,把d排序后 阅读全文
posted @ 2018-07-25 11:55 xiuwenL 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题意:对一个带权有向图,将所有点纳入一个或多个环中,且每个点只出现一次,求其所有环的路径之和最小值。 分析:每个点都只出现一次,那么换个思路想,每个点入度出度都为1。将一个点拆成两个点,一个作为入度点,一个作为出度点。每个入度点都和一个出度点匹配,且不为自己。那么可以将问题转化为二分图最优匹配的问题 阅读全文
posted @ 2018-07-25 11:53 xiuwenL 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题意:P个小朋友,每个人有喜欢的动物和讨厌的动物。留下喜欢的动物并且拿掉讨厌的动物,这个小朋友就会开心。问最多有几个小朋友能开心。 分析:对于每个动物来说,可能既有人喜欢又有人讨厌,那么这样的动物实际上建立了一对矛盾关系,将其视作一条边,连接有矛盾的两个小朋友。但是这样连边的话,相当于一个小朋友拆成 阅读全文
posted @ 2018-07-25 09:55 xiuwenL 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题意:对N个由(,)组成的字符串,求拼接后得到的最大的balance序列的长度。balance序列:空串/ A+B(A,B都是b序列)/ (+A+),A为b序列。此三种情况。 分析:在读入N每个字符串时,先将单独一个字符串中的b序列长度提取出来,记录其没有被使用的左弧L和右弧R的数目。因为要使其最后 阅读全文
posted @ 2018-07-24 16:17 xiuwenL 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题意:一个N*N的01矩阵,行与行、列与列之间可以互换。要求变换出一个对角线元素全为1的矩阵,给出互换的行号或列号。 分析:首先一个矩阵若能构成对角线元素全为1,那么矩阵的秩为N,秩小于N的情况无解。所以一个矩阵可以仅通过行变换不能得到最后结果,那么仅通过列变换或者行列变换都不能得到。 可以将行号看 阅读全文
posted @ 2018-07-24 13:57 xiuwenL 阅读(196) 评论(0) 推荐(0) 编辑