自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(500)
  • 收藏
  • 关注

原创 高二复习计划汇总

九月LCT(3天)(已完成) 字符串(SAM,ACAM,KMP,扩展KMP,PAM)(6天)(已完成) 图论(3天) 数据结构(3天) 网络流(3天) 多项式板子(1天)(重写多几遍,做到1小时调AC) 生成函数(7天) 数论(2天) 组合数学(2天)

2021-01-08 20:30:31 164 1

原创 CF888G Xor-MST,B算法或者一个更美妙的解法

正题尝试写了一个B算法,T飞了,而且代码调了很久。就是每次从每个集合里面伸出来一条最小的边,可以用01Tire01Tire01Tire去找,然后每次将有连边合并为一个。最多合并log⁡2n\log_2 nlog2​n次,每次时间复杂度O(nlog⁡2S)O(n \log_2 S)O(nlog2​S),时间复杂度正确?找那条最小的边很麻烦,还要维护每个点对应的集合,还要支持每次删除,所以我使用了离散化来处理,省去每次重新插入的时间复杂度,不过还是T飞了。附上代码仔细想想就可以得到一个更美妙的解法,在

2021-01-10 15:29:00 18

原创 [CTSC2008]祭祀,神仙构造结论

正题近期做的神仙题。偏序集合:其中有些元素之间没有大小顺序的集合,在此题中,xxx可达yyy则称x>yx>yx>y,由于是一个DAGDAGDAG,可能没有相互可达的元素,所以DAGDAGDAG可能是个偏序集合。全序集合:所有元素都知道大小关系的集合,比如自然数集合,再比如一条链。反链:集合内两两元素之间都没有大小关系的集合。发现要我们求的是一个偏序集合的最长反链。根据Dilwoth定理:最长反链的大小等于最小全序集合划分数。在一个DAGDAGDAG中,我们先要将所有的偏序关系

2021-01-10 15:18:59 13

原创 [SDOI2019]热闹的聚会与尴尬的聚会,贪心证明正确性

正题构造一个贪心即可。题目的限制实际上是要满足n<(p+1)(q+1)n<(p+1)(q+1)n<(p+1)(q+1)对于前面的,我们每次取走度数最小的,并将其与周围的点的连边断掉,观察在此过程中图的最小度数最大是多少,记为ppp。对于后面的,我们每次取走度数最小的,并将其与周围的点删掉,并将周围的点和他们周围的点的连边删掉,每次取出一个点,q+1q+1q+1。那么p,qp,qp,q即为合法的答案,因为第二次每次删掉的点数一定不超过p+1p+1p+1,所以满足q≥np+1q\ge

2021-01-10 14:38:35 22

原创 Stoer-Wagner算法,求解无向图的最小割

正题Portal这种思想值得学习!我们知道最小割会将集合分为两部分S集和T集。考虑随意选出两个点A,BA,BA,B,显然在一个最小割中这两个点要么在同一个集合,要么不在同一个集合。在同一个集合十分好做:我们只需要将这两个点合并起来看作一个点考虑就可以了(边加权合并),因为可以简单分析得到,对于任意的一个点CCC,要么与A,BA,BA,B在同一个集合,要么不在同一个集合。如果我们知道不在同一个集合怎么做,我们就可以每次选两个点出来求一遍答案,然后合并(即考虑在同一个集合的答案),然后求所有这样答案

2021-01-08 22:11:22 18

原创 最小割树(Gomory-Hu Tree),任意两点最小割

正题Portal可以得到这个定理:用一组最小割将S集和T集分开,则S集的一个点到T集的一个点的最小割权值都等于这个最小割权值。具体证明大概是考虑三个点之间的割:设三个点a,b,ca,b,ca,b,c若割(a,b)(a,b)(a,b)后,ccc在a集,那么存在割(a,b)≥(a,b)\geq(a,b)≥割(c,b)(c,b)(c,b)很好证明,因为ccc最多走回aaa之后然后再开始割,这样得出来的割一定不会比原来大,如果ccc在bbb集是相同的,因为这个定理对于任三点都适用,所以可以得到割(a,b)

2021-01-08 21:55:32 21

原创 最小树形图,一个只有模板题的算法

