自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

QuantAsk

但行好事,莫问前程

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

原创 P2151-[SDOI2009]HH去散步【矩阵乘法】

正题题目链接:https://www.luogu.com.cn/problem/P2151题目大意nnn个点mmm条边的一张无向图,走过一条边后下一次就不能再走这条,求AAA到BBB之间有多少长度为ttt的路径。解题思路因为有不能再走同一条的限制,所以不能直接裸上矩乘,换一个状态考虑。设fif_ifi​表示上次走到第iii条边的结尾处,那么这样就可以对于每条边特化转移了。时间复杂度O( (2m)3log⁡t )O(\ (2m)^3\log t\ )O( (2m)

2020-11-30 20:40:05 219

原创 P4161-[SCOI2009]游戏【dp】

正题题目链接:https://www.luogu.com.cn/problem/P4161题目大意一个1∼n1\sim n1∼n的排列,f(x)f(x)f(x)表示在置换xxx下置换多少次才能回到原来的排列,求在所有置换下f(x)f(x)f(x)的所有可能的值的数量。解题思路一个置换的fff值就是这个置换的所有循环大小的lcmlcmlcm,问题转换为将nnn分成若干个数的和,求这些数的lcmlcmlcm可能的数量。拆成的一个循环对于lcmlcmlcm的贡献我们也可以拆分质因数的形式,所以我们

2020-11-30 19:36:55 213

原创 P3247-[HNOI2016]最小公倍数【分块,并查集】

正题题目链接:https://www.luogu.com.cn/problem/P3247题目大意nnn个点mmm条边,每条边有(x,y,a,b)(x,y,a,b)(x,y,a,b)。qqq次询问(x′,y′,a′,b′)(x',y',a',b')(x′,y′,a′,b′)表示询问是否存在一条x′−>y′x'->y'x′−>y′的路径使得路径上amax=a′,bmax=b′a_{max}=a',b_{max}=b'amax​=a′,bmax​=b′解题思路考虑暴力的做法,我们

2020-11-30 18:37:32 283

原创 P1412-经营与开发【dp】

正题题目链接:https://www.luogu.com.cn/problem/P1412题目大意nnn个地点,有一个能力值为www的稿子如果地点iii是资源型的,那么可以选择获得ai∗wa_i*wai​∗w的价值,且w=w∗(1−k100)w=w*(1-\frac{k}{100})w=w∗(1−100k​)如果地点iii是维修型的,那么可以选择消耗bi∗wb_i*wbi​∗w的价值,且w=w∗(1+c100)w=w*(1+\frac{c}{100})w=w∗(1+100c​)解题思路

2020-11-30 15:18:28 197

原创 YbtOJ#20089-[NOIP2020模拟赛B组Day10]平衡的树【贪心】

正题题目链接:https://www.ybtoj.com.cn/contest/70/problem/3题目大意一棵树nnn个节点,每条边(x,y,a,b)(x,y,a,b)(x,y,a,b),可以花费111的代价让一条边的a,ba,ba,b都减去111,但是不能小于000,要求最少代价使得每条边满足yyy子树的边的aaa和不超过bbb。解题思路发现如果没有不能小于000的条件很好做,这样我们肯定优先减去最下面的aia_iai​即可,然后减去上面时bib_ibi​减少不会影响答案,因为都已经满

2020-11-30 14:58:16 206

原创 P3200-[HNOI2009]有趣的数列【卡特兰数】

正题题目链接:https://www.luogu.com.cn/problem/P3200题目大意求一个长度为2∗n2*n2∗n的排列要求奇数位和偶数位分别递增相邻的偶数位大于奇数位解题思路可以看做是一个2∗n2*n2∗n的序列按顺序填进奇数和偶数位,然后因为第二个要求所以奇数位在任何时候都得比偶数位的要多,就转换为了求第nnn个卡特兰数了。然后因为ppp不是质数所以要质因数分解来除数,时间复杂度O(nlog⁡n)O(n\log n)O(nlogn)codecodecode#i

2020-11-30 07:00:27 220

原创 P1446-[HNOI2008]Cards【Burnside引理,dp】

正题题目链接:https://www.luogu.com.cn/problem/P1446题目大意三个颜色的一些东西排在一起,给mmm种置换,求本质不同的染色方案数。解题思路BurnsideBurnsideBurnside引理:置换集合GGG时本质不同的序列方案等于∑x∈Gc(x)∣G∣\frac{\sum_{x\in G}c(x)}{|G|}∣G∣∑x∈G​c(x)​,c(x)c(x)c(x)表示置换xxx中的不动点个数。也就是每个循环中的颜色都相同,可以把每个循环视为一个物品,然后放入容

