摘要: 多模式串匹配问题,因为要求每个串不重复出现的次数,我们只需要对于每个串维护一个len,如果匹配到当前串的末尾并且到之前匹配的长度大于等于len,那么说明是新的答案 我采用的方法是对于每个独立串的末尾标记一下,这样我们去做自动机的时候就能够知道是否匹配,但是每次都要走到根,因为这样才可以覆盖到所有的串 阅读全文
posted @ 2020-10-29 23:41 朝暮不思 阅读(131) 评论(0) 推荐(1)
摘要: 本题难想的是状态设计,因为要做到不重不漏,所以我们设计状态为f[i][j]表示以i为根,子树中到i点最大距离为j的方案数。 那么在更新的时候,只要根据新的子树和之前所有的子树的关系即可更新,因为很多j都可以成为答案,如果再枚举一维就会超过复杂度 因此使用前缀和优化,来降维到二维dp #include 阅读全文
posted @ 2020-10-29 20:29 朝暮不思 阅读(172) 评论(0) 推荐(0)
摘要: 比较容易看的出来的是这题求得是最小公倍数的最大值 然后我们可以发现一定是选不同质数的次幂,因此每个质数的次幂就是一个集合,因此只需要跑一下分组背包就可以了 #include<bits/stdc++.h> using namespace std; typedef long long ll; const 阅读全文
posted @ 2020-10-29 09:16 朝暮不思 阅读(118) 评论(0) 推荐(0)