随笔分类 - 理解
摘要:也许更好的阅读体验 隔了一年半,很多算法都忘了,复习一遍 KMP的作用 学一个算法,首先要知道这个算法是用来做什么的 KMP的作用是字符串匹配,即在一个字符串(t)里查找某特定字符串(s)的位置以及次数 比如$t="abcabcdabca",s="abcabd"$ 当然,最简单的方法就是枚举法,以t
阅读全文
摘要:
阅读全文

摘要:"也许更好的阅读体验" $\mathcal{Description}$ 如标题 给一堆数,问其全排列有多少种 例 1 1 2 这三个数只有3种全排列 分别为 $1\ 1\ 2\\ 1\ 2\ 1\\ 2\ 1\ 1$ $\mathcal{Solution}$ 设第$i$个数有$a_i$个 $ans=
阅读全文
摘要:"也许更好的阅读体验" $Burnside引理$ __公式__ $\begin{aligned}L=\frac{1}{|G|}\sum_{i=1}^{|G|}D_{G_i}\end{aligned}$ __一些定义__ $E_i$ 表示与$i$同类的方案 $Z_i$ 表示使$i$不变的置换 $G$
阅读全文
摘要:"也许更好的体验" $\mathcal{Description}$ 给定L,R,求 $\sum_{i=L}^{R}xor\sum_{i=L}^{R}$ 答案对1000000007取模 $L,R $\mathcal{Solution}$ 对于有异或的题目要记住这点 __每个二进制位是独立计算答案的__
阅读全文
摘要:"也许更好的阅读体验" $\mathcal{AIM}$ 我们知道: 对于一个合数$x$ 有$x=p^{a_1}_1 p^{a_2}_2 ... p^{a_n}_n$ 现在给出一个$n$ 求$x\in[1,n]$,所有$x$分解出的$p$的幂数和 例如 $n=12$ $2=2^1$ $3=3^1$ $
阅读全文
摘要:题目的操作有5个,第一眼印象就是把暴力修改了一下,然后就过了,虽然时间复杂度好像比较高,不过最慢的点也只有312ms咯,能过就行是吧,重点是简单。 把其中的insert改了一下,insert(x,k)表示把x插入树中,并且使其在树中的中序遍历名次为k。 有了这个玩意写起来就方便多了 接下来开始暴力的
阅读全文
摘要:下面是本人自己做的一个大整数类型,需要的可以拿走用,可以节约很多时间,用的时候注意没有负数,想要练习重载运算符也可以看一下,有不好的地方欢迎指出 以及压位高精
阅读全文
摘要:本篇是把一些string的成员函数的用法记录下来 size()函数和lenth()函数 s.size()或者s.lenth() 它们都会返回长度,是总长度而不是下标长度 find函数 s.find(s2) 它会返回s中s2第一次出现的地方,如果找不到会返回-1 也可以设置开头 s.find(s2,a
阅读全文
摘要:关于快速幂这次学习了下快速幂,所以来总结一下快速幂,从字面意思就知道是快速的算出幂次方我们先看试题a^b%m(快速幂取模) a^b%m呢,如果靠死算的话不仅慢而且就连long long也会爆掉所以...
阅读全文
摘要:string的赋值string s1="123456";一: 只能在刚开始定义的时候用:(1) 从后往前赋值 string s2(s1,3); 结果:s2="456"(2) 从某位置开始往后赋值 string s2(s1,0,3);...
阅读全文