2020-11-29 20:46:58 344

原创 P6088-[JSOI2015]字符串树【可持久化Trie,LCA】

正题题面链接:https://www.luogu.com.cn/problem/P6088题目大意nnn个点的一棵树,每条边上有一个字符串,求一条路径上有多少以询问字符串为前缀的字符串。解题思路建立一个可持久化TrieTrieTrie,然后每个点继承父亲插入字符串。然后询问答案就是sumx+sumy−sumLCA(x,y)sum_x+sum_y-sum_{LCA(x,y)}sumx​+sumy​−sumLCA(x,y)​时间复杂度O(nlog⁡n)O(n\log n)O(nlogn)c

2020-11-28 07:53:37 211

原创 P6030-[SDOI2012]走迷宫【高斯消元,tarjan,期望dp】

正题题面链接:https://www.luogu.com.cn/problem/P6030题目大意nnn个点的一张有向图,求起点到终点的期望步数。保证每个强连通分量大小不超过100100100。解题思路显然如果是强连通分量那么显然需要用高斯消元。先把强连通用tarjantarjantarjan缩起来,如果有任何不是ttt的节点没有出度那么答案都为INFINFINF,然后剩下的每个用高斯消元做一次即可。codecodecode#include<cstdio>#include

2020-11-27 21:14:32 190

原创 P4254-[JSOI2008]Blue Mary开公司【李超树】

正题题目链接:https://www.luogu.com.cn/problem/P4254题目大意要求支持操作插入一条直线。询问一个纵坐标最高的在直线上的点。解题思路李超树的模板题,大概就是标记永久化,对于一个位置midmidmid,我们看一下它与标记点在midmidmid处的关系再决定它的走向。codecodecode#include<cstdio>#include<cstring>#include<algorithm>#define

2020-11-27 18:46:54 186

原创 [2020.11.27NOIP模拟赛]中位数之中位数【二分,树状数组】

正题题目链接:https://www.luogu.com.cn/problem/U142585?contestId=37855题目大意nnn个数,求所有区间中位数的中位数。解题思路二分一个答案,然后如果一个区间的中位数≥mid\geq mid≥mid,那么这个区间一定是≥mid\geq mid≥mid的数比<mid<mid<mid的数要多。那么把一个≥mid\geq mid≥mid的数定为111,否则定为−1-1−1,然后问题就变成了要求多少个和大于等于000的数了。直接上树

2020-11-27 16:40:24 272

原创 [2020.11.27NOIP模拟赛]拼图王【dp】

正题题面链接:https://www.luogu.com.cn/problem/U142584题目大意nnn个010101串,按顺序分成两个序列,然后拼接成一个序列(拼接串x,yx,yx,y的话就是变成一个前缀包含xxx,后缀包含yyy的最短的串)。求最短长度。解题思路显然将010101串的状态压起来定义prex,ipre_{x,i}prex,i​表示串xxx的前iii位,sufx,isuf_{x,i}sufx,i​表示串xxx的后iii位,comx,ycom_{x,y}comx,y​表示串

2020-11-27 16:36:55 199

原创 CF932F-Escape Through Leaf【树上启发式合并,CDQ分治,斜率优化dp】

正题题面链接:https://www.luogu.com.cn/problem/CF932F题目大意nnn个点的一棵树,从xxx跳到yyy(要求yyy在xxx的子树中)会产生Ax∗ByA_x*B_yAx​∗By​的代价,求每个节点出发跳到某个叶节点的最小代价。解题思路考虑dpdpdp的话,那么有fx=fy+Ax∗Byf_x=f_y+A_x*B_yfx​=fy​+Ax​∗By​,这个式子可以考虑斜率优化,若y1y_1y1​比y2y_2y2​优,那么有fy1−fy2By1−By2≥Ax\frac{

2020-11-27 16:23:17 324

原创 P5546-[POI2000]公共串【SAM】

正题题面链接:https://www.luogu.com.cn/problem/P5546题目大意求nnn个串的最长公共子串。解题思路注意到最长公共子串一定是其中所有的子串,所以我们可以先随意对一个串构建SAMSAMSAM然后将信息存在上面即可。然后每一个其他串都丢到那个SAMSAMSAM上跑匹配,每次跑出来的取一个minminmin就好了,注意祖先也要附上值。codecodecode#include<cstdio>#include<cstring>#inc

