![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hdu
guapisolo
已经弃掉CSDN转博客园了https://www.cnblogs.com/guapisolo/
展开
-
hdu 6125 Free from square (状压DP+分组背包)
题目大意:让你在1~n中选择不多于k个数(n,k<=500),保证它们的乘积不能被平方数整除。求选择的方案数 因为质数的平方在500以内的只有8个,所以我们考虑状压 先找出在n以内所有平方数小于等于n的质数,然后我们把它们作为状压的状态 然后要对每个小于n数进行状压,如果它不能被它能被质数的平方整除,那就筛出它所有的在状态内的质因子,大于状态内的质因子我们存到剩余因子的乘积的部分里 ...原创 2018-08-18 12:43:38 · 301 阅读 · 0 评论 -
hdu 6149 Valley Numer II (状压DP 易错题)
题目大意:给你一个无向连通图(n<=30),点分为高点和低点,高点数量<=15,如果两个高点和低点都直接连边,那么我们称这三个点形成一个valley,每个点最多作为一个valley的组成部分,求valley的最大数量 高点状压,然后枚举低点,判断这个低点能否影响答案 注意:上一层的值要全都先赋给这一层,再枚举这一层,否则上一层的某些状态可能还没枚举到就枚举这一层了 (比如上一层...原创 2018-08-16 20:18:46 · 118 阅读 · 0 评论 -
hdu 5763 Another Meaning (KMP/哈希+DP)
题目大意:给你两个串,一长一短,如果长串中某个子串和短串完全相同,则这个子串可以被替换成"#",求长串所有的表达形式....... 比如"hehehehe"和"hehe",则有5种情况,"#hehe","he#he","hehe#","##","hehehehe" 首先我们KMP/哈希找出长串中所有可以作为和短串结尾匹配成功后的位置 然后可以得原创 2018-08-15 19:02:00 · 126 阅读 · 0 评论 -
hdu 3689 Infinite monkey theorem (KMP+DP)
题目大意:一群猴子打字,给定猴子输入每种字符的概率以及输入次数,求输出的文本中出现指定字符串的概率 强烈建议看这篇文章:http://www.matrix67.com/blog/archives/366 里面对这道题的分析很详细 思路比较清奇,我们先用KMP求出指定串的next,接下来是DP的过程 表示输入了i个字符,匹配到了第j个的概率 这道题是一个贪心的思路,我们在第j位可以填上任意字...原创 2018-08-16 13:26:56 · 211 阅读 · 0 评论 -
hdu 3336 Count the string (KMP+DP)
题目大意:给你一个字符串,求所有前缀在原串的出现次数之和 打个表推推,KMP+DP随便水水就过了吧 #include <cstdio> #include <algorithm> #include <cstring> #define N 200100 #define mod 10007 #define ui unsigned int using namesp...原创 2018-08-16 14:05:56 · 86 阅读 · 0 评论 -
hdu1828 Picture (线段树:扫描线周长)
依然是扫描线,只不过是求所有矩形覆盖之后形成的图形的周长。 容易发现,扫描线中的某一条横边对答案的贡献。 其实就是 加上/去掉这条边之前的答案 和 加上/去掉这条边之后的答案 之差的绝对值 然后横着竖着都做一遍就行了 #include <cstdio> #include <cstring> #include <algorithm> #define N ...原创 2018-08-30 16:38:47 · 137 阅读 · 0 评论