自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AGC010 博弈场A,B,C,D,F题解

AGC A,B,C,D,F 题解文章目录AGC A,B,C,D,F 题解ABCDFALL CODEA水题。奇数的个数为奇数 , 答案为NO否则,答案为YESB我们可以用方程解出1开始的位置,最后检验一下就好了。O(N)O(N)O(N)C我们可以想成 叶子间两两连线,然后经过点vvv的线的个数为AiA_iAi​。可以定一个节点RRR为根,DegreeR>1Degree_R>1DegreeR​>1。可以归纳法证明,从每一个点向上连的线的个数是定值。只需要检验剩下的

2020-09-24 17:19:35 234

原创 AtCoder Grand Contest 012 A,B,(C),D题解

AtCoder Grand Contest 012 A,B,©,D题解文章目录AtCoder Grand Contest 012 A,B,(C),D题解ABCDA贪心,每次删除最大的一个和最小的一个。然后答案加上最大的,删除最大的。执行NNN次。时间复杂度O(N∗log⁡2(n))O(N*\log_2(n))O(N∗log2​(n))/*{####################### Author ## Gary ##

2020-09-24 00:02:07 128

原创 AtCoder Grand Contest 011(AGC011) A~C题解

AtCoder Grand Contest 011(AGC011) A~C题解文章目录AtCoder Grand Contest 011(AGC011) A~C题解ABCA贪心,每一个巴士都尽可能安排在前面。时间复杂度O(n∗log⁡2(n))O(n*\log_2(n))O(n∗log2​(n))/*{By GWj*/#pragma GCC optimize(2)#include<bits/stdc++.h>#define rb(a,b,c) for(int a=b;a&l

2020-09-22 22:28:37 89

原创 ACL Contest 1 题解(A-E)

ACL Contest 1 题解(A-E)文章目录ACL Contest 1 题解(A-E)ABCDEA问题可以转换一下:有一个排列p1...pnp_1...p_np1​...pn​,如果pi>pj,i>jp_i>p_j,i>jpi​>pj​,i>j则iii到jjj连一条边。如果pi<pj,i<jp_i<p_j,i<jpi​<pj​,i<j则iii到jjj连一条边。可以发现如果p1...pip_1...p_ip1​...p

2020-09-21 23:42:38 330

原创 gym 102391 J Parklife 题解

