上一页 1 2 3 4 5 6 7 8 9 10 ··· 79 下一页
摘要: 经典题。 讲4种做法 跨越LCA部分全部用KMP处理即可。略过。 问题集中在怎样找到u到根的链上一个串的出现次数。 1.离线+AC自动机 离线建AC自动机,匹配,树状数组查fail树子树即可。 log 2.在线+树剖+SAM+线段树合并 树剖,每个重链维护SAM,暴力匹配,线段树合并查询right集 阅读全文
posted @ 2019-07-03 12:18 *Miracle* 阅读(328) 评论(0) 推荐(0) 编辑
摘要: https://i.cnblogs.com/EditPosts.aspx?opt=1 https://blog.csdn.net/qq_39972971/article/details/79386886#commentBox 删掉一些边强连通——>保留一些边不强连通 也就是,缩点之后变成DAG(且> 阅读全文
posted @ 2019-07-03 08:26 *Miracle* 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 不知道咕了多长时间的题。。。 讲了3遍,还是自己搞懂了。。 暂时没有找到题目链接 题意: n×m的网格,每个格子填[1,x]的数,使得不存在两行两列同构。 先保证一个,行相同。 再容斥掉列。 枚举至多可以分成k个等价类。S表示第二类斯特林数 $ans=\sum_{k=1}^{m}C(x^k,n)\t 阅读全文
posted @ 2019-07-02 17:59 *Miracle* 阅读(371) 评论(0) 推荐(0) 编辑
摘要: CF1012F Passports 这个题也写了半天,哎。 说起来很简单。 考虑P=1的情况 无非就是在旅行之前办完所有签证。 f[S]表示办完S集合的签证,最早拿回护照的时间 枚举下一个签证进行转移。 P=2 一部分分配给一个护照办签证+旅行 f[S]表示,某个护照办完S集合的签证,并且将要用这个 阅读全文
posted @ 2019-06-30 21:18 *Miracle* 阅读(315) 评论(0) 推荐(0) 编辑
摘要: #include using namespace std; string name, tmp, s; int main() { cin >> tmp ; s = "g++ " + tmp + ".cpp -Wall -O2 -std=c++11 -fsanitize=address -ftrapv -o " + tmp ; system(s.c_str()); r... 阅读全文
posted @ 2019-06-29 22:21 *Miracle* 阅读(321) 评论(0) 推荐(0) 编辑
摘要: #include #define reg register int #define il inline #define fi first #define se second #define mk(a,b) make_pair(a,b) #define numb (ch^'0') #define pb push_back #define solid const auto & #define ent... 阅读全文
posted @ 2019-06-29 22:18 *Miracle* 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 这个时候考过:安师大附中集训 Day2 当时看shadowice1984的做法,但是没有亲自写,,, 雅礼集训考试的时候鼓捣半天,被卡常到80pts,要跑9s 卡不动。 正解实际是: 3重容斥 1.随便选-一个对角线空+两个对角线空 2.2^m枚举每一个位置放不放 3.对角线空——若干个位置不空,再 阅读全文
posted @ 2019-06-28 20:55 *Miracle* 阅读(208) 评论(0) 推荐(0) 编辑
摘要: CF908G New Year and Original Order gzz讲过,可我到今天还是不会 有点trick的数位DP 比较显然的思路是,考虑所有数中排序后每一位的贡献。cnt(i,x)表示S(1)~S(x)第i位是x的数的个数 设这个数大于x的出现j次,等于x的出现k次,充分必要条件是,j 阅读全文
posted @ 2019-06-27 22:05 *Miracle* 阅读(210) 评论(0) 推荐(0) 编辑
摘要: orzzzq 类似杜教筛的构造思想。 构造容易求的东西求出f的前缀和 不同之处是,杜教筛构造出两个可以快速求前缀和但是powerful number(简称pn)构造方法有所不同。 对于这个题 数据范围,min_25筛显然是过不去的。最多跑到1e11 $f(p^e)=p^k$启发 构造$g(x)=x^ 阅读全文
posted @ 2019-06-26 22:06 *Miracle* 阅读(444) 评论(0) 推荐(0) 编辑
摘要: CF183D T-shirt 考虑每次的选择,一定是选择一件衣服使得能送出的概率最大 f[i][j]表示,至少有j个人能穿第i个的概率 选择最大的n个f[i][j]就是答案。 直接dpO(m*n^2)会TLE 我们只要前n大,而f[i]显然单调 加入f[i][1],选择最大的。再计算f[i][2] 阅读全文
posted @ 2019-06-25 20:18 *Miracle* 阅读(312) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 79 下一页