2020-11-26 21:22:38 230

原创 P4055-[JSOI2009]游戏【网络流,博弈】

正题题目链接:https://www.luogu.com.cn/problem/P4055题目大意n∗mn*mn∗m的网格有的不能走,走过的不能走。开始有一个棋子先手可以决定位置,然后后先手轮流走,不能走的就输了,求先手的必胜开始位置。解题思路我们将图二分图染色,然后可以走的两两连边。如果这张图有完全匹配,那么可以发现无论先手走到哪个点,后手可以顺着完全匹配的边走,因为这个边一定是先手没有走过的。如果图没有完全匹配,考虑胜负情况。此时对于一个匹配来说,图上会有一些点删除后不会影响最大匹配,如

2020-11-26 20:09:30 191

原创 P4300-[AHOI2006]上学路线【网络流,最短路】

正题题目链接:https://www.luogu.com.cn/problem/P4300题目大意nnn个点mmm条边的无向图。求1∼n1\sim n1∼n的最短路和删除cic_ici​和最小的边使得最短路变长。解题思路显然我们需要跑一次最短路。之后考虑如何求第二问,我们发现我们要割掉最短路上的边,所以我们只要把最短路树(一张有最短路上的边构成的DAGDAGDAG)构出来然后在上面求最小割就好了。codecodecode#include<cstdio>#include&l

2020-11-26 17:30:50 148

原创 [2020.11.26NOIP模拟赛]勇者的后缀【SA,RMQ,主席树,二分】

正题题目链接:https://www.luogu.com.cn/problem/U142356?contestId=37784题目大意一个字符串,询问给出(x,l,r)(x,l,r)(x,l,r)表示询问在[l,r][l,r][l,r]中作为起点找一个后缀它与xxx作为起点的后缀的LCPLCPLCP最长,且满足最长的情况下字典序最小。解题思路显然是要再xxx后缀数组的位置上找到一个最前的在[l,r][l,r][l,r]中的数使得LCPLCPLCP最长。我们要先在SASASA上找到xxx在[l

2020-11-26 16:22:02 221

原创 [2020.11.26NOIP模拟赛]询问【字符串hash】

正题题目链接:https://www.luogu.com.cn/problem/U142342?contestId=37784题目大意一个字符串,定义两个字符串相似为用一些字母代替相同的字母后可以相同。如urbbr=groorurbbr=groorurbbr=groor,apple≠abcdeapple\neq abcdeapple​=abcde要求支持询问一个字符串的两个区间是否相似解题思路我们每个位置的hashhashhash值维护这个字母距离上一个与它相同的字母的距离,发现如果一个

2020-11-26 16:14:00 242

原创 P3346-[ZJOI2015]诸神眷顾的幻想乡【广义SAM】

正题题目链接:https://www.luogu.com.cn/problem/P3346题目大意一棵树,求树上所有路径构成的字符串有多少种。(叶子不超过303030个)解题思路如果是根节点到一些节点的路径的话很好做,直接建广义SAMSAMSAM即可,但是因为路径会拐弯所以我们考虑如何统计拐弯的路径。不难发现如果选择另一个叶子作为根那么就能让某些拐弯的路径变直,在每个叶子节点处都跑一遍建立广义SAMSAMSAM即可。时间复杂度O(30n)O(30n)O(30n)codecodecode

2020-11-26 07:35:37 197

原创 P6139-[模板]广义后缀自动机(广义 SAM)

正题题目链接:https://www.luogu.com.cn/problem/P6139题目大意求nnn个串的不同子串个数解题思路如何在SAMSAMSAM中插入多个字符串。可以我们可以通过更改lastlastlast为之前的节点来做,如果插入一个之前插入过的节点就按照之前SAMSAMSAM的方法特判就好了。codecodecode#include<cstdio>#include<cstring>#include<algorithm>#defi

2020-11-26 07:08:32 266

原创 P3181-[HAOI2016]找相同字符【SAM】

