摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=5834 题意: 一棵树上每个节点有一个价值$Vi$,每个节点只能获得一次,每走一次一条边要花费$Ci$,问从各个节点出发最多能收获多少价值。 思路: 需要考虑子节点和父亲节点两个方面。既然是这样,那就需要两次dfs 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=6170 题意:给出两个字符串,第二个字符串中会有两个特殊字符$.$和$*$,$.$可以匹配任一字符,$*$可以使前面一个字符出现任意次,注意,可以出现0次,也就是把前面那个删了。问这两个串是否可以匹配。 思路: 一 阅读全文
摘要:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1243 题意: 思路: 二分来做,每次贪心的把船安排到能安排的最左边即可。 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=2243 题意: 给出m个模式串,求长度不超过n的且至少包含一个模式串的字符串个数。 思路: 如果做过poj2778的话,那么这题相对来说就会容易一些。 如果直接去计算的话,情况很复杂,和poj2778一样,我们先求 阅读全文
摘要:
http://poj.org/problem?id=2778 题意:给出一些病毒字符串,只由A,T,C,G组成,现在要用着4个字符组成长度为n的字符串,且字符串中不可以包含任一病毒字符串,问共有多少种字符串。 思路: 回想一下离散数学中所学的邻接矩阵 而AC自动机的状态图就是一个有向图,我们只需要根 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=3065 题意:求每个模式串出现的次数。 思路: 不难,把模板修改一下即可。 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=2222 题意:给出多个单词,最后再给出一个模式串,求在该模式串中包含了多少个单词。 思路: AC自动机的模板题。 阅读全文
摘要:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1199 题意: 思路:因为是一棵树,所以需要把它剖分一下再映射到线段树上,剖分的话只需要dfs一遍树即可,得到的dfs序就是每个结点在线段树中的位置,子树上的节点的编号都是连 阅读全文
摘要:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1463 题意: 思路: 好题! 先对所有查询进行离线处理,按照右区间排序,因为k一共最多只有10个,所有在该区间内的B数组,每次枚举K值,通过这样的方式来得到另外一个B值。但 阅读全文
摘要:
https://vjudge.net/problem/SPOJ-QTREE 题意: 给出一棵树,树上的每一条边都有权值,现在有查询和更改操作,如果是查询,则要输出u和v之间的最大权值。 思路: 树链剖分的模板题。 树链剖分简单来说,就是把树分成多条链,然后再将这些链映射到数据结构上处理(线段树,树状 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=6178 题意:现在有一n个顶点的树形图,还有k只猴子,每个顶点只能容纳一只猴子,而且每只猴子至少和另外一只猴子通过边相连,现在要删边,保留最少的边使得满足题意。 思路: 贪心的想一想,顶点两两匹配时一条边的贡献值就 阅读全文
摘要:
http://poj.org/problem?id=2104 题意:求区间$[l,r]$的第k小。 思路:主席树不好理解啊,简单叙述一下吧。 主席树就是由多棵线段树组成的,对于数组$a[1,2...n]$,对于每个i,我们都去建立一棵线段树维护$a[1,..i]$出现的数的个数。 但是如果每一棵线段 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=6072 题意: 给你$n*n$的矩阵,每次修改k条边,让你计算其中能相互到达的点对有多少。 思路: 其实就是求强连通分量,如果一个强连通分量里有n个点,那么这里面的点对就有$n*(n-1)/2$。用Kosaraju 阅读全文
摘要:
http://poj.org/problem?id=2728 题意: 在这么一个图中求一棵生成树,这棵树的单位长度的花费最小是多少? 思路: 最优比率生成树,也就是01分数规划,二分答案即可,题目很简单,因为这题是稠密图,所以用prim算法会好点。 阅读全文
摘要:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1693 题意: 思路: 这个思路真是神了。。 对于每个点$i$,它需要和$i-1$连一条边,代表退格操作,权值为1,但是对于复制粘贴操作就比较麻烦了,因为它可以复制之后粘贴多 阅读全文
摘要:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1444 题意: 思路: 哇,思路爆炸。 因为每条边的权值都为1,所以可以直接用bfs来求出任意两个点之间的最短距离,复杂度为$O(n^2)$。 然后之后再暴力枚举一下,看看这 阅读全文
摘要:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1076 题意: 思路: 边双连通分量,跑一遍存储一下即可。 阅读全文
摘要:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1307 题意: 思路: 可以直接二分答案,然后dfs。 因为标签是并查集,所以我考虑了一下并查集,利用并查集不断向上回溯加负重,居然过了,只能说数据有点水。 阅读全文
摘要:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1445 题意: 思路: 挺好的一道题目,如果$colormap[i][j]$为'Y',那么这条边的代价就是前面Y出现的次数。也就是说前面必须得都破坏了这样才能轮到这条边,这样 阅读全文
摘要:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1967 题意: 思路: 出度=入度,这很容易想到欧拉回路,事实上,这道题目也确实是用欧拉回路来做的,之前一直觉得应该用网络流来做,可惜想不出,后来看官方题解说也是可以的,但是 阅读全文