题解
文章平均质量分 92
MingJunYi
我的 cnblog :https://www.cnblogs.com/WG-MingJunYi
bilibili 竞赛专用号:https://space.bilibili.com/3546617684691014
日常号:暂未填写
展开
-
P7450 [THUSCH2017] 巧克力 题解
明明想满足舟舟的愿望,但他又有点「抠」,想将美味尽可能多地留给自己。如果在选出的块数最少的前提下,美味值的中位数(我们定义。每一小块都有自己特别的图案 ,它们有的是海星,有的是贝壳,有的是海螺……正当明明咽了咽口水,准备享用美味时,舟舟神奇地出现了。舟舟希望这些被选出的巧克力是连通的(两块巧克力连通当且仅当他们有公共边),而且这些巧克力要包含至少。我们用斯坦纳树先求出最小的块数,如果最小的块数都无法满足要求,直接输出。行,每行包含两个整数,用空格隔开,即最少的块数和最小的美味值中位数。原创 2024-10-03 12:57:24 · 517 阅读 · 0 评论 -
【LGR-197-Div.2】洛谷 10 月月赛 I &「SFMOI」Round I 比赛 A ~ C 题解
打舒服了。原创 2024-10-03 12:28:25 · 629 阅读 · 0 评论 -
P6192 【模板】最小斯坦纳树 题解
中情况可以用状态压缩技巧:枚举子集解决!样例中给出的图如下图所示,红色点为。中情况,我们可以用最短路解决;个互不相同的正整数,表示。保证给出的无向图连通,但。条带权边的无向连通图。中所有边的权值和最小。的点之间有一条权值为。第一行:一个整数,表示。考虑状态压缩,我们设。原创 2024-10-03 12:27:27 · 446 阅读 · 0 评论 -
P10856 【MX-X2-T5】「Cfz Round 4」Xor-Forces 题解
我们从此发现问题的本质:全局 旋转tag 线段树的问题在于,异或操作是自顶向下的,而下面的操作不实行,答案就无法得出!当我们将每个位置的下标伴随着颜色插入到 01-trie 中,如同用线段树一样求间极长颜色段数。我们不难发现 01-trie 和 线段树 —— 本质是一样的,原因是下标范围恰为。然后继续向下继续异或操作,并且异或具有交换律,我们只有在询问的时候考虑异或操作。,但遗憾的是,如果我们每一次修改都都做一边上述操作,时间复杂度和暴力无异!我们对于每一个异或和版本的线段树上可持久化,每一个。原创 2024-10-01 23:32:35 · 824 阅读 · 0 评论 -
[NOIP2018 提高组] 旅行 题解
小 Y 的旅行方案是这样的:任意选定一个城市作为起点,然后从起点开始,每次可 以选择一条与当前城市相连的道路,走向一个没有去过的城市,或者沿着第一次访问该 城市时经过的道路后退到>上一个城市。需要注意的是,小 Y 要求在旅行方案中,每个城市都被访问到。不存在两条连接同一对城市的道路,也不存在一条连接一个城市和它本身的道路。并且, 从任意一个城市出发,通过这些道路都可以到达任意一个其他城市。为了让自己的旅行更有意义,小 Y 决定在每到达一个新的城市(包括起点)时,将 它的编号记录下来。原创 2024-09-28 13:22:49 · 600 阅读 · 0 评论 -
CF1100F Ivan and Burgers 题解
我们插入一个数,就建立一个新的版本,其的内容是复制上一个版本(这里是完全赋值,不是可持久化线段树的直接接上),然后我们考虑插入数,如果有数位可以填入,就填入;如果有的数位填入的时间太早,我们考虑用这个数替换,然后用。而这个位置不考虑插入时间时,可能有多个数字可以胜任,但是考虑插入时间后,其中能胜任的只有。因为我们记录每个数占领的时间,当我们询问。之前的没有数字可以胜任,这样构造的答案一定合法。我们需要记录每个数位被数占领的时间和数值,中选若干个数,异或和最大为多少。都无法胜任,那么 插入时间为。原创 2024-09-28 12:12:34 · 805 阅读 · 0 评论 -
P4570 [BJWC2011] 元素 题解
一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而使用了很多矿石,却在炼制过程中发现魔法矿石全部消失了,从而无法炼制出法杖,这个现象被称为“魔法抵消”。后来,随着人们认知水平的提高,这个现象得到了很好的解释。经过了大量的实验后,著名法师 Dmitri 发现:如果给现在发现的每一种矿石进行合理的编号(编号为正整数,称为该矿石的元素序号),那么,一个矿石组合会产生“魔法抵消”当且仅当存在一个非空子集,那些矿石的元素序号按位异或起来为零(如果你不清楚什么是异或,请参见下一页的名词解释 )。原创 2024-09-28 12:11:09 · 881 阅读 · 0 评论 -
CF986F Oppa Funcan Style Remastered 题解
个的话,因为分解出来很大,不适合跑最短路,可以用同余式直接求解)个以上,那么,我们相当于在求,对于 质因数。分解质因数,分类讨论(因为质因数如果只有。除外)之和,每个因数都可以被选多次。我们自然想到同余最短路,判断在。个的话可以直接判断;种,考虑离线一起求解。原创 2024-09-15 13:14:54 · 1117 阅读 · 0 评论 -
CF416E President‘s Path 题解
我们如果枚举每一条边,判断是否在最短路上,条边的简单无向图(无重边、自环),记。,分别为连接的两个点的编号,边的长度。类边是指这样一类边:存在一条从。的最短路,满足这条边在最短路上。根据最短路(一条链)的性质,对于。的数据范围,自然想到跑。枚举点是否在最短路上,原创 2024-09-15 12:56:29 · 664 阅读 · 0 评论 -
CF843D Dynamic Shortest Path 题解
如果有操作,那么我们就有可能走之前可能不优但现在变优的边,这时增量自动就往小的方向走了,答案显然正确。如果你像我一样唐,可以考虑用 SPFA 加 SLF、LLL 优化 代替 迪杰斯特拉,在带上一个超级快读。我们每次跑一遍最短路肯定行不通,那么只有一种方法,不用每次 迪杰斯特拉 和 Spfa。如果没有使用 STL 但还是没过的人,可以考虑将头文件拆开,只使用必要的头文件。然后就可以得到新图的最短路增量,将其叠加上原图即是答案。我们考虑给增量单独建图,先跑一个最短路,记录到。值,那么一条最短路的增量。原创 2024-09-14 20:03:58 · 1133 阅读 · 0 评论 -
Gym-101194G Pandaria 题解
的边所能到达的连通块中,出现次数最多的颜色中,编号最小的颜色是多少?然后就没有然后了,很水,但是确实比较板子。出发,只经过边权不超过。原创 2024-09-12 16:31:35 · 513 阅读 · 0 评论 -
CF888G Xor-MST 题解
个人认为,这个算法类似于分治,从子问题出发,直到求解出全局答案。当我们在判断 Trie 上某一位时,如果左右儿子都存在(即 下一位是。所以在此时,我们假定 左子树中所有数已经连成一颗树,右子树同理,将最初的数排序插入,这样左子树和右子树上的数的编号(下标)连续。的运行过程一样,现在我们要将左右两个集合以最小代价连接起来。重构树,这样说也不算错,如果有助于理解,也可以这样思考.小边(这些边的端点不重合),连接,并合并两个区间。因为每个点都要相连,而连接时有异或最小的限制,最初,每个点分别归属于一个集合,原创 2024-09-12 16:17:58 · 1142 阅读 · 0 评论 -
P4197 Peaks 题解
我们发现,因为 dfs 序的性质,一个节点的子树被访问完了之后,才会退出该节点,所以一个子树的叶子节点一定构成一个连续区间,建出 Kruskal 最小树重构树后倍增找到可达的最远的 lca ,条路径,每条路径有一个困难值,这个值越大表示越难>走。因为可持久化线段树维护的值可以离散化,果断离散化减少空间。然而叶子的编号不是连续的,我们很难用什么数据结构维护。对于每组询问,输出一个整数表示能到达的山峰中第。座山峰,每座山峰有他的高度。然后,对于子树中的叶子进行第。的路径所能到达的山峰中第。原创 2024-09-09 20:02:11 · 819 阅读 · 0 评论 -
CF1009F Dominant Indices 题解
简单的说,我们要找每个点子树内最厚的深度(哪个深度有最多的点,这里的深度指以该点为根的深度),如果有多个答案,选择最浅的深度作为答案。我们考虑对于每个点,将每个点的深度加入到该点的权值线段树上,然后将子树的线段树合并到该节点,最后全局查询最左的最大深度。的深度数组的主导索引(简称为顶点。对于树中的每个顶点,计算其主导索引。长链剖分模板题,但是用线段树合并。的深度数组定义为一个无限序列。的主导索引)是一个索引。个顶点的无向树,顶点。),表示树的顶点数量。),表示树中的一条边。没什么多说的,上代码。原创 2024-09-08 15:33:37 · 789 阅读 · 0 评论 -
CF609E Minimum spanning tree for each edge 题解
那么我们强制使用一条边,先看他是不是在最小生成树上?如果是,直接输出最小生成树权值。因为我们要让最小生成树权值最小,我们肯定断环上权值最大的边,考虑树剖。: 次小生成树只会从原最小生成树替换掉一条边,替换掉两条边肯定不优!我们都知道,只能在环上断边才能重新变成树,所以问题变成了环上断边。不难注意到,用 Kruskal 算法求最小生成树时,我们。当我们求出最小生成树后,再添加一条边,必然出现环,此时就是。条边,如果对于一个最小生成树中要求必须包括第。条边,那么最小生成树的权值总和最小是多少。原创 2024-09-08 15:29:42 · 810 阅读 · 0 评论 -
P3960 [NOIP2017 提高组] 列队 题解
后面来了一些点,这些点在初始化的时候大抵根本不存在这个列队中,但是这些点很快被我们赋予的权值给顶掉了,所以没有任何影响!注意:每一个同学的编号不会随着离队事件的发生而改变,在发生离队事件后 方阵中同学的编号可能是乱序的。按照事件输入的顺序,每一个事件输出一行一个整数,表示这个离队事件中离队学生的编号。为了便于管理,教官在训练开始时,按照从前到后,从左到右的顺序给方阵中 的学生从。因为没有初始化的节点说明没有修改过,所以里面的元素是可以推出的,想要计算每一次离队事件中,离队的同学 的编号是多少。原创 2024-08-31 16:19:33 · 1130 阅读 · 0 评论 -
NOIP模拟 #1题解(持续更新
这就很好想:我们从后往前一个个消灭,每一次。这道题成功在赛时唐出来了——(难绷。每次可以对队列最后的数字进行。如何构造使得队列中元素都变成。,后面的操作影响前面的数字。且会使前面的数字整体。原创 2024-08-31 12:44:11 · 445 阅读 · 0 评论 -
P8865 [NOIP2022] 种花 题解
非常优质的签到题。原创 2024-08-30 18:38:43 · 548 阅读 · 0 评论 -
P4050 [JSOI2007] 麻将 题解
模拟不要惯性思维暴搜!原创 2024-08-30 10:28:22 · 785 阅读 · 0 评论 -
P7075 [CSP-S2020] 儒略日 题解
我们现行的公历为格里高利历(Gregorian calendar),它是在公元 1582 年由教皇格里高利十三世在原有的儒略历(Julian calendar)的基础上修改得到的(注:儒略历与儒略日并无直接关系)。若利用这一天文学历法,则每一个时刻都将被均匀的映射到数轴上,从而得以很方便的计算它们的差值。现在,给定一个不含小数部分的儒略日,请你帮忙计算出该儒略日(一定是某一天的中午 12 点)所对应的公历日期。年的月份天数前缀和,闰年的月份天数前缀和,非闰年的月份天数前缀和,和它们每个月的天数。原创 2024-08-29 18:52:54 · 771 阅读 · 0 评论 -
P1850 [NOIP2016 提高组] 换教室 题解
现在牛牛想知道,申请哪几门课程可以使他因在教室间移动耗费的体力值的总和的期望值最小,请你帮他求出这个最小值。因为不同的课程可能会被安排在不同的教室进行,所以牛牛需要利用课间时间从一间教室赶到另一间教室。)节课结束后,牛牛就会从这节课的教室出发,选择一条耗费体力最少的路径前往下一节课的教室。)个时间段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排在教室。保证通过学校里的道路,从任何一间教室出发,都能到达其他所有的教室。,并且对于不同课程的申请,被通过的概率是互相独立的。原创 2024-08-27 19:56:37 · 785 阅读 · 0 评论 -
CF718C Sasha and Array 题解
那么我们在线段树上push_up时,可以对两个节点做。矩阵加速递推大家都会!不会左转luogu模板。每一个线段树上的点维护一个。放到线段树上就好了!后面正常操作就可以了。原创 2024-08-27 16:51:24 · 935 阅读 · 0 评论 -
【tyvj】“扫地“杯 Day1 题解
但是Z国也不是白痴,他们的资源补给基地与前线有着极高的防御力,所以W国只能去炸掉其余的N-2个基地,当然炸掉某个基地后,这个基地就不可达了。但是他们都很吝啬,于是决定只随机选出两个不同的国家(为了国家的平等,当然这两个国家是无顺序可言的),建造该建造的道路,使得这两个国家相互连通,自然费用越少越好。输出数据的第一行包含一个整数K,表示有K个基地可毁灭,且毁灭其中任意一个后,资源补给基地与前线的最短距离发生变化。接下来M行,每行包括三个正整数x,y,d,表示有一条边连接x、y两个地点,其距离为d。原创 2024-08-27 16:47:50 · 1005 阅读 · 0 评论 -
动态dp——P8820 [CSP-S 2022] 数据传输 题解
可怜的cnblog被(DDos + CC)攻击了(望周知!),只好先发在 CSDN。原创 2024-08-26 19:16:32 · 1381 阅读 · 0 评论 -
AtCoder Beginner Contest 367 A ~ F(无D题)题解
他醒着的时候可以喊出对章鱼烧的爱,但睡着的时候却不能。判断他是否每天都能喊出对章鱼烧的爱。如果下面的 1. 或 2. 成立,则序列。在 AtCoder 王国,居民们每天都要在。之间(包括首尾两个元素),以及一个长度为。按升序排列,打印所有满足以下条件的长度为。住在 AtCoder 王国的高桥每天。几天前就已经vp过了,但是忘写题解了。个查询,让你按顺序处理。罚了好几发,我打比赛一如既往的抽象。的父亲,其实这道题就是基环上求。点大声喊出他们对章鱼烧的热爱。小时,他的睡眠时间小于。考虑正确性高的做法,维护。原创 2024-08-24 13:25:29 · 991 阅读 · 0 评论 -
高维前缀和-CF165E Compatible Numbers题解
如果a&b=0,那么我们称a与b是相容的。给出一个序列aa ,你的任务是对于每个ai,找到在序列中与之相容的aj。如果找不到这样的数,输出-1。那么,对于一个数,我们只需要找到ta补集子集中可行的的一个答案就可以了。那样,每次直接搞定一个维度,将所有维度搞定之后,前缀和就做完了。做一次"高维前缀和"(非狭义中的和,指保存可能的答案之一)回到正题,高维前缀和和这个有什么关系呢?但是,维度一高,容斥的复杂度大的吓人!根据高维前缀和的搞法,可以得到。那么,我们可以像著名游戏。简单的说,普通的前缀和(原创 2024-08-23 19:35:07 · 1046 阅读 · 0 评论 -
P2495 [SDOI2011] 消耗战 题解
个岛屿上有丰富能源,为了防止敌军获取能源,我军的任务是炸毁一些桥梁,使得敌军不能到达任何能源丰富的岛屿。由于不同桥梁的材质和结构不同,所以炸毁不同的桥梁有不同的代价,我军希望在满足目标的同时使得总代价最小。机器产生的效果不仅仅会修复所有我军炸毁的桥梁,而且会重新随机资源分布(但可以保证的是,资源不会分布到。值得注意的是,最右链上的边并没有被加入虚树,这是因为在接下来的过程中随时会有某个。我们需要循环依次将最右链的末端剪下,将被剪下的边加入虚树,直到不再是情况四。中的边(这个边我们在上面的式子中已经求过了)原创 2024-08-23 17:03:58 · 791 阅读 · 0 评论 -
线段树优化建图——CF786B Legacy题解
Rick 并不知道 Morty 在哪儿,但是 Unity 将要通知他 Morty 的具体位置,并且他想要赶快找到通往所有星球的道路各一条并立刻出发。因此对于每一个星球(包括地球本身)他想要知道从地球到那个星球所需的最小钱数。Rick 和他的同事们做出了一种新的带放射性的婴儿食品(?众所周知,Rick 有一个传送枪,他用这把枪可以制造出一个从他所在的星球通往其他星球(也包括自己所在的星球)的单行道路。但是由于他还在用免费版,因此这把枪的使用是有限制的。分别表示星球的数目,可供购买的方案数目以及地球的标号。原创 2024-08-23 16:51:18 · 907 阅读 · 0 评论 -
P3224 [HNOI2012] 永无乡 题解
对于每个询问操作都要依次输出一行一个整数,表示所询问岛屿的编号。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。,每座岛都有自己的独一无二的重要度,按照重要度可以将这。先用并查集把连通块连起来,再将两个连通块的信息整合到一起。第一行是用空格隔开的两个整数,分别表示岛的个数。,使用并查集,将并查集中的根作为线段树的根。查询的时候对连通块的头作为根的线段树二分。小的岛是哪座,请你输出那个岛的编号。接下来一行有一个整数,表示操作个数。,表示操作类型,然后有两个整数。重要的是哪座岛,即所有与岛。原创 2024-08-23 16:46:49 · 1036 阅读 · 0 评论 -
P6185 [NOI Online #1 提高组] 序列 题解
小 D 可以以任意顺序执行操作,且每种操作都可进行无限次。现在给定序列与所有操作,请你帮她判断是否存在一种方案能将。而这种操作不会改变两边的奇偶性!若该图是二分图,两边同加同减,只要二分图两边总和相同即可。若该图不是二分图,必然有一边内部有一条。つまり,有一边或两边总和都可以进行。,她想通过若干次操作把它变成序列。NOIP2023考了。时,这种操作相当于没有操作。本题输入文件包含多组数据。,表示序列长度与操作种数。第一组数据:使用一次操作。第二组数据:使用三次操作。第三组数据:使用三次操作。原创 2024-08-23 16:45:41 · 1029 阅读 · 0 评论 -
CF1209E2 Rotate Columns (hard version) 题解
这些数(在操作完循环移位之后),使得到的值最大。然后对每一列进行循环移位,考察如何让该列的。(这里的解释可能有点唐,请读者自行画图理解)的矩阵,你可以对每一列进行若干次循环移位。因为每一行都至少要选一个,我们如果贪心的。求操作完成后每一行的最大值之和的最大值。虽然这个贪心是错的,但是肯定比。,经典的状态压缩范围,考虑状压。那么问题就很清晰了,我们是不是。列选中哪几行遍历,记录前。总之,我们发现有用的列只有。大的列排序到前面,做上述。个,即:列最大值为前。我们的各种操作都是对。,就可以将复杂度降到。原创 2024-08-23 16:44:19 · 1014 阅读 · 0 评论 -
CF613D Kingdom and its Cities 题解
国王定了若干选择重要城市的计划,他想知道,对于每个计划,外敌至少要占领多少个非重要城市,才会导致重要城市之间两两不连通。如果外敌无论如何都不可能导致这种局面,输出-1。这个国家有的时候会遭受外敌入侵,重要城市由于加强了防护,一定不会被占领。而非重要城市一旦被占领,这座城市就不能通行。一个王国有n座城市,城市之间由n-1条道路相连,形成一个树结构,国王决定将一些城市设为重要城市。首先,如果关键点靠在一起(父亲&儿子关系),那么无解。我们对关键点建一颗虚树,原创 2024-08-23 16:42:47 · 400 阅读 · 0 评论 -
P1129 [ZJOI2007] 矩阵游戏 题解
后面CSDN的做题记录就不再更新了(复制起来挺麻烦的)以题解的形式发到CSDN里,cnblog里照常更新。原创 2024-08-23 16:39:37 · 632 阅读 · 0 评论 -
[ARC071F] Infinite Sequence 题解
中的任意一个值,一旦两个位置确定,这个序列就已经确定了,可以直接加入答案。的结尾 时,我们要找哪个位置的 非。我们不难发现,当序列相邻两个值。的答案已经加入进答案中了),的前缀和就可以在 dp 中。序列中出现的值大体可以分为。最后注意一些关于初始化的细节。位也可以 视做有一个强制。这里提供一个不一样的解法。也就是说,从哪都可以转移!的结尾,即我们要考虑。那么,我们考虑序列第。那么关键就是转移多少?那么转移部分就结束了。那么本题就完美结束了!原创 2024-08-22 07:34:01 · 656 阅读 · 0 评论 -
P10394 接连不断!题解
的 hint对于任意一个图的某一个点,只能向外连一条无向边 即i⇒i⋅xmodn推论1不难发现:任意一个图,0号位只能指向它自己推论2如果在一个图中存在两个环及以上,则必然不连通举个简单的例子,如图4号点只能连两个环中之一综合两个推论,可以发现:若将所连的边(即i⇒i⋅xmodn)看做有向边,则连通图一定是其中0一定是一个自环,故连通图中所有点一定与0连通所以,对于每一个点,若 存在一个k,使得i⋅xkmodn0就肯定与。原创 2024-08-22 07:33:30 · 984 阅读 · 0 评论 -
题解:P10553 [ICPC2024 Xi‘an I] Guess The Tree
($ 1 \leq u,v \leq 2 ^ n - 1$) 以 “?但是,链上节点先后顺序不清楚,如果再去用询问排序,询问次数达到了。若 $lca( u,v )\ \neq u $,见图。如果一条链确定了,整个链上节点的父子关系就确定了。若 $lca( u,v )\ = u $,见图。然后递归剖链,最后找到每个节点的父子关系。其中,层数小的节点是层数大的节点的父亲。编号所对于的节点的lca的编号。次询问中,找到每个节点的编号。假设我们剖出的是最左侧的一条链,号节点的父亲节点的编号。原创 2024-08-22 07:32:32 · 641 阅读 · 0 评论