正题题目链接:https://www.luogu.com.cn/problem/P3181题目大意两个字符串,求有多少个(l1,r1,l2,r2)(l_1,r_1,l_2,r_2)(l1​,r1​,l2​,r2​)使得字符串l1∼r1l_1\sim r_1l1​∼r1​的子串与l2∼r2l_2\sim r_2l2​∼r2​的子串相等。解题思路又是公共子串的问题,我们先对第一个串构造出SAMSAMSAM,然后用第二个串在第一个串上跑。·对于每个前缀我们有一个当前节点xxx和一个最长匹配长度lll

2020-11-25 20:32:06 183

原创 P5341-[TJOI2019]甲苯先生和大中锋的字符串【SAM】

正题题目链接:https://www.luogu.com.cn/problem/P5341题目大意给出一个字符串,求出现次数恰好为kkk的子串中,出现最多的长度。解题思路先根据TTT构建一个SAMSAMSAM,对于一个endposendposendpos类中,所有出现串的长度一定是一个连续的区间。所以我们直接计算出每个endposendposendpos类的大小,如果是kkk,就差分让[lenfx+1,lenx][len_{f_x}+1,len_{x}][lenfx​​+1,lenx​]加1

2020-11-25 18:39:01 175

原创 [2020.11.25NOIP模拟赛]下棋【dp】

正题题目链接:https://www.luogu.com.cn/problem/U142297?contestId=37766题目大意nnn个白棋mmm个黑棋排成一排,要求没有任何一段黑白棋的个数差大于ttt。求方案数。解题思路设fi,j,k,lf_{i,j,k,l}fi,j,k,l​表示已经摆了iii个白棋jjj个黑棋,所有后缀中S白−S黑S_白-S_黑S白​−S黑​最大是kkk,S黑−S白S_黑-S_白S黑​−S白​最大是lll时的方案数。然后转移是保证k,lk,lk,l不能大于ttt,

2020-11-25 14:53:45 210

原创 jzoj5057-[GDSOI2017模拟4.13]炮塔【网络流,最大权闭合图】

正题题面链接:https://www.luogu.com.cn/problem/U142303?contestId=37766题目大意n∗mn*mn∗m的网格上有一些炮和敌军,每个炮可以攻击在它方向上一个敌军,但是要求炮弹的轨迹不能交叉。求最多打死多少敌军。解题思路我们先把炮分成两类,一类是横着打(定义为正类),一类是竖着打(定义为负类),那么肯定是两类不同的轨迹交叉。我们对于每个炮弹,它每走一格,可能能够多打一些敌方,我们可以把这个多大的定义为这个点的权值。显然对于每一类,格子都会有一个权

2020-11-25 14:48:58 220

原创 [2020.11.25NOIP模拟赛]出租车【dp】

正题题面链接:https://www.luogu.com.cn/problem/U142298?contestId=37766题目大意nnn个人有起点和终点,按顺序上车,但下车可以任意顺序,车最多同时只能载444个人。求车的最短路程。解题思路显然我们需要把上次上车的人,现在在车上的人下车位置,车的位置压入状态中。第二个比较麻烦,也比较大,我们可以预处理把一些没用的状态去掉,压缩一下,然后dpdpdp即可。codecodecode#include<cstdio>#includ

2020-11-25 14:28:15 211 2

原创 SAM学习小记

前言只是一个小记,不是算法详解参考资料史上最通俗的后缀自动机详解正题概念定义简单的,一个有向无环图,边有字母,满足起点开始的每一条路径都是原串的一个子串。并且保证复杂度在O(n)O(n)O(n)级别内的。endposendposendpos相关每一个子串ppp的endpos(p)endpos(p)endpos(p)被定义为原串中所有出现子串ppp的末尾位置集合。endposendposendpos相同的子串被定义为一个endposendposendpos类,可以证明任何一个串的e

2020-11-25 07:36:30 255 1

原创 P3168-[CQOI2015]任务查询系统【主席树】

正题题目链接:https://www.luogu.com.cn/problem/P3168题目大意nnn个任务(si,ei,ti)(s_i,e_i,t_i)(si​,ei​,ti​)表示从si∼eis_i\sim e_isi​∼ei​的任务优先级为tit_iti​。然后每次询问一个时刻前kkk小的优先级任务优先级和。解题思路开主席树,在sis_isi​处让tit_iti​加一,ei+1e_i+1ei​+1处让tit_iti​减一。然后直接查询,需要注意的是查询到最后一个时不能直接返回sum

2020-11-24 20:19:40 349

原创 YbtOJ#20082-[NOIP2020模拟赛B组Day8]导出子图【dp】

