自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

在人间贩卖声音

等凑够满天星辰,放烟花给你看。

  • 博客(42)
  • 收藏
  • 关注

原创 树链剖分【模板】

目录前言原题概念Part OnePart TowPart Three时间复杂度Code前言首先,在学树链剖分之前要先把 LCA、树形DP、DFS序 这三个知识点学了还有必备的 链式前向星、线段树 也要先学了。树链剖分 就是对一棵树分成几条链,把树形变为线性,减少处理难度需要处理的问题都有:将树从x到y结点最短路径上所有节点的值都加上z求树从x到y结点最短路径上所有节点的值之和将以x为根节点的子树内所有节点值都加上z求以x为根节点的子树内所有节点值之和原题》》题目概念思

2021-07-21 21:18:40 259 2

原创 乘法逆元【解法大全】

目录定义模板题法一法二法三应用定义若a∗x≡1(mod  p)a*x≡1 (mod\;p)a∗x≡1(modp),且 aaa 与 ppp 互质,那么我们就能定义: xxx 为 aaa 的逆元,记为 a−1a^{-1}a−1,所以我们也可以称 xxx 为 aaa 的倒数( modmodmod ppp 意义下)。所以对于 ab   mod  p\frac{a}{b}\ \; mod\;pba​ modp ,我们就可以求出 b 在 mod  pmod\; pmodp意义下的逆元,然后乘上

2021-07-20 20:21:13 1271 2

原创 扩展欧几里得

