<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.cvbbacm.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.cvbbacm.com/feed.php">
        <title>CVBB ACM Team 2020-2021:teams:legal_string:lgwza</title>
        <description></description>
        <link>https://wiki.cvbbacm.com/</link>
        <image rdf:resource="https://wiki.cvbbacm.com/lib/exe/fetch.php?media=favicon.ico" />
       <dc:date>2026-04-30T04:57:26+0800</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%B8%80%E8%88%AC%E5%9B%BE%E6%9C%80%E5%A4%A7%E5%8C%B9%E9%85%8D&amp;rev=1597852669&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%B8%BB%E5%B8%AD%E6%A0%91&amp;rev=1598682652&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%BA%8C%E6%AC%A1%E5%89%A9%E4%BD%99%E6%A8%A1%E6%9D%BF&amp;rev=1599059648&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%BA%8C%E6%AC%A1%E5%89%A9%E4%BD%99&amp;rev=1610887715&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8C%88%E7%89%99%E5%88%A9%E7%AE%97%E6%B3%95&amp;rev=1596808187&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8D%9A%E5%BC%88%E8%AE%BA&amp;rev=1626618369&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8F%AF%E6%8C%81%E4%B9%85%E5%8C%96%E6%95%B0%E7%BB%84&amp;rev=1598637015&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8F%AF%E9%80%86%E8%83%8C%E5%8C%85&amp;rev=1626447507&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%9B%9E%E6%96%87%E6%A0%91&amp;rev=1601740455&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%9B%BE%E5%8C%B9%E9%85%8D&amp;rev=1596939329&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%89%B2%E7%82%B9%E5%92%8C%E6%A1%A5&amp;rev=1603872497&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%A2%9E%E5%B9%BF%E8%B7%AF%E5%AE%9A%E7%90%86&amp;rev=1596977141&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BA%8F%E5%88%97%E8%87%AA%E5%8A%A8%E6%9C%BA&amp;rev=1601965719&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BC%BA%E8%BF%9E%E9%80%9A%E5%88%86%E9%87%8F_tarjan_%E7%AE%97%E6%B3%95%E6%A8%A1%E6%9D%BF&amp;rev=1598239927&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BF%AB%E9%80%9F%E5%82%85%E9%87%8C%E5%8F%B6%E5%8F%98%E6%8D%A2_fft&amp;rev=1613397925&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BF%AB%E9%80%9F%E6%95%B0%E8%AE%BA%E5%8F%98%E6%8D%A2_ntt&amp;rev=1613397883&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%8B%86%E7%82%B9&amp;rev=1598713653&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E6%8F%92%E5%80%BC&amp;rev=1600322882&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%9C%80%E5%B0%8F%E5%89%B2&amp;rev=1597485241&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%9D%9C%E6%95%99%E7%AD%9B&amp;rev=1599452989&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%89%A9%E5%B1%95%E4%B8%AD%E5%9B%BD%E5%89%A9%E4%BD%99%E5%AE%9A%E7%90%86&amp;rev=1611201201&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%89%A9%E5%B1%95_bsgs&amp;rev=1611301755&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%89%AB%E6%8F%8F%E7%BA%BF%E9%97%AE%E9%A2%98&amp;rev=1631848632&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%95%B0%E4%BD%8D_dp&amp;rev=1596640181&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%99%AE%E9%80%9A%E8%8E%AB%E9%98%9F%E7%AE%97%E6%B3%95&amp;rev=1596468890&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%8A%B6%E5%8E%8B_dp&amp;rev=1596553555&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_%E5%9F%BA%E6%9C%AC%E5%AE%9A%E4%B9%89&amp;rev=1612866436&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_1_%E5%9F%BA%E6%9C%AC%E5%AE%9A%E4%B9%89&amp;rev=1612866481&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_2_%E5%9F%BA%E6%9C%AC%E4%BE%8B%E5%AD%90&amp;rev=1612943731&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_3_%E6%99%AE%E9%80%9A%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0&amp;rev=1613484883&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_4_%E6%8C%87%E6%95%B0%E5%9E%8B%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0&amp;rev=1613630491&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_5_%E4%B8%80%E4%BA%9B%E4%BE%8B%E5%AD%90&amp;rev=1613912896&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%B1%BB_dinic_%E7%AE%97%E6%B3%95&amp;rev=1597909850&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%BD%91%E7%BB%9C%E6%B5%81%E7%AE%80%E4%BB%8B&amp;rev=1597161919&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E8%99%9A%E6%A0%91&amp;rev=1615028634&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:2-sat&amp;rev=1598354472&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_1486&amp;rev=1613995160&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_1492&amp;rev=1614120342&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round&amp;rev=1596993717&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round_662_div._2&amp;rev=1596993822&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round_663_div._2&amp;rev=1596993845&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round_664_div._2&amp;rev=1597279512&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:dinic_%E7%AE%97%E6%B3%95&amp;rev=1597562806&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:manacher_%E7%AE%97%E6%B3%95&amp;rev=1601619129&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:spfa_dijkstra_%E6%9C%80%E7%9F%AD%E8%B7%AF%E6%A8%A1%E6%9D%BF&amp;rev=1597971190&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:splay&amp;rev=1598105494&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:stirling_%E6%95%B0_%E7%90%86%E8%AE%BA&amp;rev=1614940255&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.cvbbacm.com/lib/exe/fetch.php?media=favicon.ico">
        <title>CVBB ACM Team</title>
        <link>https://wiki.cvbbacm.com/</link>
        <url>https://wiki.cvbbacm.com/lib/exe/fetch.php?media=favicon.ico</url>
    </image>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%B8%80%E8%88%AC%E5%9B%BE%E6%9C%80%E5%A4%A7%E5%8C%B9%E9%85%8D&amp;rev=1597852669&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-19T23:57:49+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:一般图最大匹配</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%B8%80%E8%88%AC%E5%9B%BE%E6%9C%80%E5%A4%A7%E5%8C%B9%E9%85%8D&amp;rev=1597852669&amp;do=diff</link>
        <description>一般图最大匹配

带花树算法 (Blossom Algorithm)

开花算法 (Blossom Algorithm，也被称为带花树)可以解决一般图最大匹配问题 (maximum cardinality matchings)。此算法由 Jack Edmonds 在 1961 年提出。经过一些修改后也可以解决一般图最大权匹配问题。此算法是第一个给出证明说最大匹配有多项式复杂度。$M$$v$$u$$u$$u$$u$$u$$G$$G'$$G$$G'$$G'$$G$$(u,v)$$h=LCA(u,v)$$h$$h$$h$$O(|E|^2)$$O(|V||E|^2)$</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%B8%BB%E5%B8%AD%E6%A0%91&amp;rev=1598682652&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-29T14:30:52+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:主席树</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%B8%BB%E5%B8%AD%E6%A0%91&amp;rev=1598682652&amp;do=diff</link>
        <description>主席树

例题

洛谷 P3834 【模板】可持久化线段树 2（主席树）

参考代码：