正题题面链接:https://www.ybtoj.com.cn/contest/62/problem/4题目大意nnn个区间,如果第xxx个区间和第yyy个区间有交集那么xxx到yyy直接就有一条边。求这张图上的所有导出子图中有多少棵树。解题思路条件可以转换为这些区间联通并且没有一个位置被333个区间同时覆盖。那么如果一个包含关系出现在这个图里,那么被包含的那个一定是作为叶子的。所以可以按照左端点排序后考虑dpdpdp,设fi,jf_{i,j}fi,j​表示到第iii个区间作为父节点时右端

2020-11-24 17:33:50 225

原创 YbtOJ#20081-[NOIP2020模拟赛B组Day8]树上排列【组合数,树形dp】

正题题面链接:https://www.ybtoj.com.cn/contest/62/problem/3题目大意nnn个点的一棵树,每个边的边会表示一个大小关系(如px>pyp_x>p_ypx​>py​或px<pyp_x<p_ypx​<py​)。求有多少个排列满足所有条件。解题思路考虑树形dpdpdp,设fi,jf_{i,j}fi,j​表示点iii的子树中有jjj个比他小的数字时的方案数。那么如果有条件py<pxp_y<p_xpy​<px

2020-11-24 17:23:16 176

原创 P2231-[HNOI2002]跳蚤【容斥】

正题题目链接:https://www.luogu.com.cn/problem/P2231题目大意求一个由[1,m][1,m][1,m]的整数组成的长度为nnn的序列使得他们的gcdgcdgcd和mmm互质。解题思路考虑容斥减去不合法的答案。那就是要求序列的gcdgcdgcd和mmm不互质的个数,那么我们依旧需要容斥计算这个问题,显然一个约数xxx的贡献就是(mx)n(\frac{m}{x})^n(xm​)n,设fif_ifi​表示第iii个约数的容斥系数为−∑dj∣difi-\sum_{d_

2020-11-24 15:47:54 269

原创 P6773-[NOI2020]命运【线段树合并,树形dp】

正题题目链接:https://www.luogu.com.cn/problem/P6773题目大意nnn个点的一棵树,边权可以是000或111。mmm个条件(x,y)(x,y)(x,y)表示要求x,yx,yx,y之间要有边权值为111(保证xxx是yyy的祖先),求方案数。解题思路考虑容斥,首先我们把没有用的条件去掉(就是被其他条件包含的),如果有kkk条路径上没有111那么容斥系数为∣−1∣k|-1|^k∣−1∣k。设fi,jf_{i,j}fi,j​表示点iii的子树中,要再往上到深度为j

2020-11-23 21:54:44 239

原创 P2839-[国家集训队]middle【主席树,二分】

正题题目链接:https://www.luogu.com.cn/problem/P2839题目大意nnn个数字,mmm次询问给出(a,b,c,d)(a,b,c,d)(a,b,c,d)表示左端点在[a,b][a,b][a,b]中,右端点在[c,d][c,d][c,d]的子区间中中位数最大的值。解题思路显然我们需要二分一下答案midmidmid,然后我们要选择一个满足条件的子区间使得区间≥mid\geq mid≥mid的个数减去<mid<mid<mid的个数最大。换一种主席树的

2020-11-23 19:14:12 134

原创 jzoj5701-[gdoi2018day2]谈笑风生【莫比乌斯反演,二分,最短路】

