摘要: ##题面 故事发生在某一天的下午, 我如同往常一样打开题目...... 然后成功被一堆相同的不同的盒子和球绕晕惹( T﹏T ) 为了防止自己再次忘记我觉得还是有必要记录一下哈哈哈哈 题目 1 给定 N 个不同的球,放进 M 个不同的盒子,盒子允许为空,有多少种方案? 2 给定 N 个不同的球,放进 阅读全文
posted @ 2020-12-24 19:30 月夭 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 推荐一篇我觉得很好理解的博客 首先考虑暴力:令 \(T=AB\),从小到大枚举 \(T\) 的长度,找到最短的 \(C_1\) ,枚举有多少个 \(T\) 的真前缀 \(A\) 满足 \(F(A) \leqslant F(C_1)\), 之后令 \(C_2=ABC\),再令$ C_3=ABABC$… 阅读全文
posted @ 2020-12-22 20:21 月夭 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 这里是题面 ####先放一下做这道题可能要用到的几个性质 : _ 循环节一定是总长度的约数 _ 若字符串s有一个循环节k,则k * i也是s的循环节 _n是[l,r]这一段的循环节 的充要条件是 [l,r-n]和[l+n,r]相同(可以感性理解一下em) 知道这几点之后,就可以做这道题啦!୧(๑•̀ 阅读全文
posted @ 2020-12-20 21:00 月夭 阅读(78) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-12-17 17:39 月夭 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 如果存在一个环,且环上没有任何危险标记(即病毒代码段末尾一位的结点专门作的编号),此时 AC自动机 能一直在环上匹配,并且永远也不会得到为模式串的一个子串, 这个找环可以通过 dfs 来实现 在构造失配指针时,一个很明显的优化是:如果一个结点拥有了失配指针,它指向的结点如果有危险标记,自己必然也危险 阅读全文
posted @ 2020-10-27 10:16 月夭 阅读(65) 评论(1) 推荐(1) 编辑
摘要: 容斥原理, 求出所有的情况减去不可读的情况就是可读的文本数了a 找不可读文本的数量类似于病毒那一题趴我觉得 DP转移的话... 用f[i][j] 表示当前在节点j, 且串长为i时的情况 #include <bits/stdc++.h> using namespace std; const int M 阅读全文
posted @ 2020-10-27 10:10 月夭 阅读(61) 评论(0) 推荐(0) 编辑
摘要: #include <bits/stdc++.h> using namespace std; const int N = 1e6; int n, m; int st[N]; struct node { int val; int fa; int ch[2]; bool r; int sum; } t[N 阅读全文
posted @ 2020-10-20 20:45 月夭 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 树上差分 + 线段树合并 以每个点为根节点建立一棵权值线段树记录now(当前最多的粮食的种类) 和 size(最多的粮食的数量) 每棵线段树的叶节点 的下标就是粮食的种类a 最后合并每棵权值线段树就好啦 #include <bits/stdc++.h> using namespace std; #d 阅读全文
posted @ 2020-10-16 16:14 月夭 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 窝太菜了只配浅谈呃呃呃 前置芝士 主席树& 并查集 主席树模板题 啊 可持久化并查集 , 差不多可能大概应该就是在主席树上做并查集 , 用主席树维护每个点的父亲... 修改 每次新建一个节点 值得一提的是 , 如果用路径压缩会TM双LE2333 , 这里只能按秩合并 即每次把深度小的并查集合并到深度 阅读全文
posted @ 2020-08-27 08:29 月夭 阅读(110) 评论(1) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2020-08-26 20:55 月夭 阅读(0) 评论(0) 推荐(0) 编辑