正题很快啊。这道题就是模板题了。最小树形图指的是一个图(V,E)(V,E)(V,E),满足其为弱连通图且存在一个点没有入边,其他点恰好一条入边的有向图,也就是一个有向外向树的形式。算法流程是这样的:1.找出最小边集。由于在这个图中,除了根节点外每一个点都有且仅有一个入度,所以我们可以从这里入手。因此找出每一个点的入边中权值最小的边mmin[i],同时如果存在一个除了根节点以外的点没有入边,则可判定为无解2.判断是否有环。怎么判有环可以直接看代码,如果没有环而且没有缩点,那么直接返回就好了。如果有

2021-01-07 20:57:03 9

原创 二分图最大权完美匹配,在独特问题上比费用流更优秀的算法

正题尽管以前已经写过一次相关的学习笔记,奈何时间太早,早已忘光,而且学习了新的,时间复杂度更优秀的算法。想与大家在这里分享。首先我们要了解几个概念。顶标txi,tyitx_i,ty_itxi​,tyi​分别表示的是人为赋予的左右点的点权,在实际预算过程中,需要满足txu+tyv≥wu,vtx_u+ty_v\geq w_{u,v}txu​+tyv​≥wu,v​相等子图:每一个点以及满足txu+tyv=wu,vtx_u+ty_v=w_{u,v}txu​+tyv​=wu,v​的边构成的子图。定理:若相等

2021-01-07 20:36:07 16

原创 开门游戏,51nod1372,数竞+简单的莫比乌斯反演