正题题目大意nnn个点,每个点有一个wiw_iwi​,mmm条边,对于一条边(x,y)(x,y)(x,y),边权为∑i=1wx∑j=1wy[gcd(i,j)==1](i+j)\sum_{i=1}^{w_x}\sum_{j=1}^{w_y}[gcd(i,j)==1](i+j)i=1∑wx​​j=1∑wy​​[gcd(i,j)==1](i+j)选择一个最小的PPP使得所有边权减去PPP(不能小于000)使得最短路长度不超过TTT解题思路一道缝合题,边权要莫反算f(x)=∑i=1n∑j=1m[gc

2020-11-23 07:42:26 190

原创 jzoj5702-[gdoi2018day2]滑稽子图【树形dp,二项式定理】

正题题目大意nnn个点的一棵树,定义f(S)f(S)f(S)表示点集SSS的生成子图中的边数量。求∑S∈Vf(S)k\sum_{S\in V}f(S)^kS∈V∑​f(S)k解题思路因为kkk很小,所以可以考虑一下二项式拆解,我们需要快速的计算出(a+b)k(a+b)^k(a+b)k,那么就需要求出ai,bi(i≤k)a^i,b^i(i\leq k)ai,bi(i≤k)。那么我们可以设f0/1,i,jf_{0/1,i,j}f0/1,i,j​表示点iii是否被选择时f(S)jf(S)^jf(S

2020-11-22 00:34:44 214

原创 P2485-[SDOI2011]计算器【BSGS,exgcd,快速幂】

正题题目链接:https://www.luogu.com.cn/problem/P2485题目大意给出a,b,pa,b,pa,b,p要求一下一种ab%pa^b\% pab%p的值ax≡b(mod  p)ax\equiv b(\mod p)ax≡b(modp)的最小非负整数解ax≡b(mod  p)a^x\equiv b(\mod p)ax≡b(modp)的最小非负整数解解题思路一道缝合题第一个直接套快速幂就好了,时间复杂度O(log⁡n)O(\log n)O(logn)。第二个是

2020-11-21 17:27:15 137

原创 AT1219-歴史の研究(历史研究)【回滚莫队】

正题题目链接:https://www.luogu.com.cn/problem/AT1219题目大意nnn个数字,mmm次询问一个区间内ti∗it_i*iti​∗i的最大值,tit_iti​即区间内iii的出现次数。解题思路用回滚莫队的思想,对于在不同块中的询问,我们把左端点所在块的右端点作为分界点,显然以后所有与左端点在同一个块中的询问的右端点会单调上升,我们用指针维护这个答案和信息。那在分界点左边的部分因为不会超过n\sqrt nn​个,所以我们直接暴力搞就好了。时间复杂度O(nn)O

2020-11-21 15:52:48 149

原创 P3620-[APIO/CTSC2007]数据备份【贪心,堆,链表】

正题题目链接:https://www.luogu.com.cn/problem/P3620题目大意一条线上有nnn个位置,选出kkk对使得它们的距离差之和最小。解题思路因为一定是连接相邻的最优,那么可以在差分数组上做,相当于我们在一个差分数组上选择一些不相邻的数使得它们和最小。考虑贪心,我们对于一个最小的位置xxx选择了之后,更优的情况可能是选择xxx相邻的两个然后不选择xxx。那么就可以删除这三个数然后加入一个dx−1+dx+1−dxd_{x-1}+d_{x+1}-d_xdx−1​+dx+

2020-11-21 10:09:14 222

原创 P1129-[ZJOI2007]矩阵游戏【最大匹配】

正题题目链接:https://www.luogu.com.cn/problem/P1129题目大意n∗mn*mn∗m的网格上有0/10/10/1,可以选择交换两行或两列,求能否让对角线上全是111。解题思路因为可以交换,所以是每一行都要和每一列配对。而第iii行能够和第jjj列配对的条件是(i,j)(i,j)(i,j)这个格子上有111,然后跑网络流最大匹配即可。codecodecode#include<cstdio>#include<cstring>#inc

2020-11-21 09:02:45 192

原创 jzoj5698-[gdoi2018day1]密码锁【贪心,差分】

正题题目大意nnn个数字,每次可以让一个区间加或减111。然后数字是一个[0,m−1][0,m-1][0,m−1]的循环,求最少次数让所有数字变成000解题思路我们做一个%m\%m%m意义下的差分数组之后问题就变成了选择两个位置一增一减使得所有的变成000。那么我们可以将整个差分数列划分为两部分,一部分往mmm走一部分往000走,我们从小到大排序后枚举分割位置即可。时间复杂度O(nlog⁡n)O(n\log n)O(nlogn)codecodecode#include<cstdi

2020-11-20 22:33:03 207

原创 jzoj5699-[GDOI2018day1]涛涛接苹果【树套树】

正题题目链接:https://gmoj.net/senior/#main/show/5699题目大意一棵树,每个节点有权值,每天所有权值会往它的父节点滑一位,然后有操作会在某一天的某个节点加权值。然后询问若干次某个时间一个位置的子树权值和。解题思路因为每次滑一位,所以我们直接把深度带到时间里,也就是带入t+depxt+dep_xt+depx​。这样就可以只看时间了,那么对于一个询问(t1,x1)(t_1,x_1)(t1​,x1​),会被修改(t2,x2,w)(t_2,x_2,w)(t2​,

2020-11-20 11:07:38 182

空空如也

空空如也

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

TA关注的人

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