#include&lt;bits/stdc++.h&gt;
using namespace std;
const int N=2e5+5;
int cnt;
int a[N],b[N],rt[N];
int tr[N&lt;&lt;5],ls[N&lt;&lt;5],rs[N&lt;&lt;5];
void build(int&amp; o,int l,int r){
    o=++cnt;
    tr[o]=0;
    int mid=l+r&gt;&gt;1;
    if(l==r){
        return;
    }
    build(ls[o],l,mid);
    build(rs[o],mid+1,r);
}
void xg(int&amp; o,int l,int r,int pre,int x){
    o=++cnt;
    ls[o]=ls[pre];
    rs[o]=rs[pre];
    tr[o]=tr[pre]+1;
    int mid=l+r&gt;&gt;1;
    if(l==r) return;
    if…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%BA%8C%E6%AC%A1%E5%89%A9%E4%BD%99%E6%A8%A1%E6%9D%BF&amp;rev=1599059648&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-02T23:14:08+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:二次剩余模板</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%BA%8C%E6%AC%A1%E5%89%A9%E4%BD%99%E6%A8%A1%E6%9D%BF&amp;rev=1599059648&amp;do=diff</link>
        <description>二次剩余模板

给定 $n$ 和 $p$ 求解关于 $x$ 的方程 $x^2\equiv n\pmod{p}$

例题

P5491 【模板】二次剩余


#include&lt;bits/stdc++.h&gt;
using namespace std;
typedef long long ll;
int t;
ll n,p;
ll w;
struct num{
    ll x,y;
};
num mul(num a,num b,ll p){
    num ans={0,0};
    ans.x=((a.x*b.x%p+a.y*b.y%p*w%p)%p+p)%p;
    ans.y=((a.x*b.y%p+a.y*b.x%p)%p+p)%p;
    return ans;
}
ll binpow_real(ll a,ll b,ll p){//实部快速幂 
    ll ans=1;
    while(b){
        if(b&amp;1) ans=ans*a%p;
        a=a*a%p;
        b&gt;&gt;=1;
    }
    return ans;
}
ll b…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%BA%8C%E6%AC%A1%E5%89%A9%E4%BD%99&amp;rev=1610887715&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-01-17T20:48:35+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:二次剩余</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E4%BA%8C%E6%AC%A1%E5%89%A9%E4%BD%99&amp;rev=1610887715&amp;do=diff</link>
        <description>二次剩余

一个数 $a$，如果不是 $p$ 的倍数且模 $p$ 同余于某个数的平方，则称 $a$ 为模 $p$ 的 二次剩余。而一个不是 $p$ 的倍数的数 $b$，不同余于任何数的平方，则称 $b$ 为模 $p$ 的 二次非剩余。

对二次剩余求解，也就是对常数 $a$$$
x^2\equiv a\pmod p
$$$x^2\equiv n\pmod p$$n$$p$$n$$\frac{p-1}{2}$$0$$\frac{p-1}{2}$$n$$p$$n$$p$$x$$x^2\equiv n\pmod p$$\pm x_0$$x_0^2\equiv n\pmod p$$$
\left(\frac n p\right)=\begin{cases}1,\,&amp;p\nmid n\text{且}n\text{是}p\text{的二次剩余}\\ -1,\,&amp;p\nmid n \text{且}n\text{不是}p\text{的二次剩余}\\ 0,\,&amp;p\mid n\end{cases}
$$$$
\left(\frac n p\right)\equiv n^{\frac{p-1}{2}}\p…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8C%88%E7%89%99%E5%88%A9%E7%AE%97%E6%B3%95&amp;rev=1596808187&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-07T21:49:47+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:匈牙利算法</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8C%88%E7%89%99%E5%88%A9%E7%AE%97%E6%B3%95&amp;rev=1596808187&amp;do=diff</link>
        <description>匈牙利算法

二分图

二分图（Bipartite graph）是一类特殊的图，它可以被划分为两个部分，每个部分内的点互不相连。下图是典型的二分图。

[ img]

可以看到，在上面的二分图中，每条边的端点都分别处于点集X和Y中。匈牙利算法主要用来解决两个问题：求二分图的$O(n^3)$$O(mn)$$O(n^2)$$O(n+m)$</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8D%9A%E5%BC%88%E8%AE%BA&amp;rev=1626618369&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-18T22:26:09+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:博弈论</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8D%9A%E5%BC%88%E8%AE%BA&amp;rev=1626618369&amp;do=diff</link>
        <description>博弈论

必胜点和必败点

	*  $P$ 点：必败点，换而言之，就是谁处于此位置，则在双方操作正确的情况下必败。
	*  $N$ 点：必胜点，处于此情况下，双方操作均正确的情况下必胜。

必胜点和必败点的性质：$P$$N$$P$$P$$N$$(a_1,a_2,\cdots,a_n)$$P$$$
a_1\oplus a_2\oplus\cdots\oplus a_n=0
$$$(0,0,\cdots,0)$$0$$P$$(a_1,a_2,\cdots,a_n)$$a_1\oplus a_2\oplus\cdots\oplus a_n=0$$(b_1,b_2,\cdots,b_n)$$$
b_1\oplus b_2\oplus\cdots\oplus b_n\ne 0
$$$N$$(a_1,a_2\cdots,a_n)$$a_1\oplus a_2\oplus\cdots\oplus a_n\ne 0$$P$$a_1\oplus a_2\oplus\cdots\oplus a_n=k$$k$$1$$p$$a_1,a_2,\cdots,a_n$$a_i$$a_i$$p$$1$$i$$a_i…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8F%AF%E6%8C%81%E4%B9%85%E5%8C%96%E6%95%B0%E7%BB%84&amp;rev=1598637015&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-29T01:50:15+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:可持久化数组</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8F%AF%E6%8C%81%E4%B9%85%E5%8C%96%E6%95%B0%E7%BB%84&amp;rev=1598637015&amp;do=diff</link>
        <description>可持久化数组

例题

洛谷 P3919 【模板】可持久化线段树 1（可持久化数组）

参考代码：


#include&lt;bits/stdc++.h&gt;
using namespace std;
const int N=1e6+5;
int a[N];
int rt[N*20],ls[N*20],rs[N*20],tr[N*20],cnt;
void build(int&amp; o,int l,int r){
    o=++cnt;
    if(l==r){
        tr[o]=a[l];
        return;
    }
    int mid=l+r&gt;&gt;1;
    build(ls[o],l,mid);
    build(rs[o],mid+1,r);
}
void xg(int&amp; o,int l,int r,int pre,int pos,int v){
    o=++cnt;
    ls[o]=ls[pre];
    rs[o]=rs[pre];
    tr[o]=tr[pre];
    if(l==r){
        tr[o]=v;
    …</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8F%AF%E9%80%86%E8%83%8C%E5%8C%85&amp;rev=1626447507&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-16T22:58:27+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:可逆背包</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%8F%AF%E9%80%86%E8%83%8C%E5%8C%85&amp;rev=1626447507&amp;do=diff</link>
        <description>可逆背包

问题简介

考虑这样一个问题：有 $n$ 个物品，体积分别是 $w_1,w_2,\cdots,w_n$，背包容量为 $m$，共有 $n$ 次询问，第 $i$ 次询问要求不选物品 $i$ 时共有多少选法装满背包。

思路分析

如果对于每个询问依次求 01 背包问题，单次询问需要 $O(nm)$$O(n^2m)$$O(m)$$i$$O(nm)$$n$$O(m)$$O(nm)$$n$$w_1,w_2,\cdots,w_n$$i$$n-1$$x$$cnt(i,x)$$i\in[1,n],x\in[1,m]$$cnt(i,x)$$n\times m$$cnt(i,x)$$1\le n,m\le 2000$$f[j][0]$$j$$f[j][1]$$j$$f[0][0]=f[0][1]=1$$s$$s$$[1,n/2] or [n/2+1,n]$$q$$(i,j)$$s[i],s[j]$$s$$52^2$$O(1)$$k$$c_1,c_2,\cdots,c_k$$i_1,i_2,\cdots,i_p$$c_{i_1}+c_{i_2}+\cdots+c_{i_p}=\dfrac{n}{…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%9B%9E%E6%96%87%E6%A0%91&amp;rev=1601740455&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-03T23:54:15+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:回文树</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%9B%9E%E6%96%87%E6%A0%91&amp;rev=1601740455&amp;do=diff</link>
        <description>回文树

结构

回文树大概长这样：

[ img]

功能

假设我们有一个串 $S$，$S$ 下标从 $0$ 开始，则回文树能做到如下几点：

	*  求串 $S$ 前缀 $0\sim i$ 内本质不同回文串的个数（两个串长度不同或者长度相同且至少有一个字符不同便是本质不同）。$S$$S$$1$$2$$i$$s$$s$$last$$num[]$$s$$s$$s$$s$$len[]$$cnt[]$$K$$cnt[]$$len[]$$w$$w^R$$x$$ww^Rww^R$$trans$</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%9B%BE%E5%8C%B9%E9%85%8D&amp;rev=1596939329&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-09T10:15:29+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:图匹配</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%9B%BE%E5%8C%B9%E9%85%8D&amp;rev=1596939329&amp;do=diff</link>
        <description>图匹配

匹配 或是 独立边集 是一张图中没有公共点的集合。在二分图中求匹配等价于网络流问题。

图匹配算法是信息学竞赛中常用的算法，总体分为最大匹配以及最大权匹配，先从二分图开始介绍，再进一步提出一般图的做法。$G=(V,E)$$V$$E$$(M(M\in E))$$\mid M\mid$$M$$M$$G$$G$$M$$M$$G$$M$$G=&lt;V_1,V_2,E&gt;$$\mid V_1\mid\le\mid V_2\mid$$M$$G$$\mid M\mid=2\mid V_1\mid$$M$$V_1$$V_2$$G=&lt;V_1,V_2,E&gt;,|V_1|\le|V_2|$$G$$V_1$$V_2$$S\subset V_1$$|S|\le|N(S)|$$N(S)=\Cup_{v_i\in S}{N(V_i)}$$S$$O(\sqrt VE)$$O(V^2E)$$O(V^2\log V+VE)$$O(V^2E)$$O(V^2E)$…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%89%B2%E7%82%B9%E5%92%8C%E6%A1%A5&amp;rev=1603872497&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-28T16:08:17+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:割点和桥</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%89%B2%E7%82%B9%E5%92%8C%E6%A1%A5&amp;rev=1603872497&amp;do=diff</link>
        <description>割点和桥

割点

	&quot; 对于一个无向图，如果把一个点删除后这个图的极大连通分量数增加了，那么这个点就是这个图的割点（又称割顶）。&quot;

如何实现？

如果我们尝试删除每个点，并且判断这个图的连通性，那么复杂度会特别高。所以要介绍一个常用的算法：Tarjan。$u$$v$$u$$low_v\ge num_u$$u$$G=\{V,E\}$$e$$e\in E$$G-e$$e$$G$$low_v&gt;num_u$$v$$u$$u$$low_v=num_u$$v$$u-v$</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%A2%9E%E5%B9%BF%E8%B7%AF%E5%AE%9A%E7%90%86&amp;rev=1596977141&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-09T20:45:41+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:增广路定理</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%A2%9E%E5%B9%BF%E8%B7%AF%E5%AE%9A%E7%90%86&amp;rev=1596977141&amp;do=diff</link>
        <description>增广路定理 Berge’s lemma

这是最大匹配的一个重要理论。

	*  交错路 (alternating path) 始于非匹配点且由匹配边与非匹配边交错而成。
	*  增广路 (augmenting path) 是始于非匹配点且终于非匹配点的交错路。$a-b$$x$$P_x$$P_x$$a-b$$P_x$$a-b$$a-b$$x$$a-b$$x$</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BA%8F%E5%88%97%E8%87%AA%E5%8A%A8%E6%9C%BA&amp;rev=1601965719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-06T14:28:39+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:序列自动机</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BA%8F%E5%88%97%E8%87%AA%E5%8A%A8%E6%9C%BA&amp;rev=1601965719&amp;do=diff</link>
        <description>序列自动机

定义

序列自动机是接受且仅接受一个字符串的子序列的自动机。

本文中用 $s$ 代指这个字符串。

状态

若 $s$ 包含 $n$ 个字符，那么序列自动机包含 $n+1$ 个状态。

令 $t$ 是 $s$ 的一个子序列，那么 $\delta(start,t)$$t$$s$$i$$s[1..i]$$s[1..i-1]$$\delta(u,c)=\min\{i|i&gt;u,s[i]=c\}$$c$$i&gt;j$$s[i..|s|]$$s[j..|s|]$$$
\begin{array}{ll} 1 &amp; \textbf{Input. } \text{A string } S\\ 2 &amp; \textbf{Output. } \text{The state transition of the sequence automaton of }S \\ 3 &amp; \textbf{Method. } \\ 4 &amp; \textbf{for }c\in\Sigma\\ 5 &amp; \qquad next[c]\gets null\\ 6 &amp; \textbf{for }i\gets|S|\textbf{…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BC%BA%E8%BF%9E%E9%80%9A%E5%88%86%E9%87%8F_tarjan_%E7%AE%97%E6%B3%95%E6%A8%A1%E6%9D%BF&amp;rev=1598239927&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-24T11:32:07+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:强连通分量_tarjan_算法模板</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BC%BA%E8%BF%9E%E9%80%9A%E5%88%86%E9%87%8F_tarjan_%E7%AE%97%E6%B3%95%E6%A8%A1%E6%9D%BF&amp;rev=1598239927&amp;do=diff</link>
        <description>强连通分量——Tarjan 算法模板

参考代码


#include&lt;bits/stdc++.h&gt;
using namespace std;
const int N=1e4+5,M=2e5+5;
int head[N],to[M],nxt[M],tot;
int dfn[N],s[N],low[N],cnt,top;
int sc;// SCC 个数
int scc[N];// 结点 i 所在 SCC 的编号
int sz[N];// 强连通 i 的大小
bool in[N];
void add(int u,int v){
    nxt[++tot]=head[u];
    head[u]=tot;
    to[tot]=v;
}
void tarjan(int u){
    low[u]=dfn[u]=++cnt;
    s[++top]=u;
    in[u]=1;
    for(int i=head[u];i;i=nxt[i]){
        int v=to[i];
        if(!dfn[v]){
            tarjan(v);
  …</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BF%AB%E9%80%9F%E5%82%85%E9%87%8C%E5%8F%B6%E5%8F%98%E6%8D%A2_fft&amp;rev=1613397925&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-15T22:05:25+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:快速傅里叶变换_fft</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BF%AB%E9%80%9F%E5%82%85%E9%87%8C%E5%8F%B6%E5%8F%98%E6%8D%A2_fft&amp;rev=1613397925&amp;do=diff</link>
        <description>快速傅里叶变换(FFT)

原理

OI Wiki-快速傅里叶变换

例题

例 1

题意

P3803 【模板】多项式乘法（FFT）

给定一个 $n$ 次多项式 $F(x)$，和一个 $m$ 次多项式 $G(x)$。求出 $F(x)$ 和 $G(x)$ 的卷积。

题解

通过 DFT 和 IDFT 两个过程，实现多项式由系数表示法 -&gt; 点值表示法 -&gt; 系数表示法。利用单位根的性质实现奇偶分治过程，时间复杂度 $O(n\log n)$$a,b$$a\times b$$1\le a,b\le 10^{1000000}$$n$$k$$k=\overline{a_{n-1}a_{n-2}\cdots a_2a_1a_0}=a_0+a_1x+a_2x^2+\cdots+a_{n-1}x^{n-1}(x=10)$$O(n\log n)$$n$$n$$q_1,q_2,\cdots,q_n$$$
F_j=\sum_{i=1}^{j-1}\frac{q_i\times q_j}{(i-j)^2}-\sum_{i=j+1}^{n}\frac{q_i\times q_j}{(i-j)^2}\\
…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BF%AB%E9%80%9F%E6%95%B0%E8%AE%BA%E5%8F%98%E6%8D%A2_ntt&amp;rev=1613397883&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-15T22:04:43+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:快速数论变换_ntt</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E5%BF%AB%E9%80%9F%E6%95%B0%E8%AE%BA%E5%8F%98%E6%8D%A2_ntt&amp;rev=1613397883&amp;do=diff</link>
        <description>快速数论变换(NTT)

原理

OI Wiki-快速数论变换(NTT)

例题

例 1

题意

P3803 【模板】多项式乘法（FFT）

给定一个 $n$ 次多项式 $F(x)$，和一个 $m$ 次多项式 $G(x)$。求出 $F(x)$ 和 $G(x)$ 的卷积。$1\le n,m\le 10^6$

题解

找到模数 $p$，使得 $p=qn+1,(n=2^k)$，对于模 $p$ 的原根 $g$，$\displaystyle g_n\equiv g^q\equiv g^{\frac{p-1}{n}}$，可以看作 FFT 中 $n$ 次单位根 $\omega_n$ 的等价，因为它们都是各自所在群的生成元。所以 NTT 的代码只需把 FFT 中的 $\omega_n$$g^{\frac{p-1}{n}}$$a,b$$a\times b$$1\le a,b\le 10^{1000000}$$2$$F(x),G(x)$$F(x)*G(x)$$p$$p$$p=a\cdot 2^k+1$$1\le n,m\le 10^5,0\le a_i,b_i\le 10^9,2\le p\le 1…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%8B%86%E7%82%B9&amp;rev=1598713653&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-29T23:07:33+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:拆点</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%8B%86%E7%82%B9&amp;rev=1598713653&amp;do=diff</link>
        <description>拆点

拆点是一种图论建模思想，常用于网络流，用来处理 点权或者点的流量限制 的问题，也常用于 分层图。

结点有流量限制的最大流

如果把结点转化成边，那么这个问题就可以套板子解决了。$u,v$$&lt;u,v&gt;$$u$$v$$&lt;u,v&gt;$$k$$\text{dis}_{i,j}$$i$$j$$\text{dis}$$$
\text{dis}_{i,j}=\min\{\min\{\text{dis}_{from,j-1}\},\min\{\text{dis}_{from,j}+w\}\}
$$$from$$i$$w$$j-1\ge k$$\text{dis}_{from,j}=\infty$$k+1$$u_i$$i$$u$$n$$m$$k$$s$$t$</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E6%8F%92%E5%80%BC&amp;rev=1600322882&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-17T14:08:02+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:拉格朗日插值</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E6%8F%92%E5%80%BC&amp;rev=1600322882&amp;do=diff</link>
        <description>拉格朗日插值

例题

	&quot; 例题 Luogu P4781【模板】拉格朗日插值&quot;

给出 $n$ 个点 $P_i(x_i,y_i)$，将过这 $n$ 个点的最多 $n-1$ 次的多项式记为 $f(x)$，求 $f(k)$ 的值。

拉格朗日插值法

如图所示，将每一个点 $(x_i,y_i)$ 在 $x$ 轴上的投影 $(x_i,0)$ 记为 $H_i$。对每一个 $i$，我们选择一个点集 $\{P_i\}\cup\{H_j\mid1\le i\le n,j\ne i\}$$n$$n-1$$g_i(x)$$f(x)$$g_i(x)$$n$$g_i(x)(1\le i\le n)$$x_i$$y_i$$x_j(j\ne i)$$0$$g_i(x)$$$
g_i(x)=y_i\prod_{j\neq i}\frac{x-x_j}{x_i-x_j}
$$$x_i$$f(x)=\sum_{i=1}^ng_i(x)$$g_i(x)$$i$$g_i$$P_i$$g_j$$H_i$$x_i$$y_i$$P_i$$$
f(x)=\sum_{i=1}^ny_i\prod_{j\ne i}\frac{x-…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%9C%80%E5%B0%8F%E5%89%B2&amp;rev=1597485241&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-15T17:54:01+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:最小割</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%9C%80%E5%B0%8F%E5%89%B2&amp;rev=1597485241&amp;do=diff</link>
        <description>最小割

概念

割

对于一个网络流图 $G=(V,E)$，其割的定义为一种 点的划分方式：将所有的点划分为 $S$ 和 $T=V-S$ 两个集合，其中源点 $s\in S$，汇点 $t\in T$。

割的容量

我们定义割 $(S,T)$ 的容量 $c(S,T)$ 表示所有从 $S$ 到 $T$ 的边的容量之和，即 $c(S,T)=\sum_{u\in S,v\in T}c(u,v)$$c(s,t)$$c(S,T)$$(S,T)$$c(S,T)$$f(s,t)_{max}=c(s,t)_{min}$$f(s,t)$$(S,T)$$f(s,t)=S_{出边的总流量}-S_{入边的总流量}\le S_{出边的总流量}=c(s,t)$$f$$s$$t$$S$$S$$f(s,t)=S_{出边的总流量}-S_{入边的总流量}=S_{出边的总流量}=c(s,t)$$f$$s$$\text{DFS}$$0$$S$$1$$\text{Dinic}$$e_1,e_2,e_3,\cdots,e_n$$A,B$$e_i$$A$$B$$a_{e_i}$$b_{e_i}$$C_i\subseteq A$$…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%9D%9C%E6%95%99%E7%AD%9B&amp;rev=1599452989&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-07T12:29:49+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:杜教筛</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%9D%9C%E6%95%99%E7%AD%9B&amp;rev=1599452989&amp;do=diff</link>
        <description>杜教筛

积性函数

在数论题目中，常常需要根据一些 积性函数 的性质，求出一些式子的值。

积性函数：对于函数 $f(n)$ 有 $f(1)=1$ 且对于所有互质的 $a$ 和 $b$，总有 $f(ab)=f(a)f(b)$，则称 $f(n)$ 为积性函数。

常见的积性函数有：$\sigma_0(n)=d(n)=\sum_{d\mid n }1$$\sigma(n)=\sum_{d\mid n}d$$\varphi(n)=\sum_{i=1}^n[\gcd(x,i)=1]$$\mu(n)=\begin{cases}1&amp;\ n=1\\(-1)^k&amp;\ \prod_{i=1}^k q_i=1\\0 &amp;\ \max\{q_i\}&gt;1 \end{cases}$$f(n)$$g(n)$$h(n)=f(n^p)$$h(n)=f^p(n)$$h(n)=f(n)g(n)$$h(n)=\sum_{d\mid n}f(d)g(\frac n d)$$h(n)$$f$$S(n)=\sum_{i=1}^nf(i)$$S(n)$$S\left(\left\lfloor\frac n i\right\rflo…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%89%A9%E5%B1%95%E4%B8%AD%E5%9B%BD%E5%89%A9%E4%BD%99%E5%AE%9A%E7%90%86&amp;rev=1611201201&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-01-21T11:53:21+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:扩展中国剩余定理</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%89%A9%E5%B1%95%E4%B8%AD%E5%9B%BD%E5%89%A9%E4%BD%99%E5%AE%9A%E7%90%86&amp;rev=1611201201&amp;do=diff</link>
        <description>扩展中国剩余定理

例题

【模板】扩展中国剩余定理

题意：求解以下同余方程组

$$
\left\{\begin{array}{ccc}
x &amp;\equiv&amp;a_1\pmod{m_1}\\
x &amp;\equiv&amp;a_2\pmod{m_2}\\
&amp;\vdots&amp;\\
x &amp;\equiv&amp; a_n\pmod{m_n}\\
\end{array}\right.
$$

不保证 $m_i$ 互质，保证有解

题解：

对于只有 $2$ 个方程的情况：$x\equiv a_1\pmod{m_1};x\equiv a_2\pmod{m_2}$，等价于 $x=a_1+m_1t_1=a_2+m_2t_2$，即 $m_1t_1-m_2t_2=a_2-a_1$，用扩展欧几里得解出 $t_1$，（若无解则方程组无解），从而得到 $x$$x\equiv x_0\pmod{\text{lcm}(m_1,m_2)}$$n$$n-1$…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%89%A9%E5%B1%95_bsgs&amp;rev=1611301755&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-01-22T15:49:15+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:扩展_bsgs</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%89%A9%E5%B1%95_bsgs&amp;rev=1611301755&amp;do=diff</link>
        <description>扩展BSGS

原理

求解： $$
a^x\equiv b\pmod p
$$ 其中 $a,p$ 不一定互质。

当 $a\perp p$ 时，在模 $p$ 意义下 $a$ 存在逆元，因此可以用 BSGS 算法求解。于是我们想办法让他们变得互质。

具体地，设 $d_1=\gcd(a,p)$。如果 $d_1\nmid b$，则原方程无解。否则我们把方程同时除以 $d_1$$$
\frac{a}{d_1}\cdot a^{x-1}\equiv\frac{b}{d_1}\pmod{\frac{p}{d_1}}
$$$a$$\frac{p}{d_1}$$d_2=\gcd(a,\frac{p}{d_1})$$d_2\nmid\frac{b}{d_1}$$d_2$$$
\frac{a^2}{d_1d_2}\cdot a^{x-2}\equiv\frac{b}{d_1d_2}\pmod{\frac{p}{d_1d_2}}
$$$a\perp \frac{p}{d_1d_2\cdots d_k}$$D=\prod_{i=1}^k d_i$$$
\frac{a^k}{D}\cdot a^{x-k}\…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%89%AB%E6%8F%8F%E7%BA%BF%E9%97%AE%E9%A2%98&amp;rev=1631848632&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-17T11:17:12+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:扫描线问题</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%89%AB%E6%8F%8F%E7%BA%BF%E9%97%AE%E9%A2%98&amp;rev=1631848632&amp;do=diff</link>
        <description>扫描线问题

例 1

题意

P5490 【模板】扫描线

求 $n$ 个矩形的面积并

题解

此问题可抽象出一个问题模型：

给一初始全 0 的序列 $\{a_i\}_{i=1}^n$，每次操作如下：给定区间 $[l,r]$，令 $a_i=a_i+1,\forall i\in [l,r]$ 或 $a_i=a_i-1,\forall i\in [l,r]$，修改后立即询问 $\#\{a_i|a_i&gt;0,i\in[1,n]\}$，保证任一修改后 $a_i\ge 0,\forall i\in[1,n]$


#include&lt;bits/stdc++.h&gt;
using namespace std;
typedef long long ll;
const int MAXN=1e6+5;
#define ls o&lt;&lt;1
#define rs o&lt;&lt;1|1
ll X[MAXN&lt;&lt;1];
// 横线
struct Line{
    // 左右端点的横坐标,竖坐标
    ll l,r,h;
    // 1 表示下底边，-1 表示上底边
    int mark;
    // 按高度排序
 …</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%95%B0%E4%BD%8D_dp&amp;rev=1596640181&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-05T23:09:41+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:数位_dp</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%95%B0%E4%BD%8D_dp&amp;rev=1596640181&amp;do=diff</link>
        <description>数位 DP

经典题型

数位 DP 问题往往都是这样的题型，给定一个闭区间 $[l,r]$，让你求这个区间中满足 某种条件 的数的总数。

	&quot; 例题 SCOI2009 windy 数
 
 题目大意：给定一个区间 $[l,r]$，求其中满足条件 不含前导 0 且相邻两个数字相差至少为 2 $ans_i$$[1,i]$$ans_r-ans_{l-1}$$n$$n$$n$$f(i,st,op)$$i$$st$$op$$op=1$$op=0$$\text{gcd}$$$
f(i,st,op)=\sum^{maxx}_{k=1}f(i+1,k,op=1\ and\ k=maxx)\quad (\mid st-k\mid\ge 2)
$$$k$$maxx$$op=1$$f$…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%99%AE%E9%80%9A%E8%8E%AB%E9%98%9F%E7%AE%97%E6%B3%95&amp;rev=1596468890&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-03T23:34:50+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:普通莫队算法</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E6%99%AE%E9%80%9A%E8%8E%AB%E9%98%9F%E7%AE%97%E6%B3%95&amp;rev=1596468890&amp;do=diff</link>
        <description>普通莫队算法

形式

假设 $n=m$，那么对于序列上的区间询问问题，如果从 $[l,r]$ 的答案能够 $O(1)$ 扩展到 $[l-1,r],[l+1,r],[l,r+1],[l,r-1]$ （即与 $[l,r]$ 相邻的区间）的答案，那么可以在 $O(n\sqrt{n})$ 的复杂度内求出所有询问的答案。

实现

离线后排序，顺序处理每个询问，暴力从上一个区间的答案转移到下一个区间答案（一步步移动即可）。$[l,r]$$l$$r$$n$$c_i$$m$$l$$r$$l$$r$$[l,r]$$l$$r$$O(n)$$[i,i]$$col[i]$$i$$ans$$k$$ans$$C^2_{col[k]+1}-C^2_{col[k]}$$ans$$C^2_{col[k]}-C^2_{col[k]-1}$$\displaystyle\frac{ans}{C^2_{r-l+1}}$$C^2_a=\displaystyle\frac{a(a-1)}{2}$$C^2_{a+1}-C^2_a=\displaystyle\frac{(a+1)a}{2}-\displaystyle\frac{a…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%8A%B6%E5%8E%8B_dp&amp;rev=1596553555&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-04T23:05:55+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:状压_dp</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%8A%B6%E5%8E%8B_dp&amp;rev=1596553555&amp;do=diff</link>
        <description>状压 DP

学习状压 DP 之前，请确认你已经完成了 动态规划基础 部分内容的学习。

（同时建议学习 位运算 部分的内容）

状压 DP 简介

状压 DP 是动态规划的一种，通过将状态压缩为整数来达到优化转移的目的。$N\times N$$K$$8$$f(i,j,l)$$i$$j$$l$$j$$j$$sta(x)$$j$$x$$f(i,j,l)=\sum f(i-1,x,l-sta(x))$</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_%E5%9F%BA%E6%9C%AC%E5%AE%9A%E4%B9%89&amp;rev=1612866436&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-09T18:27:16+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:生成函数理论_基本定义</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_%E5%9F%BA%E6%9C%AC%E5%AE%9A%E4%B9%89&amp;rev=1612866436&amp;do=diff</link>
        <description>生成函数理论 1

基本定义

​		定义 1	数列 $\{a_n\}_{n=0}^{\infty}$ 的 普通生成函数 是下面的形式级数：
$$
f(x)=\sum_{n=0}^{\infty}a_nx^n.
$$
​		定义 2	数列 $\{a_n\}_{n=0}^{\infty}$ 的 指数型生成函数 是下面的形式级数：
$$
f(x)=\sum_{n=0}^{\infty}\frac{a_n}{n!}x^n.
$$
​		定义 3	数列 $\{a_n\}_{n=1}^{\infty}$ 的 Dirichlet 生成函数 是下面的形式级数：
$$
f(s)=\sum_{n=1}^{\infty}\frac{a_n}{n^s}.
$$$\{1\}_{n=0}^{\infty}$$$
\sum_{n=0}^{\infty}x^n=\frac{1}{1-x}.
$$$\{1\}_{n=0}^{\infty}$$$
\sum_{n=0}^{\infty}\frac{x^n}{n!}=e^x.
$$$\{1\}_{n=0}^{\infty}$$$
\sum_{n=1}^{\infty}\f…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_1_%E5%9F%BA%E6%9C%AC%E5%AE%9A%E4%B9%89&amp;rev=1612866481&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-09T18:28:01+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:生成函数理论_1_基本定义</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_1_%E5%9F%BA%E6%9C%AC%E5%AE%9A%E4%B9%89&amp;rev=1612866481&amp;do=diff</link>
        <description>生成函数理论 1

基本定义

​		定义 1	数列 $\{a_n\}_{n=0}^{\infty}$ 的 普通生成函数 是下面的形式级数：
$$
f(x)=\sum_{n=0}^{\infty}a_nx^n.
$$
​		定义 2	数列 $\{a_n\}_{n=0}^{\infty}$ 的 指数型生成函数 是下面的形式级数：
$$
f(x)=\sum_{n=0}^{\infty}\frac{a_n}{n!}x^n.
$$
​		定义 3	数列 $\{a_n\}_{n=1}^{\infty}$ 的 Dirichlet 生成函数 是下面的形式级数：
$$
f(s)=\sum_{n=1}^{\infty}\frac{a_n}{n^s}.
$$$\{1\}_{n=0}^{\infty}$$$
\sum_{n=0}^{\infty}x^n=\frac{1}{1-x}.
$$$\{1\}_{n=0}^{\infty}$$$
\sum_{n=0}^{\infty}\frac{x^n}{n!}=e^x.
$$$\{1\}_{n=0}^{\infty}$$$
\sum_{n=1}^{\infty}\f…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_2_%E5%9F%BA%E6%9C%AC%E4%BE%8B%E5%AD%90&amp;rev=1612943731&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-10T15:55:31+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:生成函数理论_2_基本例子</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_2_%E5%9F%BA%E6%9C%AC%E4%BE%8B%E5%AD%90&amp;rev=1612943731&amp;do=diff</link>
        <description>生成函数理论2

基本例子

​ 例 1 设 $n\ge 1$，$X_n=\{1,2,\cdots,n\}$。记 $a_n$ 为 $X_n$ 的子集个数，求 $a_n$。

​ 解：易知 $a_n=2a_{n-1}(n\ge 1)$，$\{a_n\}_{n=0}^{\infty}$ 的普通生成函数为 $$
\begin{align}
f(x)&amp;=\sum_{n=0}^{\infty}a_nx^n=1+\sum_{n=1}^{\infty}a_nx^n=1+\sum_{n=0}^{\infty}2a_nx^{n+1}\\
&amp;=1+2x\sum_{n=0}^{\infty}a_nx^n=1+2xf(x),
\end{align}
$$ 所以 $$
f(x)=\frac{1}{1-2x}=\sum_{n=0}^{\infty}(2x)^n=\sum_{n=0}^{\infty}2^nx^n.
$$ 比较系数得 $a_n=2^n$.

​ 例 2 设有三种物体 $a,b,c$$a_n$$n$$\{a_n\}_{n=0}^{\infty}$$$
\begin{align}
((ax)^0&amp;+(a…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_3_%E6%99%AE%E9%80%9A%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0&amp;rev=1613484883&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-16T22:14:43+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:生成函数理论_3_普通生成函数</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_3_%E6%99%AE%E9%80%9A%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0&amp;rev=1613484883&amp;do=diff</link>
        <description>生成函数理论 3——普通生成函数

定义 1

若形式级数 $f(x)=\sum_{n=0}^{\infty}a_nx^n$ 与 $g(x)=\sum_{n=0}^{\infty}b_nx^n$ 满足 $f(x)g(x)=1$，则称 $g(x)$ 为 $f(x)$ 的乘法逆。

性质 2

形式级数 $f(x)=\sum_{n=0}^{\infty}a_nx^n$ 有乘法逆的充分必要条件是 $a_0\ne 0$。

性质 3

设形式级数 $f(x)=\sum_{n=0}^{\infty}a_nx^n$ 与 $g(x)=\sum_{n=0}^{\infty}b_nx^n$ 互为复合逆，并且 $a_0=0$，则有 $b_0=0$$a_1\ne 0,b_1\ne 0$$f(x)=\sum_{n=0}^{\infty}a_nx^n$$f'(x)=0$$f(x)$$a_0$$f(x)=\sum_{n=0}^{\infty}a_nx^n$$f'(x)=f(x)$$f(x)=Ce^x$$C$$f(x)=\sum_{n=0}^{\infty}a_nx^n$$\{a_{n+1}\}_{n=0}^{\i…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_4_%E6%8C%87%E6%95%B0%E5%9E%8B%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0&amp;rev=1613630491&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-18T14:41:31+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:生成函数理论_4_指数型生成函数</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_4_%E6%8C%87%E6%95%B0%E5%9E%8B%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0&amp;rev=1613630491&amp;do=diff</link>
        <description>生成函数理论 4——指数型生成函数

事实 1

若 $\displaystyle f(x)=\sum_{n=0}^{\infty}\frac{a_n}{n!}x^n$，则 $\displaystyle \{a_{n+1}\}_{n=0}^{\infty}$ 的指数型生成函数是 $$
\sum_{n=0}^{\infty}\frac{a_{n+1}}{n!}x^n=\sum_{n=1}^{\infty}\frac{na_n}{n!}x^{n-1}=f'(x).
$$

性质 2

若 $\displaystyle f(x)=\sum_{n=0}^{\infty}\frac{a_n}{n!}x^n$，则 $\displaystyle \{a_{n+k}\}_{n=0}^{\infty}$ 的指数型生成函数是 $\displaystyle D^kf$。

例 3

回忆 Fibonacci 数列 $\{f_n\}_{n=0}^{\infty}$，满足 $f_{n+2}=f_{n+1}+f_n$，初始条件为 $f_0=0,f_1=1$。用生成函数的方法再次求解 $f_n$$f(x)$$\{f…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_5_%E4%B8%80%E4%BA%9B%E4%BE%8B%E5%AD%90&amp;rev=1613912896&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-21T21:08:16+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:生成函数理论_5_一些例子</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%94%9F%E6%88%90%E5%87%BD%E6%95%B0%E7%90%86%E8%AE%BA_5_%E4%B8%80%E4%BA%9B%E4%BE%8B%E5%AD%90&amp;rev=1613912896&amp;do=diff</link>
        <description>生成函数理论 5

基本应用

例 1

P2000 拯救世界

依照题意可列出 10 个条件的生成函数 $f_i(x)$，将它们相乘再化简即可。

	*  $f_1(x)=(1+x^6+x^{12}+\cdots)=\frac{1}{1-x^6}$
	*  $f_2(x)=(1+x+x^2+\cdots+x^9)=\frac{1-x^{10}}{1-x}$
	*  $f_3(x)=(1+x+x^2+\cdots+x^5)=\frac{1-x^6}{1-x}$
	*  $f_4(x)=(1+x^4+x^8+\cdots)=\frac{1}{1-x^4}$
	*  $f_5(x)=(1+x+x^2+\cdots+x^7)=\frac{1-x^8}{1-x}$
	*  $f_6(x)=(1+x^2+x^4+\cdots)=\frac{1}{1-x^2}$
	*  $f_7(x)=(1+x)=\frac{1-x^2}{1-x}$
	*  $f_8(x)=(1+x^8+x^{16}+\cdots)=\frac{1}{1-x^8}$
	*  $f_9(x)=(1+x^{10}+x^{20}+\c…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%B1%BB_dinic_%E7%AE%97%E6%B3%95&amp;rev=1597909850&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-20T15:50:50+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:类_dinic_算法</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%B1%BB_dinic_%E7%AE%97%E6%B3%95&amp;rev=1597909850&amp;do=diff</link>
        <description>类 Dinic 算法

我们可以在 Dinic 算法的基础上进行改进，把 BFS 求分层图改为用 SPFA （由于有负权边，所以不能直接用 Dijkstra）来求一条单位费用之和最小的路径，也就是把 $w(u,v)$ 当做边权然后在残量网络上求最短路，当然在 DFS 中也要略作修改。这样就可以求得网络流图的 $(u,v,w,c)$$w$$c$$(u,v,w,c)$$(v,u,0,-c)$$-c$$O(nmf)$$f$</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%BD%91%E7%BB%9C%E6%B5%81%E7%AE%80%E4%BB%8B&amp;rev=1597161919&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-12T00:05:19+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:网络流简介</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E7%BD%91%E7%BB%9C%E6%B5%81%E7%AE%80%E4%BB%8B&amp;rev=1597161919&amp;do=diff</link>
        <description>网络流简介

网络

首先，请分清楚 网络 （或者流网络，Flow Network）与 网络流 （Flow）的概念。

网络是指一个有向图 $G=(V,E)$。

每条边 $(u,v)\in E$ 都有一个权值 $c(u,v)$，称之为容量（Capacity），当 $(u,v)\notin E$ 时有 $c(u,v)=0$。

其中有两个特殊的点：源点（Source）$s\in V$$t\in V,(s\ne t)$$f(u,v)$$(u\in V,v\in V)$$f(u,v)\le c(u,v)$$f(u,v)=-f(v,u)$$\forall x\in V-\{s,t\},\sum_{(u,v)\in E}f(u,x)=\sum_{(x,v)\in E}f(s,v)$$f$$G$$(u,v)\in E$$f(u,v)$$c(u,v)-f(u,v)$$\sum_{(s,v)\in E}f(s,v)$$$
f(u,v)=\left\{\begin{aligned} &amp;f(u,v),&amp;(u,v)\in E\\
&amp;-f(v,u),&amp;(v,u)\in E\\
&amp;0,&amp;(u,v)\notin…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E8%99%9A%E6%A0%91&amp;rev=1615028634&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-06T19:03:54+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:虚树</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:%E8%99%9A%E6%A0%91&amp;rev=1615028634&amp;do=diff</link>
        <description>虚树

引子

「SDOI2011」消耗战

题目描述

在一场战争中，战场由 $n$ 个岛屿和 $n-1$ 个桥梁组成，保证每两个岛屿间有且仅有一条路径可达。现在，我军已经侦查到敌军的总部在编号为 $1$ 的岛屿，而且他们已经没有足够多的能源维系战斗，我军胜利在望。已知在其他 $k$$1$$m$$n$$n-1$$u,v,w$$u$$v$$c$$1\le u,v\le n$$1\le c\le 10^5$$n+1$$m$$m$$k_i$$i$$k_i$$k_i$$h_1,h_2,\cdots,h_k$$m$$100\%$$2\le n\le 2.5\times10^5,\sum k_i\le 5\times10^5,1\le k_i\le n-1$$Dp(i)$$i$$w(a,b)$$a$$b$$i$$v$$v$$Dp(i)=Dp(i)+\min\{Dp(v),w(i,v)\}$$v$$Dp(i)=Dp(i)+w(i,v)$$O(nq)$$\lceil$$\rfloor$$1$$1$$n$$O(k^2)$$1$$1$$6,4,7$$[4,6,7]$$1$$4$$1$$1$$4$$LCA…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:2-sat&amp;rev=1598354472&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-25T19:21:12+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:2-sat</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:2-sat&amp;rev=1598354472&amp;do=diff</link>
        <description>2-SAT

	&quot; SAT 是适定性（Satisfiability）问题的简称。一般形式为 k - 适定性问题，简称 k-SAT。而当 $k&gt;2$ 时该问题为 NP 完全的。所以我们只研究 $k=2$ 的情况。&quot;

定义

2-SAT，简单地说就是给出 $n$ 个集合，每个集合有两个元素，已知若干个 $&lt;a,b&gt;$$a$$b$$a$$b$$n$$a$$A$$B$$(\neg a);b$$C$$\neg b$$(a \vee b)$$a,b$$\neg a\Rightarrow b\ \wedge \neg b\Rightarrow a $$a$$b$$b$$a$$a1,a2$$b1,b2$$a1$$b2$$(a1,b1)$$(b2,a2)$$a1$$b1$$b2$$a2$$\neg x$$x$$x$$x$$\neg x$$x$$O(n+m)$$n$$1$$2n$$2$$n$$a1$$a2$$a1$$a2$$a2$$a1$$k(k&gt;3)$$n$…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_1486&amp;rev=1613995160&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-22T19:59:20+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:codeforces_1486</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_1486&amp;rev=1613995160&amp;do=diff</link>
        <description>Codeforces Round #703 (Div. 2)

比赛链接

C2. Guessing the Greatest (hard version)

标签

交互题、二分、次大值、最大值

题意

交互题。给定一固定的数列，每次可询问一区间的次大值的位置，要求在 20 次询问内找到该数列的最大值的位置。$2\le n\le 10^5,1\le l&lt;r\le n$$pos$$[1,pos]$$pos1$$pos1==pos$$pos$$pos$$pos$$r$$ask(pos,r)==pos$$r$$2+\lceil\log_2^{1e5}\rceil=2+17=19$$n$$k$$k$$1\le k\le n\le 2\cdot10^5,1\le a_i\le n$$-1$$1$$1$$x$$x$$1$$x$$-1$$sum[i]$$minsum[i]$$i$$sum[i]-minsum[i-k]&gt;0$$x$$O(n\log n)$$w$$a\rightarrow b\rightarrow c$$(w_{ab}+w_{bc})^2$$1$$-1$$w_i\leq 50$$v$…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_1492&amp;rev=1614120342&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-24T06:45:42+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:codeforces_1492</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_1492&amp;rev=1614120342&amp;do=diff</link>
        <description>Codeforces Round #704 (Div. 2)

比赛链接

C. Maximum width

标签

子序列，贪心

题意

给定两个字符串 $s,t$，长度分别为 $n,m(m\leq n)$，保证 $t$ 是 $s$ 的一个子序列，求子序列 $t$ 在 $s$ 中两个字符的间隔的最大值是多少。

题解

用 $left_i$ 记录 $t$$s$$t_i=s_{left_i}$$left_i$$right_i$$t$$s$$t_i=s_{right_i}$$right_i$$\max_{i=1}^{m-1}\{right_{i+1}-left_i\}$$3$$a,b,k(0\leq a;1\leq b;0\leq k\leq a+b\leq 2\cdot10^5)$$x,y(x\geq y)$$x,y$$a$$0$$b$$1$$x-y$$k$$1$$x$$11\cdots 1100\cdots 00$$y$$x$$1$$x-y$$1$$+1$$k\leq a$$k&gt;a$$1$$k$$+1$$k\in [0,a+b-2]$$a=0,b=1,k=0$…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round&amp;rev=1596993717&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-10T01:21:57+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:codeforces_round</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round&amp;rev=1596993717&amp;do=diff</link>
        <description>Codeforces Round #663 (Div. 2)</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round_662_div._2&amp;rev=1596993822&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-10T01:23:42+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:codeforces_round_662_div._2</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round_662_div._2&amp;rev=1596993822&amp;do=diff</link>
        <description>Codeforces Round #662 (Div. 2)</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round_663_div._2&amp;rev=1596993845&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-10T01:24:05+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:codeforces_round_663_div._2</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round_663_div._2&amp;rev=1596993845&amp;do=diff</link>
        <description>Codeforces Round #663 (Div. 2)</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round_664_div._2&amp;rev=1597279512&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-13T08:45:12+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:codeforces_round_664_div._2</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:codeforces_round_664_div._2&amp;rev=1597279512&amp;do=diff</link>
        <description>比赛链接</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:dinic_%E7%AE%97%E6%B3%95&amp;rev=1597562806&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-16T15:26:46+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:dinic_算法</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:dinic_%E7%AE%97%E6%B3%95&amp;rev=1597562806&amp;do=diff</link>
        <description>Dinic 算法

Dinic 算法 可用于求解网络最大流问题。

Dinic 算法 的过程是这样的：每次增广前，我们先用 BFS 来将图分层。设源点的层数为 $0$，那么一个点的层数便是它离源点的最近距离。

通过分层，我们可以干两件事情：$1$$n$$m$$O(n^2m)$$O(m\sqrt n)$</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:manacher_%E7%AE%97%E6%B3%95&amp;rev=1601619129&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-02T14:12:09+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:manacher_算法</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:manacher_%E7%AE%97%E6%B3%95&amp;rev=1601619129&amp;do=diff</link>
        <description>Manacher 算法

描述

给定一个长度为 $n$ 的字符串 $s$，请找到所有对 $(i,j)$ 使得子串 $s[i\ldots j]$ 为一个回文串。当 $t=t_{rev}$ 时，字符串 $t$ 是一个回文串（$t_{rev}$ 是 $t$ 的反转字符串）。

更进一步的描述

显然在最坏情况下可能有 $O(n^2)$$i=0\ldots n-1$$d_1[i]$$d_2[i]$$i$$s=\mathtt{abababc}$$s[3]=b$$d_1[3]=3$$$
a\ \overbrace{b\ a\ \underset{s_3}{b}\ a\ b}^{d_1[3]=3}\ c
$$$s=\mathtt{cbaabd}$$s[3]=a$$d_2[3]=2$$$
c\ \overbrace{b\ a\ \underset{s_3}{a}\ b}^{d_2[3]=2}\ d
$$$i$$l$$i$$l-2$$l-4$$d_1[i]$$d_2[i]$$d_1[]$$d_2[]$$O(n\log n)$$O(n)$$i$$1$$O(n^2)$$d_1[]$$d_2[]$$(l,r…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:spfa_dijkstra_%E6%9C%80%E7%9F%AD%E8%B7%AF%E6%A8%A1%E6%9D%BF&amp;rev=1597971190&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T08:53:10+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:spfa_dijkstra_最短路模板</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:spfa_dijkstra_%E6%9C%80%E7%9F%AD%E8%B7%AF%E6%A8%A1%E6%9D%BF&amp;rev=1597971190&amp;do=diff</link>
        <description>SPFA+Dijkstra 最短路模板

参考代码


#include&lt;bits/stdc++.h&gt;
using namespace std;
const int N=1e5+5,M=1e6+5,INF=2147483647;
int head[N],to[M],nxt[M],dis[N],cost[M];
bool vis[N];
int tot=1;
int n;
void add(int u,int v,int c){
    nxt[++tot]=head[u];
    head[u]=tot;
    to[tot]=v;
    cost[tot]=c;
}
void dijkstra(int s){
    for(int i=1;i&lt;=n;i++) dis[i]=INF;
    dis[s]=0;
    priority_queue&lt;pair&lt;int,int&gt;,vector&lt;pair&lt;int,int&gt;&gt;,greater&lt;pair&lt;int,int&gt;&gt;&gt;pq;
    pq.push(make_pair(0,s));
    while(!pq.empty()){
…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:splay&amp;rev=1598105494&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-22T22:11:34+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:splay</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:splay&amp;rev=1598105494&amp;do=diff</link>
        <description>Splay

	&quot; 如何用 $\text{Splay}$ 维护二叉查找树&quot;

简介

$\text{Splay}$ 是一种二叉查找树，它通过不断将某个结点旋转到根结点，使得整棵树仍然满足二叉查找树的性质，并且保持平衡而不至于退化为链，它由 Daniel Sleator 和 Robert Tarjan 发明。$&lt;$$&lt;$$rt$$tot$$fa[i]$$ch[i][0/1]$$val[i]$$cnt[i]$$sz[i]$$\text{maintain(x)}$$x$$\text{size}$$\text{get(x)}$$x$$\text{clear(x)}$$x$$\text{Splay}$$\text{Splay}$$\text{root}$$\text{Splay}$$x$$y$$y$$x$$x$$y$$x$$y$$y$$x$$y$$z$$z$$y$$x$$x$$z$$\text{Splay}$$6$$x$$x$$x$$1,2$$x$$x$$x$$3,4$$x$$x$$x$$5,6$$6$$\text{Splay}$$k$$k$$\text{Splay}$$\text{Splay}…</description>
    </item>
    <item rdf:about="https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:stirling_%E6%95%B0_%E7%90%86%E8%AE%BA&amp;rev=1614940255&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-05T18:30:55+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2020-2021:teams:legal_string:lgwza:stirling_数_理论</title>
        <link>https://wiki.cvbbacm.com/doku.php?id=2020-2021:teams:legal_string:lgwza:stirling_%E6%95%B0_%E7%90%86%E8%AE%BA&amp;rev=1614940255&amp;do=diff</link>
        <description>Stirling 数——理论

定义 1

对于正整数 $n$，$k$，定义 $c(n,k)$ 为 $n$ 元对称群 $S_n$ 中恰含 $k$ 个轮换（即恰可写成 $k$ 个不交轮换的乘积）的置换个数（注意，不动点也看做一个轮换）。称 $s(n,k)=(-1)^{n-k}c(n,k)$ 为 第一类 Stirling 数，也常常称 $c(n,k)$$c(0,0)=1$$n\ge 1$$c(n,0)=c(0,n)=0$$n\geq 1$$k\ge 1$$c(n,k)$$$
c(n,k)=(n-1)c(n-1,k)+c(n-1,k-1).
$$$\Box$$\sigma$$S_n$$k$$\sigma(n)=n$$n$$\sigma$$\sigma$$S_{n-1}$$k-1$$c(n-1,k-1)$$\sigma(n)\neq n$$\sigma$$n$$S_{n-1}$$k$$\sigma$$S_{n-1}$$k$$n-1$$(n-1)c(n-1,k)$$$
c(n,k)=(n-1)c(n-1,k)+c(n-1,k).
$$$\Box$$\{c(n,k)\}_{n=1}^{\infty…</description>
    </item>
</rdf:RDF>
