摘要: 题意: 给一棵树,每条边有权。求一条简单路径,权值和等于K,且边的数量最小。 分析: 对于这道题,和计算长度恰好为k的路径数量差不多,只不过那个所谓的桶里不装数量,装达到这个长度的最小的边数。 (感觉把这个桶应用好,能解决点分治的不少题目) 当然呢,为了进一步节约时间,我们不必每次都把桶memset 阅读全文
posted @ 2019-02-23 21:25 杜宇一声 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 题目: 输入点数为N一棵树,求树上长度恰好为K的路径个数 分析: 题目的数据范围不是很紧,点分治也可以过,树形dp也可以过。这里采用点分治做法。 我们只需要单开一个类似于桶的数组,跑点分治套路,统计即可,每次处理一棵子树,先在桶上跑统计,处理完一棵子树再更新桶。这样可以保证每一段路径都直接跨过根节点 阅读全文
posted @ 2019-02-23 19:53 杜宇一声 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定一棵有n个点的树询问树上距离为k的点对是否存在。 分析: 这个题的询问和点数都不多(但是显然暴力是不太好过的,即使有人暴力过了) 这题应该怎么用点分治呢。显然,一个模板题,我们直接用套路,每次找重心,对于这个重心处理,过当前点的符合要求的路径。 我们可以看到这个最大长度1e7,开数组是开 阅读全文
posted @ 2019-02-23 17:36 杜宇一声 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题意: DNA序列,在母串s中匹配模式串t,对于s中每个位置i,只要s[i-k]到s[i+k]中有c就认为匹配了c。求有多少个位置匹配了t。 分析: 这个字符串匹配的方式,什么kmp,各种自动机都不灵。 所以有一个邪门功夫,fft字符串匹配。(做过洛谷《残缺的字符串》一题的应该都不陌生,带通配符的匹 阅读全文
posted @ 2019-02-23 11:57 杜宇一声 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 题面: 给你一个串S以及一个字符串数组T[1..m],q次询问,每次问S的子串S[p_l..p_r]在T[l..r]中的哪个串里的出现次数最多,并输出出现次数。如有多解输出最靠前的那一个。 分析: 第一次见这道题时,由于对算法十分陌生,就将其压进了任务计划,这一天又提到了这道题,这才算是重见天日。 阅读全文
posted @ 2019-02-23 08:59 杜宇一声 阅读(257) 评论(0) 推荐(0) 编辑