自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ModestCoder_的博客

一个modest的coder

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

原创 模板整理

因为自己还得再写一遍,大部分模板得先鸽鸽鸽注:算法名称上搞了对应模板的传送门数论1、逆元2、线性筛3、miller_rabin素数判定4、exgcd#include <bits/stdc++.h>using namespace std;int x, y;void exgcd(int a, int b){ if (!b){ x = 1, y = 0; retu...

2019-07-21 16:50:23 278

原创 【题解】CF796E:Exam Cheating

原题传送门作弊要警告处分的说。。。显然是一道DP的题目设计状态:dp[i][j][k][l]dp[i][j][k][l]dp[i][j][k][l]表示第i道题目,用了j次偷看机会,两个人分别还剩k,lk,lk,l道题目可以偷看用刷表法转移,分类讨论不偷看只偷看左边:1、直接偷看;2、重新偷看只偷看右边:1、直接偷看;2、重新偷看两边一起偷看:1、都直接偷看;2、都重新偷看;3、...

2019-07-31 19:07:29 437

原创 【题解】CF999E:Reachability from the Capital

原题传送门这是道水题先缩点,然后把新图中入度为0的点个数统计出来,就是答案注意的是如果起点sss所在的强连通分量入度为0,不能统计入答案Code:#include <bits/stdc++.h>#define maxn 5010using namespace std;struct Edge{ int to, next;}edge[maxn << 1];...

2019-07-31 11:44:41 218

原创 【题解】CF1144D:Equalize Them All

原题传送门一些小性质每个数最多被被动一次所有数都被改成原数列中出现次数最多的数为最优解开桶弄出出现次数最多的数因为是相邻两个数操作是的题目变得简单很多正着做一遍,倒着做一遍就好了Code:#include <bits/stdc++.h>#define maxn 200010using namespace std;int a[maxn], cnt[maxn], ...

2019-07-30 18:13:15 198

原创 【题解】CF827D:Best Edge Weight

原题传送门首先kruskalkruskalkruskal跑出最小生成树对图中每条边进行讨论(设这条边连接的两个点为u,vu,vu,v)非树边,要使这条边成为树边,把这条边的权值最大改为u−&gt;vu-&gt;vu−>v路径上边权最大值-1即可树边,最大边权使得这条边依然是树边,最大能达到所有连接的点的路径经过这条边的非树边的边权最小值-1如何做?非树边和树边分...

2019-07-30 17:42:30 266

原创 【题解】CF545E:Paths and Trees

原题传送门题意神奇,反正我是理解了好长的时间差不多就是求一个生成树,使得任意点到源点的最短路等于原图中的最短路再让这个生成树边权和最小很显然得先dij一下考虑dij过程中松弛的条件,跟一般的dij不一样,为了满足本题的要求,还要生成树边权最小自然是两点间路程相等情况下,经过的边数越多越好(感性理解一下)最短路跑出之后如何得知建出来的生成树?简单,对于每个点开一个preprepre数...

2019-07-30 17:29:53 264

原创 【题解】CF1059E:Split the Tree

原题传送门首先易知,某个点的权值大于S时,是-1情况贪心策略,在树上跑时,某个点有一堆儿子,肯定是和向上扩展能扩展得最远的儿子结合成一条链如果知道了每个点向上扩展最多能扩展到哪里,那么问题是多么简单啊!只需要记录每个点属于的链的顶端,dfs的时候看看能不能挑出属于链顶端深度最小的儿子,可以就把自己归到那条链,否则自己新开一条链至于如何得到每个点向上扩展最多能扩展到哪里,这个可以用倍增预处...

2019-07-29 12:47:10 264

原创 【题解】LuoGu1131:[ZJOI2007]时态同步

