摘要:
#### 第一届竞赛时间 全国青少年信息学奥林匹克竞赛(NOI) 1984 全国青少年信息学奥林匹克联赛(NOIP) 1995 国际信息学奥林匹克竞赛(IOI) 1989 亚太地区信息学奥林匹克竞赛(APIO)2007 #### 人物 冯·诺依曼(Neumann) + "计算机之父",ENIAC和E 阅读全文
摘要:
#### t1 火柴 设计 $f[i]$ 为 $i$ 跟火柴最多的长度,$g[i]$ 为 $i$ 根火柴应选哪个放在首位。 考虑到前一位的重要性吊打后一位,显然让 $f[i]$ 尽量大优先,不然就是 $g[i]$ 取大。考虑记忆化搜索(DP)即可。 ```cpp #include #define i 阅读全文
该文被密码保护。 阅读全文
摘要:
记录一下自己如何寄,lsy 不想挂大分的说(( https://www.cnblogs.com/ycx-akioi/p/sb-mistakes.html 负数边权直接贪心假处理了,注意初始值和状态对 0 的取 min。 Floyd 没有写 \(f[i][i]=0\) 导致算错,记得初始化嗷。 stl 阅读全文
摘要:
一坑未填又开一坑。 yyc 的讲课速度我不能接受。 做不到两天速通网络流字符串反演fft。 总是听不懂,脑子要炸裂了捏 /wq $A(x)=\sum_{k=0}^{n}A[k]x^k$ 是一个整式。 加法卷积 $C[k]=\sum_{i+j=k}A[i]B[j]$。 其实差不多就是两个 $x$ 进制 阅读全文
摘要:
没有写一些概念(?((( 我是梅比乌斯厨=莫比乌斯厨=牲畜(暴论。 ### 前置芝士 #### 积性分解 对于积性函数 $f$,给出 $n=\prod_{i=1}^m p_i^{c_i}$。有 $f(n)=\prod_{i=1}^m f(p_i^{c_i})$。意思是跟 质因子 & 幂次 相关度较高 阅读全文
摘要:
~~学长讲着讲着就听不懂了,妈妈捏。~~ ~~60 页讲义、~~ 文章省去了大量的证明(? ### 流 定义 $f[u\to v]$ 为 $u\to v$ 的 ⌈ 流量 ⌋, $c[u\to v]$ 为 $u\to v$ 的 ⌈ 流量限制 ⌋,$s$ 为源点,$t$ 为汇点。 ##### 合法流的充 阅读全文
摘要:
又叫做 fail 樹。可愛捏((( 用於求解字符串兩個前綴的最大公共 border。 我們先跑一邊 KMP 算法求出 $nxt[]$ 數組。 我們連出每一個邊 $(nxt[i],i)$,嗯嗯為此我們需要新建一個 $0$ 點。 那這個樹有什麼性質捏,顯然一個節點的祖先都是祂的 border。 額大家都 阅读全文
摘要:
```cpp const int bs=233, P=998244353; int hsh(string x) { int val=0, mul=1; for(int i=0; i<x.size(); ++i) { if('0'<=x[i]&&x[i]<='9') val=(val+mul*(x[i 阅读全文
摘要:
求无向图割点,割边,双连通分量;求有向图强连通分量,缩点。 ### 强联通分量 ```cpp #include #define MN 4000010 #define pb push_back using namespace std; int n, m, vis[MN], stk[MN], top, 阅读全文
摘要:
lucas 定理用于求解模数很\(**\)的组合数求解,比如模小素数,会遇到不一定互质即没有逆元的情况。 \[C_{n}^m\equiv C_{n/p}^{m/p}C_{n\bmod p}^{m\bmod p} \]或者说 \((n_i,m_i)\) 是 \((n,m)\) 在 \(p\) 进制上的 阅读全文
摘要:
求解高次同余方程。 给定整数 $a,b,p$,其中 $a\bot p$,求一个非负整数 $x$,使得 $a^x\equiv b\pmod{p}$ 因为 $a\bot p$,可以乱搞。 令 $t=sqrt(q)+1$,这里是 c++ 意义上的(雾。 然后搞一波 $x=it-j$,其中 $0\leq j 阅读全文
摘要:
求矩形面积并,把矩阵竖着割开,累加。 矩形 $(x_1,y_1,x_2,y_2)$ 分成 $(x1,y1,y2,1)$ 和 $(x2,y1,y2,-1)$ 两条线,指的是,$x=x_i(y_1\leq x\leq y_2)$ 这样的线,土 $1$ 指的是加上或减去。 需要离散 flower,主要是 阅读全文
摘要:
其实就是套娃。 一块一块维护。 ```cpp int tr[MN]; void add(int x,int y,int v) { for(int i=x; i<=n; i+=i&-i) for(int j=y; j<=m; j+=j&-j) tr[i][j]+=v; } int ask(int x, 阅读全文
摘要:
费马小定理 $p$ 为素数且 $a\bot p$,有 $a^{p-1}\equiv 1(\mod p)$ 二次探测定理 $p$ 为素数且 $a^2\equiv1(\mod p)$,那么 $a\equiv\pm1(\mod p)$ 素数 $p$ 为素数,那么 $p=2$ 或者 $2\nmid p$ 把 阅读全文
摘要:
### 定义 俩矩阵 $A,B$,一个 $m*n$,一个 $n*u$ $C=A*B$ 计算公式为 $$ c[i][j]=\sum^{n-1}_{k=0}{a[i][k]*b[k][j]} $$ + 如果行数和列数相同的矩阵,可以称为方阵 + 如果方阵的对角线元素是 $1$,其余元素都是 $0$,那么 阅读全文
摘要:
对于一个字符串 $S$, 可以随意把祂头部的放到尾部,这样弄出来最小的字符串 $\min\{S'\}$ 就是 $S$ 的最小表示( 通过这种方法,我们可以快速搞同构串 qwq 我们先 断环成链,那么就变成了找长度为 $n=|S|$ 的最小子串 我们用 $x$ 对应 $S[x],...,S[x+n-1 阅读全文
摘要:
我们要查询 $A$ 是不是 $B$ 的子串 设 $g_i=\max\{j\}$,其中 $j0&&a[j+1]!=a[i]) j=g[j]; j+=(a[j+1]==a[i]), g[i]=j; } for(int i=1, j=0; i0&&(j==n||a[j+1]!=b[i])) j=g[j]; 阅读全文
摘要:
我视界里最不珂爱的 SGT 代码我是真的自己写不动 所以这个是照着校 O勾 填空题目写的符合自己习惯的代码 我们要动态维护平面里的直线和诸如 $x=t$ 这类直线的信息 大概原理不难理解 就是权值线段树对应区间维护的是当前区间的最优解 最优解指的是在这个区间里面最上面的线段 可以完全碾压别的线段那一 阅读全文
摘要:
~~详细介绍看心情可能会补~~ ~~放这就是想方便参考顺便水篇博客~~ 我们要维护一个数组的信息,但是我们也要查询历史信息 大概思想是不同线段树相同的部分共用点 每次修改都复制原来点再进行修改,这样肯定不冲突 通过记录不同版本根节点编号来做索引 其实写起来跟普通线段树的区别就是修改的时候需要重新建点 阅读全文