正题首先要解出F(n)F(n)F(n),这东西也是问老Win才会的,不过会了也没什么用。然后剩下的就是个求111到n!n!n! 与n!n!n!的gcd之和。∑i=1mgcd(i,m)∑d∣md∑i=1md[gcd(i,md)=1]∑d∣md∑g=1mdμ(g)mdg∑T∣m(id∗μ)(T)mT(φ∗id)(m)\\ \sum_{i=1}^mgcd(i,m)\\ \sum_{d|m} d\sum_{i=1}^{\frac{m}{d}} [gcd(i,\frac{m}{d})=1]\\ \sum_{

2020-11-26 13:06:42 29

原创 夹克老爷的逢三抽一,51nod1380,贪心

正题首先要知道一个结论,如果在连续三个A,B,C中最大的是B,那么要么取B,要么取A,C,要么哪个都不取,不可能只取A或者只取C。那么就有这样的一个决策:选一个最大值,如果不选最大值,那么要么选周围两个,要么全都不选。所以只要假装选最大值,将周围两个删掉,将最大值的权值改成周围两个点的权值和-最大值权值就可以。#include<bits/stdc++.h>#define pli pair<long long,int> using namespace std;cons

2020-11-26 12:55:34 29

原创 闯关游戏,51nod1450,概率期望

正题所有关都是要至少获得一颗星的,所以打关有两种方案,一种是等到赢就放弃,一种是等到两颗星才放弃。等到赢的时候还是有可能等到两颗星的。而且我们要按照YiYiYi从大到小来排序DpDpDp,这个可以通过观察DpDpDp式子发现,YiYiYi大的时候取到两个星的期望会小,而且等到赢就放弃的时候取到两颗星的概率也会变大,具体来说就是优先冲那先YiYiYi大的。#include<bits/stdc++.h>using namespace std;const int N=2010;long

2020-11-25 22:01:06 17

原创 解方程,51nod1477,不明公式证明算法复杂度

正题非常的amazing啊!想了一下午发现直接做就可以AC。至今不知道怎么证明复杂度,也问了很多巨佬,绿色夹克衫太忙了/kel发现这个J(x)=(p1a1+1)(p2a2+1)...(pkak+1)J(x)=(p_1^{a_1}+1)(p_2^{a_2}+1)...(p_k^{a_k}+1)J(x)=(p1a1​​+1)(p2a2​​+1)...(pkak​​+1)。我们要知道有多少个J(x)=AJ(x)=AJ(x)=A直接DpDpDp即可,发现101210^{12}1012内的最多数的约数并不

2020-11-25 21:26:18 21

原创 城堡迷阵,51nod1527,贪心

正题做法就是设f[i]f[i]f[i]表示i的子树的答案,sum[i]sum[i]sum[i]为iii的(子树的边权和+i到父亲的边权)∗2*2∗2,sz[i]sz[i]sz[i]表示iii子树的的大小。那么若给xxx的子树一个遍历顺序aaa,那么就有:f[i]=∑i=1sonif[ai]+(∑j=1i−1sum[aj])sz[ai]f[i]=\sum_{i=1}^{son_i} f[a_i]+(\sum_{j=1}^{i-1} sum[a_j])sz[a_i]f[i]=i=1∑soni​​f[a

2020-11-25 21:15:11 25

原创 图上的游戏,51nod1481,bitset优化遍历

正题大概想了一个晚上吧,首先可以发现就是将一个独立集不断合并起来之后,成为一个链的形状,相当于有边的只有相邻的两个独立集。考虑枚举链的一个端点,容易发现存在一种最优方案满足这个端点的独立集只有一个点,否则可以将同一个独立集的其他点放到链上第三个独立集,不影响后面的顺序而且只会使答案变得更大。枚举完这个点之后,考虑当前层的点的连接点有没有被加入到独立集,如果没有,那么就加入到下一层,否则,如果和当前点在同一层(也就是有奇数环),那么无解,否则就不用理(肯定会在当前点的上一层或者下一层),肯定合法。这个

2020-11-25 21:06:53 24

原创 专题总结:组合数学

正题 排列组合 1.不相邻的排列 从n个元素中选出k个,使得这k个元素两两不相邻: 证明考虑先把k个元素取出来,然后再给这k个元素之间直接插一个元素,再编号,显然一种选法只会被算到一次. 2.错位排列 重新排列ai,使得每一个元素不在原来的位置上的方案数. 考虑Dp,.为什么?因为当前面有n-1个数错排好的时候,第n个元素可以选择任意一个元素进行交换,当前面有n-2个元素错排好的之后,剩下一个元素,必与n交换,...

2020-10-09 19:05:24 58

原创 容斥原理,求解各部分属性的交集与并集大小

正题

2020-10-09 19:05:09 151

原创 专题总结:生成函数

正题 因为前段时间做生成函数题做得比较烦,题解也没写几篇,所以这里做的总结不能很具体,只能总结性概括. 首先就是OGF和EGF,名字分别叫做普通生成函数,指数生成函数. 前者一般用来解决不带标号的集合组合问题,后者一般用来解决带标号的集合组合问题. 前后者也可以通过乘上i!来进行转化. 普通生成函数 对于一个数列a,我们定义它的普通生成函数为 两个普通生成函数的乘法等于对应系数的卷积. 通常用来处...

2020-10-09 13:09:37 57

原创 专题总结:数论

正题 总结一下常见的算法和定理,不作证明与解释 1.素数判定-Miller Rabbin算法. 要判定n是否为质数,随机一个数x,看是否为1,如果是,若可以将其开方那么就开,根据二次探测定理,x^2=1(mod p)当且仅当x=1或p-1,那么就可以检测,代码如下.bool MR(int n){ if(n<3) return n==2; int a=n-1,b=0; while(a%2==0) a/=2,b++; for(int i=1,j;i&...

2020-10-09 11:32:23 55 3

原创 斯特林数求解

正题 第二类斯特林数.行 根据通项公式有: 拆开来就可以变成卷积的形式. 第一类斯特林数.行: 第一类斯特林数实际上是上升幂展开成普通幂的系数,那么只需要多项式平移就可以倍增求出#include<bits/stdc++.h>#define vi vector<int>using namespace std;const int mod=167772161;int ksm(int x,int t){ ...

2020-10-08 21:25:24 424

原创 [国家集训队]整数的lqp拆分,洛谷P4451,封闭形式推导+矩阵快速幂

正题 设斐波那契数列的原函数为 答案就是求 我们先把F(x)的封闭形式推导出来: 带进答案中,可以得到 递推式子显然,然后做以10为基的矩阵快速幂即可.#include<bits/stdc++.h>using namespace std;char s[10010];const int mod=1000000007;void upd(int&x,int y){x=(x+y>=mod)?(...

2020-10-08 20:54:08 26

原创 [SDOI2017]遗忘的集合,洛谷P3784,观察性质+莫比乌斯反演

正题 跟付公主的背包很像,可以先做做那一题. 然后也是ln,exp转化,ln求和之后发现不太好做,转化给f序列求ln,使等号两边相等. 问题就转化为了,选出一些数,使对于每一个i,在这些数里面的约数和为i*fi.显然是莫比乌斯反演即可.#include<bits/stdc++.h>using namespace std;int mod;int ksm(int x,int t){ int tot=1; while(t){ if(t&a...

2020-10-08 20:44:51 22

原创 仓鼠的数学题,洛谷P3711,伯努利数简单应用

正题 如果不会伯努利数可以先看看本人的学习笔记 然后给出来了式子就直接往上套,因为要求关于x^i的系数所以我们只能做0~x-1的自然数幂和,先把x^k单独提出来,最后再给每一项加上a_k即可. 显然最后一部分是一个翻转套路,然后求一遍FFT即可. #include<bits/stdc++.h>#define vi vector<int>using namespace std;int mod=9982...

2020-10-08 20:37:16 31

原创 伯努利数,求解自然数幂和的关键系数

正题 我们来考虑这个东西如何用与k相关的时间快速计算. 我们记 我们构造其关于k的EGF,则有: 可以发现这是一个等比数列求和的形式,那么就有: 接着,我们将其表示为拆成两部分 可以观察到,后面的那一部分,相当于 因为EGF自带一个i!的系数,这个EGF十分有规律,可以求 而前边一部分貌似就没那么有规律了,我们将它们设为 而这个序列B就被称为伯努利数....

2020-10-08 20:24:51 83

原创 付公主的背包,洛谷P4389,公式转化+多项式exp

正题对于每一种物品构造OGF,就有:Fk(x)=∑ixivk=11−xvkF_k(x)=\sum_{i} x^{iv_k}=\frac{1}{1-x^{v_k}}Fk​(x)=i∑​xivk​=1−xvk​1​那么答案就显然是:∏i=1nFi(x)\prod_{i=1}^n F_i(x)i=1∏n​Fi​(x)转化成ln之后,加起来再exp:=exp⁡∑i=1nln⁡(Fi(x))=exp⁡∑i=1n−ln⁡(1−xvk)\\=\exp \sum_{i=1}^n \ln(F_i(x)) \\

2020-10-08 20:04:12 26

原创 弦图:图上求解多种复杂问题的简单情况

正题 如果想要严格证明,请到这里,这里只是用来背结论和性质的. 弦图:每个大小>=4的环都必有一条不连接相邻点的边,注意辨析,只有三元环的图不一定是弦图,像一个六边形,中间有一个点,这个点连向所有六边形上的点,由于外部的六边形形成了一个环,但是没有一条不连接相邻点的边,所以这个图不是弦图. 团:完全图 诱导子图:点集是原图的点集的子集,边集是是原图边集的子集且满足两端点在点集内. 弦图的诱导子图是弦图 单纯...

2020-09-18 12:53:53 57

原创 LGV引理:DAG多源多汇不相交路径乘积计数

正题 证明啥的都不用管,这篇Blog里面的记住就行了. 首先LGV引理只在DAG上有效. 对于一条路径,我们定义它的权值为路径S上边权之积记为 现在有k个起点,k个终点,对于一对起终点,我们定义,S是起终点的任意一条路径. 我们将放进一个k*k的矩阵当中,第i行第j列为. 我们对这个矩阵求行列式,就有: 前面的P枚举的是一个排列,指的是逆序对个数,后面的prod枚举的是每一组从的路径Q,这些路径要满足互不相交,...

2020-09-18 11:53:01 74

原创 同余最短路:搞定非负整数方程组解

正题 当出现形如“给定n个整数,求这n个整数能拼凑出多少的其他整数(n个整数可以重复取)”,以及“给定n个整数,求这n个整数不能拼凑出的最小(最大)的整数”的问题时可以使用同余最短路的方法。 同余最短路利用同余来构造一些状态,可以达到优化空间复杂度的目的。 我们以这一题来作为引入. 如果我们能求出,不用a1,a2-an在a1的剩余系中对于每一个x,所能组成的最小整数,那么我们就可以通过不断+a1得到所有%a1=x的所有解,进而算出[l,r]中%a1...

2020-09-18 11:20:52 39

原创 Floyd与Johnson最短路:处理多源最短路和最小环的利器.

正题 为什么要讲这两个东西? 因为这两个都可以处理有负边的多源最短路. 但是Floyd好像比Johnson最短路的用处更大,尤其是在最小环问题上.(没有引战的意思 Floyd 简简单单的三行代码,蕴藏了很多玄机?for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) f[i][j]=min(f[i][j],f[i...

2020-09-18 11:11:23 35

原创 网络流总结:毫无套路可言的系统

正题 这个从Blog开启就一直陪伴我的恶心好东西终于要被我总结一番了. 基本概念就不详细说了,这是总结不是学习笔记 比较基础的提升可以做做网络流24题,你可以学习到很多套路,这可能并不能很好地锻炼你的思维,但是你会基本了解几类模型:最小割,最大权闭合子图,二分图匹配,费用流等等 接着要学习有上下界的网络流,有些题目根本就是硬改成上下界网络流的,套路基本和上面的一致,有时候套个复杂建边,有时候套个二分,有时候根本连主算法都算不上,其实本质上对网络流的流性...

2020-09-18 10:39:59 31

原创 Chips Challenge,UVA1104,amazing的建图+有源汇上下界最小费用最大流

正题 真是非常的amazing啊! 先说说正确做法. 由于要满足A/B的限制,考虑暴力枚举每一行每一列最多选多少个,根据这个求出当前全局最多选多少个,如果满足条件,那么更新答案. 对于行列建立二分图,源向行点连边,容量为该行的可放置部件(包括已选)的位置个数,列点向汇连边容量为该列的可放置部件(包括已选)的位置个数.枚举行列最大值t,从行点到该行对应的列点连一条容量为t的边,这条边流了多少,说明行和列各选了多少. 对于一个可放置点(x,y...

2020-09-18 10:20:07 24

原创 矩阵,洛谷P4194,二分+有源汇上下界可行流

正题 首先答案是有二分性的,所以我们先二分这个max. 那么我们就知道b的每行每列的取值范围了,建个二分图,左边是b的行,右边是b的列,中间的边是个完全图,上下界是[l,r],源汇到二分图的两边连行列的取值范围,然后就是一个有源汇上下界网络流的板子.#include<bits/stdc++.h>using namespace std;const int N=410;struct edge{ int y,nex,c;}s[N*N];int first...

2020-09-18 09:49:49 29

原创 Captain America,CF704D,有源汇上下界最小流

正题 首先我们假设全部选权值较小的颜色,将行列离散化,转化为二分图,对于一行或一列的限制来说,更改颜色数量的区间是一个范围,以此作为上下界与源汇连边,中间存在点(i,j)那么就从i向j连边,容量为1,最后看看可行的最小流是多少,就知道至少要改多少个成权值较大的颜色,才能满足方案. 输出方案我们就把中间边的编号记下来,看看有没有流量即可,有流量说明改了. 当前弧优化漏打一个&,T了半小时.#include<bits/stdc++.h>usi...

2020-09-18 09:48:53 30

原创 士兵占领,P4311,有源汇上下界最小流

正题 聪明的你可能还没有见过这种套路,但是见过的你一定可以秒切. 对于每一行,连源点,下界限制必须选,每一列连汇点,下界限制必须选. 对于一个(x,y)的士兵,从x行到y列连一条容量为1边,表示这个士兵可以给这行这列带来1的贡献,由于要求最小士兵,所以就是一道有源汇上下界最小流,可行流跑出来之后,删除源汇边,倒着跑最大流,用可行流答案来减就可以了.#include<bits/stdc++.h>using namespace std;const...

2020-09-17 22:04:22 16

原创 80人环游世界,洛谷P4553,有源汇上下界最小费用可行流

正题 对于每一个城市拆成入点和出点,连边就可以了用一条下界上界都为v的边来限制一个城市的经过次数,然后源点也多拆一个点出来限制只能有m个人,最后求可行流就可以(反正是最小费用,可行流和最大流没区别. 但是博主并不知道有源汇上下界最小费用最小流怎么求,倒着跑最长路?只增广权为0的路径?#include<bits/stdc++.h>using namespace std;const int N=210;struct edge{ int y,nex,f,c;...

2020-09-17 22:00:01 21

原创 Incorrect Flow,CF708D,最小费用最大流

正题 显然一条边要么增加流量,要么减少流量,增加流量相当于正着流,减少流量相当于反着流,根据c与f的关系来分段计费,对于那些原来不满足流量平衡的点,如果入度过多,那么就从S向其连容量为入度-出度的边,表示从这个点要找那么多的容量流出去,出度过多同理. 然后跑最小费用最大流即可,由于上限其实是可以到正无穷的,所以必然有解.#include<bits/stdc++.h>using namespace std;const int N=110,M=1010;st...

2020-09-17 21:56:31 23

原创 Shoot the Bullet|东方文花帖,洛谷 P5192,有源汇上下界最大流

正题 板子 有源汇上下界最大流可以通过跑完有源汇上下界可行流后,跑一遍从源到汇的最大流求解. 有源汇上下界可行流可以通过加一条从汇到源的无穷容量边,转化成无源汇上下界可行流来求解. 无源汇上下界可行流可以通过强行先假设下界已经流满,建立超级源汇,若一个点入度>出度,那么就从超级源向该店连一条容量为入度-出度的边,若一个点出度>入度,那么就从该点向超级汇连一条容量为出度-入度的边,判断是否有满足S割集只有超级源来求解. 注意最后...

2020-09-17 12:00:39 24

原创 [NOI2015]小园丁与老司机,洛谷P2304,恶心的建图+有源汇上下界最小流

正题 这题建图太恶心了,思路十分的简单,看到相同的显然可以把分层图建出来,一个流量代表一辆压路车,对于必须要走过的边就设下限流量为1,然后跑有源汇的上下界最小流就可以,但是怎么将那些边建出来呢? 每一层考虑dp,看看同层转移到这个点的答案,如果转移点在左边,那么它可以先走到最左边,然后再走到这个点,所以对于左边的任何转移点,转移的时候加上的都是左边的点数,对于右边的转移点同理. 把同层可能的转移点用vector存起来,把原来转移到该点值的下层转移点用vector存起...

2020-09-17 11:52:07 31

原创 学习笔记第六十节:动态点分治

正题 以前口胡了好多发的动态点分值,写起来的时候才知道有多恶心. 其实很多动态点分治的题都很板子,但是都很难写,因为要将自己的信息传给儿子,对于每个点要维护自己的信息和子树在父亲中的信息. 动态点分治实际上就是把点分治的那棵分治树保存下来,在题目不改变树的形态的情况下,可以通过对于每一个点维护一个数据结构来满足将点分治可以做的事情动态化,每次带个log.(分治树最大高度log 像这题:【模板】点分树 | 震波 对于每一个点,我们就用线段树...

2020-09-16 08:53:33 33

原创 [1007]倍杀测量者,洛谷P4926,差分约束

正题 还没听说过可以靠新建点来维护确定点之间的关系. 十分的牛. 有很多类似这样的条件: 为了不麻烦,我们可以换成>=号: 显然这个T是单调的而且最大值不能超过条件1中最小的k,因为题目没有定义非正数倍杀. 于是,我们从B向A连边即可,边的权值为右边的值的大小. 对于确定权值的点,我们新建一个点0,相当于满足:,可以发现c_0就是基准点,可以保证确定点之间的相对大小,所以...

2020-09-16 08:43:24 38

原创 [SDOI2018]战略游戏,洛谷P4606,圆方树+虚树

正题 看到这样的性质就可以想到圆方树,而两点之间贡献的答案就是路径上的圆点数量,为了去重,我们只需要将虚树建出来求路径上的点权和就行了,实际上并不需要建出来,可以发现按照dfs序排一下之后就可以考虑欧拉回路,只需要将每个点的深度加起来-相邻两点的lca深度即可,这里的深度是带权深度,相当于点到根的圆点数量,最后这个虚树的权值也并不是正确的,因为在所有点的lca的父亲到根节点的圆点实际上并不会贡献答案,减一下就可以了.#include<bits/stdc++.h>using ...

2020-09-16 08:30:27 30

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除