错误的地方欢迎指正!!!O(∩_∩)O~~
引子:
我们默认把一个点 可以拆为 左点 和 右点
情况一:每个点只能走一次(除了起点和终点可以走多次),问你走2次获取的最大权值和。
1,对可达边处理,明确一下当选择一个点的左点或者右点时,都说明你选择了走这个点。
我们会考虑四种情况,题目要求————每个点只能走一次。所以我们如果选择一个点就必须要获取它的点权
(1)u的左...
分类:
其他好文 时间:
2015-08-27 00:28:09
阅读次数:
165
传送门:点击打开链接
题意:告诉你一个字典,每个单词有一个权值,再给你一个字符串,问这个字符串用字典中的单词不重复字母的覆盖,最大权值是多少。一个单词可以重复出现
思路:先如果不考虑单词匹配,那么就是一个单纯的dp,dp[i]表示前i个已被完全覆盖此时的权值大小,如果在i位置后面有一个单词的长度为l,权值是w,且此时在i位置后长度为l的子字符串就等于那个单词,说明那个单词能放在这个位置,就有d...
分类:
其他好文 时间:
2015-08-21 23:17:49
阅读次数:
201
题意:有一个n * m的数字矩阵,每个格子放着一个非负整数,从左上角走到右下角,每个格子最多走一次,问所经过的格子的最大权值之和是多少,并且输出一个路径。分析:如果n和m有一个是偶数的话,那么只要按照蛇形的走法一直走下去即可。比如n为奇数的时候就这样,左右左右地蛇形走。同样的,如果m为奇数的时候,也...
分类:
其他好文 时间:
2015-08-19 23:43:05
阅读次数:
219
//给出每个点的权值,
//从中选出一些点,使得这些点的权值和最大
//其中选择该点一定要选择在它前面的点,问最终的最大权值是多少
//对于所有正权的点与源点相连,权值为该点权值
//所有负权点与汇点相连,权值为该点权值的绝对值
//每一点与其前面的点相连,权值为无穷大
//这样求出这个图的最小割,用所有正权之和减去这个最小割即为结果
//减去最小割后剩下的点所有正权点集到负权的点集没有边相连,
...
分类:
其他好文 时间:
2015-08-17 15:42:11
阅读次数:
139
传送门
大意:我们把图分为两部分,使得两部分中的内部边的最大权值最小。
思路:哎,拿到题的时候想了二分图染色,发现不好做,但我没有想到二分,只好最后去骗了一个30分。正确的思路是:首先我们要 去二分最大的冲突边的是哪一条(按照权值二分),因为当二分的边权增大时,连的边也就越少,连通块的数目就越多,冲突就越少,所以边权是可以二分的,在二分过后用二分图判定,如果可以染成二分图即为可行的解。代码:#i...
分类:
其他好文 时间:
2015-08-17 08:47:01
阅读次数:
232
如今我终于来用LCT做这个题了QwQDescription一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u...
分类:
Web程序 时间:
2015-08-16 10:46:58
阅读次数:
127
题意:
给你一颗以1位根节点的树,我们定义对于每个子树,节点权值最大的权值记为这个子树的权值,为你将1~n放到这个树里
满足最大权值只有k个的组合数是多少。
思路:
我们可以知道以每个节点为子树,且根节点权值最大的概率是多少,不是的概率是多少。
那么其实问题就变成了 我们在n个物品里面,每个物品拿的概率是pi不拿的概率是1-pi
问你拿k个物品的概率是多少
然后最后乘n!就好了。中间...
分类:
其他好文 时间:
2015-08-12 21:52:18
阅读次数:
128
uvalive3887给定一个带权的无向图,求得一棵最小生成树,是的树中的最大边权-最小边权的差值最小分析:当确定一个最小边时(其他的边的权值都比他大),那么之后按照kruskal算法得到的最小生成树,此时得到的最小生成树的最大权值也肯定是最小的,因为是kruskal是按照贪心来选边的。所以只要不断...
分类:
其他好文 时间:
2015-07-30 09:22:21
阅读次数:
97
题意:
给你若干个点和带权有向边,要求把所有点连成环,可以多个环,但是每个环至少要有两个点。
做法:
所有的点成环,可以知道所有的点 入度和出度都为1。并且只要符合这个条件,所有点肯定是在一个环中的,也就是符合条件了。
所以可以建一个二分图,左边的点从s流入费用为0,流量为1,表示入度为1 ,右边一样。
然后根据边 建流量为1,费用为边权的边,这就是最大权值匹配的图了。
这样只要满流就符合条件了。...
分类:
其他好文 时间:
2015-07-24 18:34:16
阅读次数:
231
[题意]
给定一颗树上的几条链和每条链的权值,求能取出的不含有公共节点的链的最大权值....
[解]
预处理每条链的lca
树形DP, d[i]表示取到这个节点时可以得到的最大值 , sum[i]=sigma( d[k] | k 是i的子节点)
如果不取i d[i]=sum[i]
如果取i , e是lca为i的链则 d[i]=max(d[i],e的权值+sigma(sum[k])-s...
分类:
其他好文 时间:
2015-07-23 10:46:56
阅读次数:
183