目录前言基本问题关于同余关于逆元其他前言什么是快乐星球?什么时候欧几里得??扩欧即是扩展欧几里得,是欧几里得算法的扩展算法。欧几里得算法是蛤?就是小学学过的辗转相除法。用于计算两个整数a,b的最大公约数。code:int gcd(int a,int b){ if(b==0)return a; return (b,a%b);}基本问题求解 ax+by=cax+by=cax+by=c 的所有整数解(a,b,ca,b,ca,b,c 都为整数)首先:要保证有整数解就必须有:gcd(

2021-07-20 20:02:37 501 1

原创 欧拉φ函数

定义111~ NNN中与 N 互质的数的个数叫欧拉函数,记为φ(N)φ ( N )φ(N)。对 N 分解质因数N=p1c1∗p1c1∗...∗pkckN=p_1^{c_1}*p_1^{c_1}*...*p_k^{c_k}N=p1c1​​∗p1c1​​∗...∗pkck​​则有 φ(N)=N∗(1−1p1)∗(1−1p2)∗...∗(1−1pk)\varphi(N)=N*(1-\frac{1}{p_1})*(1-\frac{1}{p_2})*...*(1-\frac{1}{p_k})φ(N)=N∗(1−

2021-07-19 17:27:27 270

原创 (纪中)4624. 字符串匹配【KMP】

解题思路超开心!!终于A了一道题!!原本可以再A一题的啊啊啊啊!!!涉及到公共子串,直接上KMP。先算出每一个b中有几个a,但是我们发现将b倍长n倍后,首尾相接处可能还有a。于是可以处理两倍b中含a的个数w和一倍b中含a的个数ww,然后代码#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>#define ...

2021-07-22 16:35:27 106

原创 (纪中)7208. 书页【数学】

解题思路就从k+1k+1k+1开始暴力的假设后面的都是文本页,当再加一页文本页,数码和就超过sss的时候,开始贪心。为了补上s和当前数码和的差值,试着让每一页都往后推一页,因为就算全部文本页都往后推了一页,也只多了一个插图页。假设现在文本页为xxx页,多了一个插图页的代价,可以让全部文本页都往后推了一页,让差值减小x。所以用差值除以xxx的商,就是至少要多多少插图页,最后如果差值除以x有余数(设为eee),插图页还要加一,因为还要让e个文本页往后推,而e<ne<ne<n,保证...

2021-07-22 16:27:37 110

原创 (纪中)1347. 环中环【DP】

解题思路没有打正解,打了一个看起来不太正确的DP,结果拿了80??设f[i]表示选到第i个数作为结尾时最多能选几个数,则f[i]=max(f[i],f[k]+1)f[i]=max(f[i],f[k]+1)f[i]=max(f[i],f[k]+1) (k<j且abs(a[k]−a[j])!=1)(k<j且abs(a[k]-a[j])!=1)(k<j且abs(a[k]−a[j])!=1)更新f[i]f[i]f[i]时枚举k,找到另f[i]f[i]f[i]最大的k并记录下,用一个数...

2021-07-22 16:17:33 121

原创 (纪中)2256. 树的统计【树链剖分】

解题思路就树链剖分模板。。。没打懒标记,线段树维护区间最大值和权值。》》链接代码#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>#define ll long longusing namespace std;ll n,m,root,k,x,y,cnt,z;ll w[500100],head[...

2021-07-21 21:23:22 65

原创 【洛谷 P3384】 轻重链剖分/树链剖分【模板】【树链剖分】

》》题目解题思路没错,就是来水博客的,哈哈哈哈详情请见BLOG》》树链剖分.~~(我太j了,我太j了,逃)~代码#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>#define ll long longusing namespace std;ll p;int n,m,root,k,x,y,...

2021-07-21 21:20:06 114

原创 (纪中)7203. Number【暴力】

解题思路超级超级暴力,我笑了,但是比赛的时候全WA了。。。。代码 #include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>#define ll long longusing namespace std;ll x,xx,l,ans=1e19;int k;int main(){ scanf("%ll...

2021-07-21 16:14:08 75

原创 (纪中)3515. 软件公司【DP】【二分】

解题思路首先对于这种最小值最大,最大值最小的问题,都二分答案,接着我们就要知道如何用到DPDPDP。设f[i][j]f[i][j]f[i][j]为前iii个人取了jjj个一项目,所能取二项目的最大值。枚举k,k表示第i个人做一项目作了几个,则转移为f[i][j]=max(f[i][j],f[i−1][j−k]+x/b[i]);f[i][j]=max(f[i][j],f[i-1][j-k]+x/b[i]);f[i][j]=max(f[i][j],f[i−1][j−k]+x/b[i]); (b[i...

2021-07-20 16:38:05 70

原创 (纪中)3505. 积木【DP】

解题思路不是正解。。先对于每一个位置,求出这一个位置的极高,例如对于7而言,每一个位置的极高为0,1,2,3,2,1,00,1,2,3,2,1,00,1,2,3,2,1,0,对于8而言,每一个位置的极高为0,1,2,3,3,2,1,00,1,2,3,3,2,1,00,1,2,3,3,2,1,0;设f[i][j]f[i][j]f[i][j]表示到第i个位置,高度为j的方案数,如果当前位置被推倒,则f[i][j]=f[i−1][j−1]+f[i−1][j]+f[i−1][j+1]f[i][j]=f...

2021-07-20 16:30:17 78

原创 (纪中)3555. 树的直径【LCA】

解题思路先我们知道可以用LCA来求两点距离(当然需要dep),然后可以暴力枚举每个点 i,然后求当前点与 i 的距离,维护最大值。间复杂度 O(mnlog⁡2n)O(mn\log_2n)O(mnlog2​n) 会直接40分TLE我们设原来的直径的两端为 s 和 t,当前点为 n,思考发现,答案只会存在三种情况还是原来的s—>t.n—>tn—>s不用再枚举当前点与每个点之间距离,只用求当前点与上一次的起点,终点的距离取max就好代码#include<ios...

2021-07-20 16:23:31 120

原创 (纪中)6683. 我图呢【网络流Dinic】

解题思路比赛的时候根本没看懂,后来知道是一个最小割最大流问题。先把所有相斥的点分成两个集合A1,A2,形成二分图,然后将它们黑白染色。S连所有 A_1 的点,T连所有 A_2 的点,边权为inf+该点点权,所有原图边设成A_1 -> A_2 的形式,并连边,边权INF跑完最大流之后的残量网络求答案代码#include<iostream>#include<cmath>#include<cstring>#include<cstdio...

2021-07-20 16:13:24 72

原创 【洛谷 P3376】网络最大流【模板】【网络流Dinic】

解题思路学习网络流花了好久,看了无数博客,并总结,然后我真的真的懒得打一遍算法解析了,想学习网络流的按下放顺序自行浏览啦!!概念+EK算法 ——> Dinic(篇一)——>最大流—最小割定理最后推一篇超级长的》》网络流总结(没耐心看完了,但写的超好,有很多应用)代码#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<...

2021-07-20 11:28:53 117

原创 (纪中)7199. 玉米田【状压DP】

解题思路原题链接》》玉米田弱化版哦,还有》》弱化版解题报告注意到“弱化版”三个大字了吗,对的,gmoj就是这么狗,原本看到题还高兴了好久,“做过??”——“不可能的”好吧,回到这个加强版。我们设f[i][j][k]f[i][j][k]f[i][j][k]表示填到第i行j列的时候,已经填过的部分的轮廓的状态是kkk,“轮廓是什么??”,图解如下》》然后就常规操作,正常的判断和转移,代码中有详细注释。非常非常狗的是,就这样还是过不了很**的最后两个点,要加一个超长火车头和优化取模运算。P...

2021-07-20 09:31:23 88

原创 (纪中)3488. 矩阵

解题思路不是正解,我太偷懒了,正解线段树,170++的代码,就打了个n^3水法。。预处理一下与每条垂直线段相交的平行线有哪些,枚举两条垂直线段,求出与他们都相交的水平线段个数 s然后 ans=s(s−1)2ans=\frac{s(s-1)}{2}ans=2s(s−1)​代码#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algo..

2021-07-19 22:04:43 74

原创 (洛谷 P4284) 概率充电器【期望DP】【树形DP】

解题思路我们可以把总的期望个数变成每个点对答案的贡献.如果某个点被点亮它的贡献就是1,否则是0,所以我们只需要求出每个点被点亮的概率即可。设f[x]f[x]f[x]表示x这个点不连通的概率则先考虑x的儿子对它的贡献,那么f[x]=(1−q[x])∗∏(1−w+f[y]∗w)f[x]=(1−q[x])∗∏(1−w+f[y]∗w)f[x]=(1−q[x])∗∏(1−w+f[y]∗w),其中y为x的儿子,w为边连通的概率。现在考虑y的父亲x对y的贡献,我们设res为x除去y这个点连通的概率,那么re...

2021-07-19 21:32:02 103

原创 (纪中)7183. 屠龙勇士【扩欧】【同余】

解题思路首先知道每次打龙用的武器是一定的,但是直接每替换+排序肯定超时,SO,看了看大佬的解法:(我不懂,我不会,我看到了什么)跳过这段吧,接着讲这题重点(忽略我的菜 )我们找到了每次打的武器的攻击力 eie_iei​ ,依题意得:xei≡ai(modpi)xe_i≡a_i (mod p_i)xei​≡ai​(modpi​)我们要找到最小的 xxx 。啊,这很 EXCRT。但你发现它 x 系数不是 1 ,因为你就是要求那个系数,笑死 。(再扩展一下)假设你求出了前面 i − 1 条同余...

2021-07-19 20:11:43 88 2

原创 【洛谷 P1495 】曹冲养猪【中国剩余定理(CRT)】【模板】

解题思路可以先参考看看》》中国剩余定理(CRT )(跳过前面的铺垫直接看解法)其实思路就是上面那个文章中的思路。首先,依题意得:x≡bi(modai)x≡b_i(mod a_i)x≡bi​(modai​)而这样的方程有很多,自然变成一个同余方差组。我们先举个解方程的例子,再带回题目中看:再将问题进行分解,看 x1x_1x1​ 如何求:我们可以先求出 同余方程xx1≡1(3),xx1≡0(5),xx1≡0(7)xx_1\equiv 1(3),xx_1\equiv 0( 5),xx_1\equ..

2021-07-19 19:53:55 159

原创 (纪中)7184.有趣的家庭菜园 4【差分】

解题思路因为 A 数组前半段严格递增,后半段严格递减,且只有加法一种操作,所以我们可以使用差分思想。记 B 为 A 的差分数组,我们接下来就用 B 进行一系列操作。这道题我们需要枚举界点,因此我们要定义:fff 数组,fif_ifi​表示从 111 ~ iii 严格递增所需的步数;ggg 数组,gig_igi​表示从i+1 ni+1 ~ ni+1 n 严格递减所需的步数。那么可知: ans←min⁡1≤i≤n{max⁡(fi,gi+1)}ans \gets \min\li...

2021-07-19 19:23:34 129

原创 (纪中)1349. Gcd会不会【欧拉线性φ筛函数】【数论】

解题思路真的理解了好久啊啊啊。首先我们设f(n)=gcd(1,n)+gcd(2,n)+gcd(3,n)+……gcd(n−1,n)f(n)=gcd(1,n)+gcd(2,n)+gcd(3,n)+……gcd(n-1,n)f(n)=gcd(1,n)+gcd(2,n)+gcd(3,n)+……gcd(n−1,n)。则,我们要求的答案是f(1)+f(2)+f(3)+……+f(n)f(1)+f(2)+f(3)+……+f(n)f(1)+f(2)+f(3)+……+f(n)所以我们要怎么求每一个f(n)f(n)f...

2021-07-19 17:14:28 79 1

原创 (纪中)1340. 周长【状压DP】

解题思路看到N<=15N<=15N<=15,想到状压DP,设f[i][j]f[i][j]f[i][j]表示状态为i,ii,ii,i为0/10/10/1二进制数表示哪一位 没用过/用过 的状态,jjj表示现在最右的农田为第j个农田,得:枚举上一个状态iii,上一个状态最右的农田jjj,当前状态最右的农田kkk。这都这些可以推出当前状态含kkk也含jjj,t=i∣(1<<(k−1))t=i|(1<<(k-1))t=i∣(1<<(k−1))当a[...

2021-07-17 19:52:45 92

原创 (纪中)5102. 连词成句【DP】

解题思路巨老说这题可以倒着DP:设f[i][j]f[i][j]f[i][j]表示aaa串i ni~ni n都匹配完成,bbb串用到了j nj~nj n(有些可能不动,有些可能抽了出来)我们考虑怎么转移:f[j][k]=f[j+1][k+1]f[j][k]=f[j+1][k+1]f[j][k]=f[j+1][k+1],那么就是说当前的这个位置a[i]=b[j]a[i]=b[j]a[i]=b[j],可以不用动上面的是不用抽出来的情况(不用贡献+1+1...

2021-07-17 15:05:23 93 2

原创 (纪中)5101. 凡喵识图【暴力??】

解题思路比赛的时候根本没看懂题目,我笑了,笑死了。。。题目大题:输入一个数,把它转换为2^64后,两个数只有在二进制下仅有三位不同就可以互相匹配,现在n次给数,要求每次给数后输出当前数列中的与最新的数的匹配数。我们可以把这个数分为四份,每份一个16位的二进制数,则,如果两个数要相互匹配(即恰好只有 3 位不同)就要满足其中一份完全一样。我们每次新加入一个数就找出前面跟这个数的某一段完全一样的数。可以用邻接表把这样所有有一段一样的数接在一起。然后你就只跟这些数匹配,是的,暴力匹配。代码#i...

2021-07-16 20:36:27 84

原创 方差公式【数论】

对于今天打的一道题,非常有感想,然后花了很久很久打了这个函数超多的方差公式。。。哎,来吧来吧推导首先我们知道方差的公式是:K=(∑i=1m(xi−p)2)/mK=(\sum^{m}_{i=1}(x_{i}-p)^2)/mK=(∑i=1m​(xi​−p)2)/m把 (xi−p)2(x_{i}-p)^2(xi​−p)2 拆开,可以得到K=(∑i=1m(xi2−xi∗p−xi∗p+p2))/mK=(\sum^{m}_{i=1}(x_{i}^2-x_{i}*p-x_{i}*p+p^2))/mK=(∑

2021-07-16 17:32:11 2664

原创 (纪中)3528. 图书馆【DP】【数学】【方差】

解题思路首先我们知道方差的公式是:K=(∑i=1m(xi−p)2)/mK=(\sum^{m}_{i=1}(x_{i}-p)^2)/mK=(∑i=1m​(xi​−p)2)/m把 (xi−p)2(x_{i}-p)^2(xi​−p)2 拆开,可以得到K=(∑i=1m(xi2−xi∗p−xi∗p+p2))/mK=(\sum^{m}_{i=1}(x_{i}^2-x_{i}*p-x_{i}*p+p^2))/mK=(∑i=1m​(xi2​−xi​∗p−xi​∗p+p2))/m也就是K=(∑i=1m(xi...

2021-07-16 17:31:02 131 1

原创 (纪中)3552. 下棋【结论题】

解题思路又是一道结论题。。我们先考虑一个棋盘的情况:(下文中的你是lyp)我们发现其实输赢只跟棋盘最左上角的点的颜色有关。假设左上角的点的颜色是黑色,你是先手,你只要一直点最左上角的点,每次把它点成白色后,另一个人无法点最左上角的点,且无论点哪个其他的黑点都会把最左上角的点变回黑色。这样你永远可以点,而且你最后会把整盘其变成白色,对方就输了。如果你是后手,一开始最左上角的点是白色你就赢了,因为先手一开始点不了最左上角的点,他只能点其他点,导致最左上角的点变成了黑色,你就又战灵了最左上角的点。...

2021-07-16 16:45:45 50 1

原创 【洛谷 P3389】 高斯消元法【模板】【数论】

解题思路所以第i个未知数(在第i列)最后只能在第i行有系数,其他行第i列的系数都被消成了0。在这里要注意一下,我们往往是将第i个未知数系数绝对值最大的方程移到第i行,这样就可以减小误差。(证明不会啊哈哈哈)所以我们先将矩阵变成这样:接着在处理第iii个未知数时,我们以第i个式子作为主元,用主元式去消其他式子第i列的系数并更新i+1i+1i+1~ n+1n+1n+1列其他未知数的系数。(111~ i−1i-1i−1的已经被消成000了,第n+1n+1n+1列的是每个等式右边的答案)那怎么...

2021-07-16 11:11:04 144

原创 (纪中)3539. Reflect Damage【高斯消元】【数论】

解题思路题意:每对折射关系,可以无限次折射给其他人,只要当前这个人受到伤害。设a[i]表示i受到的初始伤害,f[i]表示i受到的总伤害(初始伤害+被别人折射过来的伤害,不减去自己折射出去的),p[i]表示i折射出去的比例和。则显然,i最终受到的伤害为f[i]*(1-p[i]):p[i]p[i]p[i]可以在读入的时候直接处理出来,所以现在要求的是f[i]f[i]f[i]。我们设c[i][j]c[i][j]c[i][j]表示iii对jjj的伤害率,则:f[i]=a[i]+f[i]=a[i]+f...

2021-07-16 10:45:31 102

原创 (纪中)1930. Colorful Circle【期望DP】

解题思路设dp[i][1/0]dp[i][1/0]dp[i][1/0]表示到i位置,当前位置与首尾是否相同,相同为111,不同为000。p[i]p[i]p[i]表示i个宝石颜色相同的概率。枚举当前点i与i之前第一个与它异色的点j,则j+1~i的颜色都相同转移方程为:dp[i][0]+=dp[j][0]∗p[i−j]∗(i−j)∗(M−2.0)+dp[j][1]∗p[i−j]∗(i−j)∗(M−1.0);dp[i][0]+=dp[j][0]*p[i-j]*(i-j)*(M-2.0)+dp[j...

2021-07-16 10:14:33 83

原创 (纪中)3448. 公路维护 【线段树】

解题思路150++的代码量,啊啊啊啊啊,死吧死吧,调了两个小时啊啊,感谢zzl巨爷,不愧是“人间找bug机”。其实题目和算法都很好理解和发现,就是线段树,但是具体实现就很。。维护两个懒标记,加值和最大值(add,lazy),其余就是每种情况 的线段树操作了。操作 1 要先看区间是不是能走的,再减,减完看有没有 < = 0的 就把这段区间标为超大值代码#include<iostream>#include<cstring>#include<strin...

2021-07-15 10:57:39 104

原创 (纪中)3523. JIH的玩偶【倍增】

解题思路其实刚看完题还是能想到倍增的,但是因为没推出样例就没打。。啊这。。题目有两个很坑的点,“重要度大的客户必须在重要度小的客户后面”,意思是重要度大的客户的深度必须比重要度小的客户的深度小,所以我们求的重要程度相差最大的两个客户,大的要比小的的深度小。从X到根走k步中如果整段路上的点的重要度一直是递减的就是不合法的,输出0,若有任意一小段没有递减就是合法的。OK,成功跳坑。回到解题,我们设数组 f_{i,j} 表示第 i 个节点往上跳 2^j 次到达的父亲, minn_{i,j...

2021-07-14 10:16:27 92 1

原创 (纪中)3501. 消息传递)(news)【树形DP】

解题思路首先可以想到暴力每一个点作为根,求最小的传递时间。设f[i]表示某点以i号边连向的子树中所有节点都被传递到消息的最短时间。易得:考虑贪心,让fif_ifi​的孩子中消耗时间最大的先被传递,所以我们可以把fjf_jfj​从大到小排序,orderorderorder表示f_j在序列中排在第几位(因为要依次传给每个儿子),这样fj+orderjf_j+order_jfj​+orderj​就表示爸爸以jjj这条边连向的子树全部被传递所需时间,这样fif_ifi​为fjf_jfj​中最大值,也...

2021-07-13 22:15:56 78 1

原创 (纪中)3447. 摘取作物 (pick)【费用流】

解题思路新算法之:最小费用最大流问题又是一个我不会的算法啊啊啊啊啊 ,因为不知道如何讲解,且这篇博客十分详细,就不加描述了。看完算法之后,回来这道题,先考虑构图:对于每一行,用一个点表示,因为每行最多选两块地,所以从源点sss向这nnn个行点连一条容量为222,费用为000的边。对于每一列,同样用一个点表示,因为每列最多选两块地,所以从这mmm个列点向汇点ttt连一条容量为222,费用为000的边。最后,因为在同一行、同一列最多只有一块的,所以,从nnn个行点向mmm个列点连一条容量为11...

2021-07-13 21:46:52 72 1

原创 (纪中)3510. 最长公共子串 (lcs)

解题思路首先我们要发现一个性质:如果有[x1,y1],[x2,y2][x_1,y_1],[x_2,y_2][x1​,y1​],[x2​,y2​] 两个区间,而且 x2⩽y1x_2\leqslant y_1x2​⩽y1​ ,那它就相当于 [min⁡{x1,x2},max⁡{y1,y2}][\min\{x_1,x_2\},\max\{y_1,y_2\}][min{x1​,x2​},max{y1​,y2​}]这样的区间。(因为你操作可以无限次)先把这样的能合并区间全部合并为大区间,然后把每两个相邻的区...

2021-07-13 07:52:21 79 1

原创 [2021暑]纪中划水记~~(持续更新)

前言昨天下午到的纪中,感叹了学校真的大,而且绝美,逛了逛校园,在食堂吃了个饭,那时候没想到今后会没饭吃。Day1非常非常爆炸的一天。。T1:暴力,结果挂了??就很迷T2:暴力,20分。一开始差点没看懂题T3:哈哈,不会T4:暴力yyds,可惜打挂了。只有20分,我枯了,被同年级的爷吊打了。改完后:T1:哈希T2:DPT3;依旧不会T4:最小覆盖链...

2021-07-12 20:52:12 113

原创 (纪中)3510. Vani和Cl2捉迷藏(travel)【最小链覆盖】【匈牙利算法】

解题思路又是看得懂但不会做的一道题。。非常疑惑为什么总是会把暴力打挂。“这题的转换思路是这样的:首先我们要求这个DAG的最长反链长度。~~balalala” 虽然讲得很好但我听了个寂寞。。——————————————分割线—————————————反链的定义是:“反链(antichain)是一个偏序集S的子集,其中任意两个元素不可比较”。在这道题中具体来说就是:当两个点互不可见时,它们才能处于一条反链中。”根据Dilworth定理~~“,没听懂哈哈哈,所以,最后得出了得出了 最小链覆盖=最长...

2021-07-12 20:35:46 142 1

原创 【Ybtoj 第25章例1】序列的第k个数【矩阵快速幂】

解题思路代码#include<iostream>#include<cstring>#include<string>#include<cstdio>#include<algorithm>#include<iomanip>#include<cmath>using namespace std;const int Mod=200907;int T;long long a,b,c,k;long l...

2021-07-12 16:51:05 126

原创 (纪中)3510. 最短路径(path)【DP】

解题思路比赛的时候打了一个20分暴力。。。(我就是菜狗)正解:DP首先可以把题目转换一下,把从头到尾走一遍再从尾到头走一遍转换成从头到尾走两遍,所以,就是要求从头到尾的两条不相交路径的最小值。设lyx[i][j]表示一条路径走到i,一条路径走到j时的最小值,明显,i和j不能相等。然后设k为下一个走到的点,k=max(i,j)+1k=max(i,j)+1k=max(i,j)+1(这样是可以保证经过了每一个点的。转移方程:lyx[i][k]=min(lyx[i][k],lyx[i][j]+f...

2021-07-12 16:30:05 152

空空如也

空空如也

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

TA关注的人

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