gym 102391 J Parklife 题解这题真的好坑。。。看到这题,相信大家都有一个想法:对于限制kkk选择的集合为SSS,限制k+1k+1k+1选择的集合为S′S\primeS′,满足S⊆S′S\subseteq S\primeS⊆S′。其实就是你不可能去除一些数,然后再加入一些数使得答案更大。因为如果这样的化,不如直接将这些数再kkk的限制的时候就加入。我们可以考虑一层一层的加入,显然这与子树有关。所以直接用一个堆维护子树信息,然后启发式合并就ok了。时间复杂度:O(n∗log⁡22(

2020-09-18 23:32:18 322

原创 gym 102059 C.Dstorv题解

gym 102059 C.Dstorv题解首先可以发现最终一定是一个分界点i,(i<n)i,(i<n)i,(i<n)满足下标≤i的中留下AAA个全部向左,其余的留下BBB个全部向右。特殊的iii是那AAA中的一个,i+1i+1i+1是那BBB中的一个。我们可以想到dpdpdp状态,fi,jf_{i,j}fi,j​表示考虑第iii位,右边有jjj个向左过来。转移:(ai=′H′)(a_i='H')(ai​=′H′),fi−1,j+1→fi,jf_{i-1,j+1}\rightarr

2020-09-18 22:58:40 185

原创 gym 101741 E Code-Cola Plants 题解

首先可以发现由于图是无环的,所以原问题⇔\Leftrightarrow⇔选2∗(n−1)2*(n-1)2∗(n−1)条边其中满足这个边集的诱导子图除了aaa的每一个点都有111的入度,每一个除了bbb的点有111的出度。然后就可以很轻松转换成网络流的题。时间复杂度O(n+m∗n)O(n+m*\sqrt n)O(n+m∗n​)会TLE。但是由于一个边只配两个点,所以可以构造基环数。时间复杂度O(n+m)O(n+m)O(n+m)Code:/*{By GWj*/#pragma GCC optimiz

2020-09-17 17:36:31 176

原创 Gym 102059 B Dev, Please Add This! 题解

首先可以根据题目信息建立有向图GGG,如果存在边u→vu\rightarrow vu→v则点uuu可以通过一步到达vvv。然后我们在根据边建立一个有向图G′G\primeG′ 其中边u→vu\rightarrow vu→v表示边走完uuu这条边可以立刻走vvv这条边。然后我们将G′G\primeG′跑一遍SCCSCCSCC。然后预处理出每一个SCCSCCSCC能取到的星星集合SSS,这个可以bitsetbitsetbitset搞。这样我们暴力跑一边,看能不能拿到所有星星是会TLETLETLE的。我这题

2020-09-16 22:05:34 525

原创 CF 613 D Kingdom and its Cities 题解

CF 613 D Kingdom and its Cities 题解所用知识虚树&贪心假设只有一个询问,我们可以如下贪心:每一个被占领的点的深度要尽可能小!这是为什么呢?感性理解一下就是一个占有的点可以分开更多的重要点,会往上传递更少的重要点。这样我们可以用dfsdfsdfs来实现。但是这样的时间复杂度是O(n∗q)O(n*q)O(n∗q)的显然不行。我们可以发现有用的点只有重要的点,和它们两两间的LCALCALCA。所以虚树搞一下就行了。/*{By GWj*/#pragma

2020-09-16 15:35:47 141

原创 CF 1418 G (四种做法)题解

Three Occurrences 题解文章目录Three Occurrences 题解Solution1 (Hash)Solution 2(Segment Tree)Solution 3(Sweep Line & Segment Tree)总结:Solution1 (Hash)By neal我们先考虑另一个问题:有一个长度为nnn的序列a,(1≤ai≤n)a,(1\leq a_i\leq n)a,(1≤ai​≤n),你要计算有多少对(l,r)(l,r)(l,r)满足al,al+1...

2020-09-15 22:48:26 281

原创 CF1418 E题解

2020-09-15 22:05:53 154

原创 CF 1406E Deleting Numbers 题解

比赛半天没做出来原来是看错题了????,原来操作B也是带询问的…首先我们可以算出在[1,105][1,10^5][1,105]范围内有959395939593个质数,可以发现非常接近10410^4104这个询问限制。如果我们从小到大将每一个质数都用操作BBB问过去,设有mmm个,就可以知道除了最小的质因数以外的所有质因数。那么怎么找到最小的质因数呢?我们可以分块。将质因数每m\sqrt mm​个分一块,总共m\sqrt mm​,我们每询问m\sqrt mm​个就问一次A 1A\ 1A&nb

2020-09-14 15:06:04 227

原创 CF1369 F BareLee (博弈,dp,递推)

CF1369 F BareLee这题是集结博弈,dp,递推为一身的好题!首先我们从第一轮考虑到最后一轮,设can0和can1can_0和can_1can0​和can1​表示前iii轮能否保证胜出或失败。我们再设一个函数check(s,e,turn,aim)check(s,e,turn,aim)check(s,e,turn,aim)表示现在游戏的参数为s,es,es,e,第一个走的是turn(0→first,1→second)turn(0\rightarrow first,1\rightarrow se

2020-09-14 14:50:54 146

原创 TopCoder Single Round Match 530 Round 1 - Division I, Level Two GogoXMarisaKirisima 题解

外面先去除掉不可能再路径上的点。可以发现最优解是一条1到n的简单路径,然后外面套一个“弧”,再套一个“弧”。。。其中每一个弧上的边都没有在之前出现过。最后答案就是套上的弧的个数+1。那么怎么才可以取出最多的弧呢?我们如果把有向图看成无向图,每形成一个弧,相当于多了一个“环”,这样的边=(m-(n-1))答案=(m-n+2)Code:/*{By GWj*/#pragma GCC optimize(2)#include<bits/stdc++.h>#define rb(a,b

2020-09-12 16:19:27 132

原创 Topcoder Single Round Match 511 Round 1 - Division I, Level Three GameOfLifeDivOne 题解

题目链接首先这题是一个dp。这种变化有一个非常显然的规律,如果有连续的两个颜色相同,那么往上这两个的颜色都不会变化。所以我们可以将连续≥2\geq 2≥2的相同的颜色的快看作一个断点。然后设dpi,col,ldp_{i,col,l}dpi,col,l​表示有一个断点在iii这个断点的颜色为colcolcol,黑格子的快熟为l的方案数。iii只是这个断点的右端点,我们需要枚举左端点j(j<ij<ij<i),和前一个断点的结尾kkk,然后转移时还要加上(k,j)(k,j)(k,j)的

2020-09-12 00:04:43 125

原创 TopCoder Single Round Match 513 Round 1 - Division I, Level Two PerfectMemory 题解 。

题目传送门这题一看就知道是期望的dp。我们只关心目前还有多少牌没翻过来,其中多少已经知道了。所以我们设dpi,jdp_{i,j}dpi,j​表示有i张牌未反过来,j张已经知道了。然后就分情况讨论,就行了。边界判断要小心!!/*{By GWj*/#pragma GCC optimize(2)#include<bits/stdc++.h>#define rb(a,b,c) for(int a=b;a<=c;++a)#define rl(a,b,c) for(int a=

2020-09-11 21:52:16 77

原创 CF1402C Star Trek 题解

首先如果只有一棵树,那么Captain Ágnes能否胜利呢?我们可以dp:dpidp_{i}dpi​表示以iii为根的子树是否是必胜。KaTeX parse error: Undefined control sequence: \or at position 6: dp_i=\̲o̲r̲ ̲_{j\in son(i)} …我们假设后面DDD个平行宇宙已经连接好了,那么考虑第000个和第111个怎么连接?如果Pi0↔Pj1,(dpi=1)P_i^0\leftrightarrow P_{j}^1,

2020-09-10 16:58:36 166

原创 CF1407E Egor in the Republic of Dagestan 题解

这是一题dp题。首先要先去除自环,因为要走最短路,这个肯定没有意义。设dpi,coldp_{i,col}dpi,col​表示第iii个点涂上colcolcol这个颜色走到终点最短路最长是多少。转移也非常好想:dpi,col=min⁡{max⁡(dpj,0,dpj,1)+1},(∃ edge{i,j,col}∈E)dp_{i,col}=\min \{\max(dp_{j,0},dp_{j,1})+1\},(\exists\ edge\{i,j,col\}\in \mathbb{E} )dpi,

2020-09-10 13:23:17 167

原创 csacademy round-16 Tree Node Distances 题解。

首先如果我们可以让A,B在尽量少的时间内相遇,我们就可以用D∗2D*2D∗2次算出答案:假设AAA需要Dis1Dis_1Dis1​次到达相遇点,B需要Dis2Dis_2Dis2​次,则我们可以让深的走∣Dis1−Dis2∣|Dis_1-Dis_2|∣Dis1​−Dis2​∣次,然后两个一起走,边走边判断。那么怎么样让他们相遇呢?我们可以先让A走202^020步,B走212^121步,A走222^222…B走2i2^i2i…为什么这样会相遇呢?因为iii轮下来i≡0(mod  2)i≡0(\mod

2020-09-08 23:24:57 109

原创 AGC 009 C Division into Two 题解

题目传送门首先可以发现这是一个dp计数题。题目可以转化成有一个数组:b1,b2,b3,b4..bnb_1,b_2,b_3,b_4..b_nb1​,b2​,b3​,b4​..bn​满足bi>bi−1b_i>b_{i-1}bi​>bi−1​,你要给每一个数图上两种颜色:0/10/10/1,设cic_ici​表示第i个球的颜色。你要使得min⁡{∣bi−bj∣}≥A,(ci=cj=0)\min\{|b_i-b_j|\}\geq A,(c_i=c_j=0)min{∣bi​−bj​∣}≥A,

2020-09-08 23:01:18 173

原创 Codeforces Round #668 (Div. 1) 总结+全部题解。

目录标题赛况ABCDE赛况00:00:00 Participant has been assigned to the room 1200:04:08 A Accepted [main tests]00:25:40 B Wrong answer on pretest 2 [pretests]00:26:41 B Wrong answer on pretest 2 [pretests]00:46:24 B Accepted [main tests]01:20:05 C Ac

2020-09-07 16:51:55 295

原创 CF 285 E Positions in Permutations 题解

题目链接首先这题是要求求出恰好有k个的方案数。我们假设是f(k)f(k)f(k)。设z(s)z(s)z(s)表示钦定集合sss里的位置一定是特殊的的方案数。我们设g(k)=∑∣s∣=kz(s)g(k)=\sum_{{|s|=k}}z(s)g(k)=∑∣s∣=k​z(s)。可以发现g(k)=∑k′≥kf(k′)∗(k′k)g(k)=\sum_{k\prime \geq k} f(k\prime)*\binom{k\prime}{k}g(k)=∑k′≥k​f(k′)∗(kk′​)。根据二项式反演,可

2020-09-07 11:49:01 102

原创 CF243 D Cubes 题解

题目链接首先因为Vx,VyV_x,V_yVx​,Vy​可以<0<0<0 ,所以要分情况讨论:2→42\rightarrow42→4象限4→24\rightarrow24→2象限1→31\rightarrow31→3象限3→13\rightarrow13→1象限对于每一种情况它的遮挡情况是不一样的。如在情况1中,(X1,Y1)(X_1,Y_1)(X1​,Y1​)遮挡了(X2,Y2)(X_2,Y_2)(X2​,Y2​)当且仅当X1≤X2,Y1≥Y2X_1\leq X_2, Y_

2020-09-07 11:21:10 107

原创 Csacademy Round-18 Minimize Ancestor Cost 题解

几何题。由于vvv是uuu的祖先所以$ \Large{\frac{c_v-c_u}{d(u, v)}}可以转化成可以转化成可以转化成\Large{\frac{c_v-c_u}{depth_u-depth_v}}$ 。敏感的人一看就可以发现类似于直线斜率的求法:ΔYΔX\Large{\frac{\Delta Y}{\Delta X}}ΔXΔY​,所以可以把depthudepth_udepthu​看作xxx,cuc_ucu​看作yyy。这样对于每一个点uuu,他的答案=从Father(u)Father(u

2020-09-06 18:35:57 73

原创 Gcd on a Circle 题解

首先可以发现,如果不是一个环而是一条链的化,可以dp,dpidp_idpi​表示考虑前i个断开的方案树。转移$dp_i=\sum_{j<i,\gcd(a_j,a_{j+1}…a_i)\neq 1} dp_j $ ,通过two pointers可以做到Θ(n)\Theta (n)Θ(n)的。但是原题是一个环,我们可以考虑破环成链。假设我们从iii号位置破开,那么如果断开的地方的集合为S,(i∈S)S,(i\in S)S,(i∈S) 显然这样断开的情况也会被从j,(j≠i,j∈S)j,(j\neq i,

2020-09-06 16:30:59 110

原创 Csacademy Round-15 Substring Restrictions 题解

Csacademy Round-15 Substring Restrictions 题解这题非常的巧妙!首先构图的部分应该不难想吧?就是对于每一个限制:(len,x,y)(len,x,y)(len,x,y)我们在一个nnn个点的图中连如下的边x+i↔y+i,(0≤i<len)x+i\leftrightarrow y+i,(0\leq i<len)x+i↔y+i,(0≤i<len),这样的化图中就会出现很多联通图,假设有CountCountCount个,答案=26count26^{co

2020-09-05 23:47:18 86

空空如也

空空如也

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

TA关注的人

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