原题传送门这道题目可以放到普及T4难度树型DP,记两个数组dp[u]dp[u]dp[u]表示处理完自己为根的子树所需代价len[u]len[u]len[u]表示处理好自己的儿子后的最大深度转移方程:dp[u]=∑dp[v]+∑(max(len[v]+w[u][v])−(len[v]+w[u][v])),(v=uson)dp[u]=\sum_{}^{}dp[v]+\sum_{}^{}(ma...

2019-07-28 17:17:32 169

原创 【题解】绍兴一中-7.27-T2

传送门首先能发现一个性质:如果一棵子树没有花,那么这棵子树不分叉根据这个可以发现,若一个点的所有子树都变成链,那么需要挂的花的个数是子树数-1有了这个可以树型DP,任选一个点为根,根是要挂花的,DP出所有点的答案但是如果根不同,答案也可能不同所以枚举所有点为根的情况,O(n)O(n)O(n)跑DP复杂度为O(n2)O(n^2)O(n2)不行,考虑优化换根操作这是一个非常妙的技巧任...

2019-07-28 12:29:54 234

原创 【题解】绍兴一中-7.26-T3

传送门模拟赛的T3没追求的我直接暴力BFS70分很明显的需要记录状态vis[u][hp]vis[u][hp]vis[u][hp],表示是否出现过到点u,体力为hp这种情况70分没毛病比较秒的小优化思想是记录之前到过每个点的体力最大值,这样BFS时如果体力大于目标点之前最大体力才入队,vis数组就不用搞了减少了好多冗余操作,这样一优化可以过90分最后一个点需要2.25s,暂且当它过了吧...

2019-07-26 15:42:25 282

原创 绍兴一中暑假集训总结

上接集训记,最后的两场模拟赛,我当做NOIp的D1D2打了,要认真起来了,所以另开一篇博记录一下模拟赛,以及做个总结挖坑~~~从2019.7.4~2019.7.27,这么长的时间,收获了许多,做一下总结...

2019-07-25 21:43:38 550

原创 【题解】CF570E:Pig and Palindromes

原题传送门DP鸽一会儿,晚上补Code:#include <bits/stdc++.h>#define maxn 510#define qy 1000000007#define LL long longusing namespace std;char mp[maxn][maxn];LL n, m, dp[2][maxn][maxn];int main(){ s...

2019-07-25 16:02:12 213

原创 【题解】BZOJ3257:树的难题

原题传送门这真是一道难题qwq看了%%%Claris的题解后懂了树形DP先设置状态,dp[u][i][j]dp[u][i][j]dp[u][i][j]表示以u为根的子树中黑点iii个,白点jjj个,的答案首先优化空间,i&gt;=1i&gt;=1i>=1的情况等价于i=1i=1i=1,反正都是不满足要求的j&gt;=2j&gt;=2j>=2的...

2019-07-25 12:22:42 268

原创 【题解】CF1109D:Sasha and Interesting Fact from Graph Theory

原题传送门黑题倒不至于,但是紫题至少了首先输入的a,ba,ba,b不用管,因为是求方案数然后开始愉快的推公式设从a−&gt;ba-&gt;ba−>b有xxx条边,那么不包括aaa,b,b,b,这条路上经过了(x−1)(x-1)(x−1)个点从(n−2)(n-2)(n−2)个点中取出(x−1)(x-1)(x−1)个点并且顺序一变,又是一种方案,因此用排列,方案数为P...

2019-07-25 10:19:46 379

原创 【题解】CF1027F:Session in BSU

原题传送门这题我用并查集过了看到范围1e9,所以先离散然后每次把点对应的两个时间用并查集连条边对于每个点的两个时间,分类讨论两个时间都没选,暂时选小的那个,并用并查集把两个时间连起来有一个选了,那么这次选剩下的那个,然后把这两个时间删掉(就是在并查集里把他们的祖先设置为0)都选过了(表现为两个时间的祖先都为0),那么直接输出-1得了为什么这题用并查集就搞定了呢,并查集的连边操作...

2019-07-25 09:55:24 224

原创 【题解】LuoGu4322:[JSOI2016]最佳团体

原题传送门应该是一种叫01分数规划01分数规划01分数规划的玩意二分答案对于每个midmidmid,要使PS&gt;=mid\frac{P}{S}&gt;=midSP​>=mid,就是P−S∗mid&gt;=0P-S*mid&gt;=0P−S∗mid>=0对于每一个物品iii,根据pi,si,mid可求出它的“权值”wi=pi−si∗midp_i...

2019-07-24 22:00:20 171

原创 【题解】LuoGu4411:[BJWC2010]取数游戏

原题传送门使用DP从hzwerhzwerhzwer看来的dp[i]dp[i]dp[i]表示到第i个数并且选了这个数的答案转移方程:dp[i]=max(dp[last[x]]),x∣a[i]且x&gt;=Ldp[i]=max(dp[last[x]]),x|a[i] 且x &gt;= Ldp[i]=max(dp[last[x]]),x∣a[i]且x>=Llast[x]=...

2019-07-24 15:59:52 204

原创 【题解】CF729F:Financiers Game

原题传送门题意:两个人分别从长度为n的数列的两端开始取数,如果前一个人取了k个数,后一个人必须取k或k+1个,第一个人最开始可以取1个或2个,不能操作时结束。两个人都希望自己取到的数字之和尽量大,并保持绝对理智,求最后他们取到的数字之和之差。n≤4000。Solution:使用DPdp[l][r][k][0/1]表示dp[l][r][k][0/1]表示dp[l][r][k][0/1]表示...

2019-07-24 15:29:21 338

原创 【题解】LuoGu2592:[ZJOI2008]生日聚会

原题传送门简单题dpi,j,k,ldp_{i,j,k,l}dpi,j,k,l​表示现在已经有iii个0,jjj个1,所有后缀中0最多比1多kkk个,1最多比0多lll个那么枚举i=[1,n],j=[1,m],k=[1,K],l=[1,K]i=[1,n],j=[1,m],k=[1,K],l=[1,K]i=[1,n],j=[1,m],k=[1,K],l=[1,K]那么对于一个dp[i][j][...

2019-07-24 13:52:47 144

原创 【题解】CF700B:Connecting Universities

原题传送门直接贪心就好啦对于某一条边,如果他的左边有xxx个大学,右边有yyy个大学那么他对答案的贡献是一定的:min(x,y)min(x,y)min(x,y)发现x,yx,yx,y还有一个等式:x+y=2kx+y=2kx+y=2k好了,我们只需要遍历一遍,并且求出一个点某一个方向的大学个数即可(另一个方向直接用2k去减)Code:#include <bits/stdc++.h...

2019-07-23 16:02:22 266

原创 【题解】LuoGu4281:[AHOI2008]紧急集合 / 聚会

原题传送门这题挺简单首先,任意三个点可以有一个通式,看下图假设我们现在询问1 2 3三点发现它们走到4这个点是最优的,而4又是1与2的lca找找4这个点有什么性质lca(1,2)=4,lca(1,3)=5,lca(2,3)=5lca(1,2)=4,lca(1,3)=5,lca(2,3)=5lca(1,2)=4,lca(1,3)=5,lca(2,3)=5发现三点任意两点的lca有两个...

2019-07-23 15:00:52 172

原创 【题解】BZOJ1776: [Usaco2010 Hol]cowpol 奶牛政坛

原题传送门题意: 给出一棵N个点的树,树上每个节点都有一种颜色。对于每种颜色,求该颜色距离最远的两个点之间的距离。N≤200000N≤200000N≤200000solution:根据直径的其中一种求法:两遍dfs从任意一点出发所能到达的最远的点一定在直径里面所以这道题可以随意定根(比如1)dfs找到每种颜色位置最深的点后,针对每种颜色暴力枚举其他这种颜色的点与这个最深的点求lca并...

2019-07-22 15:24:59 235

原创 CF453C:Little Pony and Summer Sun Celebration

原题传送门题意: 给出一张N个点M条边的无向图,有些点要求经过奇数次,有点要求经过偶数次,要求寻找一条满足要求的路径,且该路径长度不超过点数的四倍。N,M≤100000N, M≤100000N,M≤100000首先特判,若所有点都需经过偶数次,则答案为0否则任选一个需经过奇数次的点为根建树。很明显,叶子结点只访问一次,非叶节点只访问两次但是,如果非叶结点要求访问奇数次,上面的做法就会出现...

2019-07-22 14:28:39 168

原创 【题解】LuoGu5058:[ZJOI2004]嗅探器

原题传送门这道题数据范围太水了暴力:枚举答案,删掉点,看看两个中心是否联通如何判断连通性:BfsBfsBfs,复杂度O(n)O(n)O(n)并查集,复杂度O(m)O(m)O(m)反正数据水,我直接上并查集顺手连了个tarjan求割点因为答案只可能出现在割点中,稍稍小优化一下Code:#include <bits/stdc++.h>#define maxn 10...

2019-07-21 15:46:09 186

原创 【题解】LuoGu3225:[HNOI2012]矿场搭建

原题传送门读题花了我好一会时间,看来我的语文阅读能力不够这道题对于我这种小菜鸡还是有一点思维难度的因为有些点会坍塌,不妨理解为把某个点删掉,那么是不是就想到了一个图论里的玩意——割点先把割点求出,然后割掉,图变成了一堆联通块的集合对于每个联通块,因为块的内部并没有割点,对于块直接相连的其他割点个数分类讨论没有割点与块相连,必须随意选择两个点建立出口,块内部互相联通,如果只建一个出口,...

2019-07-21 14:36:37 159

原创 【题解】绍兴一中-7.20-T3

传送门怎么说呢,这道题目其实不是很难,按照luogu的评级,有紫题的难度适中的那种思维上其实一般,难的在细节处理,但是我考试时没有想出来正解,只是因为没有花时间在这上面,T3嘛,默认做不出来的,更何况T1是树状数组,谁会想到T3还是树状数组?70%按照R从大到小插入,每次看看找H比他大的中最小的那个H做他的“外套”,模仿最长不下降子序列求法时间复杂度O(Qnlogn)O(Qnlogn)O...

2019-07-21 10:37:23 170

原创 【题解】CF405D:Toy Sum

原题传送门这是模拟赛的T1,我没写出来,有点菜。。对于不存在S-Ai+1的Ai,直接找S-Ai+1放到答案里对于存在的,找另一组对应的放到答案里可以证明一定存在这么一组然后就没了Code:#include <bits/stdc++.h>#define maxn 2000010#define maxm 110using namespace std;int S, n,...

2019-07-19 15:46:54 200

原创 【题解】LuoGu2515:[HAOI2010]软件安装

原题传送门这题挺简单首先可以知道一个强连通分量要么全部选,要么全不选所以缩点缩好以后建新图,注意连边方向,从d[i]d[i]d[i]连到iii满足拓扑在DAG上跑DPdp[u][m]表示点u时,重量最多为m的最大价值dp[u][m]表示点u时,重量最多为m的最大价值dp[u][m]表示点u时,重量最多为m的最大价值转移显然Code:#include <bits/stdc+...

2019-07-19 07:50:57 185

原创 【题解】LuoGu3469:[POI2008]BLO-Blockade

原题传送门考虑到割点如果一个点不是割点,那么答案就是2(n−1)2(n-1)2(n−1)如果是割点,那么答案是2(n−1)+割掉后个联通块size之积2(n-1)+割掉后个联通块size之积2(n−1)+割掉后个联通块size之积问题是怎么求这个size之积考虑割点求法,与之类似tarjan割点同时求size也不需要知道每个点到底是不是割点如果一个儿子不能不通过自己到达比自己更浅的...

2019-07-18 15:21:27 157

原创 NOI2019同步赛 day2

今天的题目有些难T1一看是非常的可做32分直接O(n2)O(n^2)O(n2)连边跑dijkstradijkstradijkstra再来20分,使用二分查找对应点,然后连边,跑dijkstradijkstradijkstra再来20分,我就不会啦,应该是线段树优化建边,我没学过,所以我在线学习了一下,然后是疯狂调试,看起来是过了……满分的应该是想不出来的Code:#include ...

2019-07-18 14:11:46 394

原创 【题解】LuoGu2341:[HAOI2006]受欢迎的牛

原题传送门先用tarjan缩点形成一个DAG然后两种做法一种缩好点后统计每个点的入度,若入度为总数-1,就是受欢迎的牛,然后我就wa掉了,因为新边可能重复所以换个角度,如果某个新点出度为0,那么是受欢迎的牛,但是若出度为0的点有多个,答案就是0(yy一下)Code:#include <bits/stdc++.h>#define maxn 100010using name...

2019-07-18 14:04:05 170

原创 【题解】LuoGu2746:校园网Network of Schools

原题传送门又是可以用上强连通分量使用tarjan缩点,缩好的点建新图问1:就是求新图入度为0的点个数,没毛病吧问2:任一点都能到达其他点,说明是形成了一个环。环中任意一点入度出度不为0,那么我们只要求出入度为0的点个数与出度为0的点个数的更大的那个就行了(yy一下)有一个注意点就是,新图中只有一个点的情况要特判,答案是111 000Code:#include <bits/std...

2019-07-18 07:57:27 160

原创 CF865C:Gotta Go Fast

传送门这是一道期望dp+二分dp[i][j]dp[i][j]dp[i][j]表示到第i关,游戏计时器为j时完成游戏期望时间dp[i][j]=min(dp[1][0],p[i]∗(dp[i+1][j+a[i]]+a[i])+(1−p[i])∗(dp[i+1][j+b[i]]+b[i]))dp[i][j]=min(dp[1][0],p[i]*(dp[i+1][j+a[i]]+a[i])+(1-p...

2019-07-17 16:10:49 470

原创 【题解】SP5973:SELTEAM - Selecting Teams

传送门枚举选几人,再枚举队长ANS=∑i=1kCni∗i∗2i−1ANS=\sum_{i=1}^{k}C_{n}^{i}*i*2^{i-1}ANS=∑i=1k​Cni​∗i∗2i−1但是这个式子计算仍需O(Tn)O(Tn)O(Tn)发现模数有些特殊,8388608=2238388608=2^{23}8388608=223那么上面的式子当i>23时都是0Code:#include...

2019-07-17 14:36:07 151

原创 【学习笔记】exGCD

一、GCD辗转相除法gcd(a,b)=gcd(b,agcd(a,b)=gcd(b,agcd(a,b)=gcd(b,a modmodmod b)b)b)二、裴蜀定理裴蜀定理:方程ax+by=gcd(a,b)ax+by=gcd(a,b)ax+by=gcd(a,b)一定存在整数解三、exGCD作用:求形似ax+by=c的方程的整数解由裴蜀定理,gcd(a,b)∣cgcd(a,b) | c...

2019-07-17 13:56:44 180

原创 【题解】LuoGu2941:[USACO09FEB]环绕岛屿Surround the Islands

原题传送门直接缩点,缩好后也不用建新图了,数据小边权取最小值对于每个新点,往外做一次,综合ans最后ans*2,因为往返Code:#include <bits/stdc++.h>#define maxn 1010#define LL long longusing namespace std;struct Edge{ int to, next;}edge[maxn...

2019-07-16 22:29:26 236

原创 【学习笔记】Tarjan之割点

一、割点在无向图中,如果删去一个点后整张图不连通,那么这个点就是割点(割顶)。二、Tarjan求割点模板与求强连通分量类似对于一个点uuu是割点,满足下两个条件之一存在uuu的儿子sonusonusonu,使得low[sonu]&gt;=dfn[u]low[sonu]&gt;=dfn[u]low[sonu]>=dfn[u],即有儿子不通过自己走不到自己的祖先,那...

2019-07-16 16:05:00 300

原创 【学习笔记】Tarjan之缩点

一、有向图强联通分量在有向图中,如果同时存在从x到y和从y到x的有向路径,则称x和y强连通。如果一张有向图中任意点对都强连通,那么称这张图是一个强连通图。有向图的极大强连通子图为强连通分量。图中的每个点只会属于一个强联通分量二、Tarjan算法求强联通分量原理是求出图的任意生成树,利用返祖边找环。对一个点维护dfn[x]表示该点的dfs序,low[x]表示x不经过x的祖先...

2019-07-16 15:02:27 1275

原创 NOI2019同步赛 day1

T1回家路线==归程?题面又臭又长。。先瞅几眼数据范围,A=B=C的部分分是什么玩意?最早到达时间?A=B=0似乎可以Dp?后来想到一种时间复杂度玄学的DPdp[u][t]表示在时间t到达u的最小代价dp[u][t]表示在时间t到达u的最小代价dp[u][t]表示在时间t到达u的最小代价转移方程:dp[u][t]=dp[v][q[i]]+F(p[i]−t)dp[u][t]=dp[v...

2019-07-16 14:05:35 562

原创 【题解】LuoGu2573: [SCOI2012]滑雪

原题传送门时间胶囊是个好东西,这有一些奇怪的性质首先考虑建图,在输入的边的基础上,如果高度不同,高的往低的连一条单向边;如果高度相同,连一条双向边然后考虑求最多到达的点个数,由于我们拥有时间胶囊,所以直接从1开始bfs,遍历到的点都是可以走到的,感性理解一下最后考虑求最短距离,用kruskal即可,用到的边在bfs时加进去,排序有技巧,需要以一条边终点高度为第一关键字,边长为第二关键字排序...

2019-07-15 14:26:01 235

可莉 逃跑的太阳 动态桌面.apk

可莉 逃跑的太阳 动态桌面.apk

2022-09-25

空空如也

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

TA关注的人

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