自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 此账号只将我个人CNblog上的文章搬运到优快云上

文章中公式不显示,图片失效等不在此修复(在准备NOIP,没什么时间修,

2024-08-21 14:32:41 184

原创 CF1824D LuoTianyi and the Function 题解

所以,我们可以用set维护这些颜色段,在扫描的时候判断是否需要合并两个颜色段,并不断在末尾新增颜色段。我们可以把询问离线下来,将询问拆开,分别插入到区间的右端点上,在遍历的时候计算答案。所在的颜色段和其下一个颜色段合并了,并且贡献变为其下一个颜色段的。因为我们做的是前缀和差分,插入的时候记得记录贡献的符号!当两个颜色段合并时,用历史和线段树做区间覆盖操作。随机累乘矩阵,可以发现我们实际需要维护的位置只有。),我们可以做一个历史和,也就是计算当。对于外面这一维求和(即。),我们可以扫描线去做。

2024-11-15 15:48:28 1092 1

原创 [AGC016D] XOR Replace 题解

来自 @同一机房的同学的题解。模拟赛用不同的思路场切了。

2024-11-13 18:14:52 1010

原创 P11233 [CSP-S 2024] 染色 题解

见选手目录下的 color/color2.in 与 color/color2.ans。对于每组数据:输出一行包含一个非负整数,表示最终得分的最大可能值。发现只有相同元素会产生贡献,于是用桶维护相同元素的最优决策点。对于第二组数据,可以证明,任何染色方案的最终得分都是。(虽然但是,我用的是一种更难理解,但是更好写的代码)你需要最大化最终得分,请求出最终得分的最大值。可以证明,没有染色方案使得最终得分大于。对于第三组数据,一种最优的染色方案为将。输入的第一行包含一个正整数。为相邻两项相同的前缀和。

2024-10-31 15:59:20 669

原创 dp专题总结 - AtCoder DP Contest

thiswaysirthiswaysir来自于ATcoder的一次 dp 专题比赛。Coins设fijf_{i,j}fij​为 考虑前iii个硬币,正面向上的个数有jjj个 的概率。

2024-10-31 15:56:20 945

原创 2024 CSP-S 游寄

感觉自己已经玩完了。120。没脸见人了。

2024-10-27 09:07:05 1069

原创 P8819 [CSP-S 2022] 星战 题解

考虑到敌人打击的特点,我方并未在据点上储备过多的战略物资。因此只要这个据点的某一条虫洞被修复,处于可用状态,那么这个据点也是可用的。为了把握发动反攻的最佳时机,指挥部必须关注战场上的所有变化,为了寻找一个能够进行反攻的时刻。我方掌握了一种苛刻的空间特性,利用这一特性我方战舰可以沿着虫洞瞬移到敌方阵营,实现精确打击。总司令为你下达命令,要求你根据战场上实时反馈的信息,迅速告诉他当前的时刻是否能够进行一次。也就是我们将每个点的出度随机赋值,一个图是内向基环树的必要条件就是。初始时所有的虫洞和据点都是完好的。

2024-10-25 07:18:32 1105

原创 P4735 最大异或和 题解

我们用 可持久化01-trie + 01-trie上二分 就可以解决!行,每行描述一个操作,格式如题面所述。行,每行一个整数表示询问的答案。,我们用一个全局tag就可以搞定。我们得考虑异或的性质——自反性!个非负整数,表示初始的序列。,我们用 trie 来做定位。给定一个非负整数序列。,含义如问题描述所示。

2024-10-25 07:17:43 967

原创 [ARC159D] LIS 2 题解

操作後の $ X $ は $ (1,2,3,4,10,11,7,8,9,10) $ です。この数列の $ 1,2,3,4,7,8,9,10 $ 項目からなる部分列は狭義単調増加であり、かつこれが長>さが最大のものです。我们可以把答案存在区间右端点上,然后用动态开点线段树求前缀最大值,就可以转移了。高橋君は $ i=1,2,\ldots,N $ の順に次の操作をしました。操作後の $ X $ の狭義単調増加部分列の長さの最大値を求めてください。操作後の $ X $ は $ (1,1,1,1) $ です。

2024-10-25 07:16:47 730

原创 P5304 [GXOI/GZOI2019] 旅行者 题解

为了提升旅行的体验,Vani 想要知道他感兴趣的城市之间「两两最短路」的最小值(即在他感兴趣的城市中,最近的一对的最短距离)。一次,居住在 J 国的 Rainbow 邀请 Vani 来作客。不过,作为一名资深的旅行者,Vani 只对 J 国的。也许下面的剧情你已经猜到了—— Vani 这几天还要忙着去其他地方游山玩水,就请你帮他解决这个问题吧。个正整数,表示 Vani 感兴趣的城市的编号。感兴趣的地点太多了,直接跑的话,复杂度是。条道路,Vani 感兴趣的城市的个数。那么,我们在枚举数位的时候,将该位为。

2024-10-25 07:15:53 679

原创 P8945 Inferno 题解

他们锲而不舍,是的我只能活在地下……就像冥府的恶魔,时刻忍受地狱的煎熬……沿着阿尔诺河的堤岸,我夺路狂奔,气喘吁吁。左转上了卡斯特拉尼大街,一直朝北而行,始终隐蔽在乌菲兹美术馆的阴影之下。如今浮生尘世,我举目北望,却看不到通往救赎的捷径——那高耸的亚平宁山脉挡住了黎明的第一缕阳光。这道题赛时已经想出来了,但是没时间写,细节有点多,自己的对拍程序还写错了。他们的脚步声越来越响,这些追捕者冷酷无情,不达目的绝不善罢甘休。我们回顾暴力做法,我们要知道区间。的个数,区间和,然后求区间的。暴力(计算每个可能区间。

2024-10-19 13:38:57 1055

原创 P2056 [ZJOI2007] 捉迷藏 题解

在起初的时候,所有的灯都没有被打开。每一次,孩子们只会躲藏在没有开灯的房间中,但是为了增加刺激性,孩子们会要求打开某个房间的电灯或者关闭某个房间的电灯。为了评估某一次游戏的复杂性,Jiajia 希望知道可能的最远的两个孩子的距离(即最远的两个关灯房间的距离)。对于每一个操作 Game,输出一个非负整数,表示最远的两个关灯房间的距离。游戏是这样进行的,孩子们负责躲藏,Jiajia 负责找,而 Wind 负责操纵这。,表示房间的个数,房间将被编号为。行,每行一个操作,如上文所示。,然后通过上面的结论,更新。

2024-10-14 18:07:36 1087

原创 loj193 历史和线段树 手把手教学

loj193 历史和线段树实现一个数据结构,可以实现:区间加查询区间历史和这个历史和线段树,可以使用矩阵来帮助理解。我们如何得到历史和呢?我们可以构造一个向量:[hissumlen]\begin{bmatrix} his \\ sum \\ len \\\end{bmatrix}​hissumlen​​hishishis 用来记录历史和,sumsumsum 记录目前区间和,lenlenlen 记录区间长度。先考虑如何更新区间和(做区间加操作),我们可以构造这样一个矩阵:

2024-10-14 17:27:26 1153

原创 P5787 二分图 /【模板】线段树分治 题解

每次插入线段,只放在节点的父节点,因为当我们分治时,会进入并查集(相当于树上差分)。分,但若没有通过 hack 数据则不算通过本题。这么简单的问题神犇当然会做了,于是他想考考你。神犇要求出每一时间段内这个图是否是二分图。,说明同侧的点相连,也就是出现了奇环。时间段内,这个图不是二分图,输出。时间段内,这个图是二分图,输出。时间段内这个图是否是二分图。的时间层,使用可撤销并查集。因为二分图没有奇环,所以我们用。因为神犇是神犇,所以在。时间段内,只有一条边。,这个图是二分图,输出。具体方法就是一条边的。

2024-10-05 18:24:11 1176

原创 灵活的矩阵结构体

【代码】灵活的矩阵结构体。

2024-10-05 17:20:00 168

原创 P4765 [CERC2014] The Imp 题解

小恶魔可以使用魔法,从而将某一个魔术宝箱内的实体转化为毫无价值的灰尘。当然,他会在你购买一个魔术宝箱后立即对其使用该魔法,这样你就为这个宝箱付了>钱而没能得到里面的实体。你的目标是最大化你的收益(所购实体的价值减去支付的所有费用(包括购买当前实体和之前的灰尘)),而小恶魔则希望将其最小化?但是,如果你成功地买到了到一个实体(而没有被变成灰尘),则你必须保留该实体并离开商店。你作为曾经完整钻研了《Ye Olde 魔法目录》的顶级做题家,当然毫无疑问地记住了每个盒子和其中实体的售价和价值。

2024-10-04 16:20:16 598

原创 P11160 【MX-X6-T6】機械生命体 题解

考虑将需要整体加的部分用 01trie 分裂,裂出来,整体加。二进制的运算和记忆,能够在机械生命体中还原出人类的情感吗?写过了,就得写一写 01-trie 的分裂与合并。感情を持った代償をくれよ$\$操作,输出一个整数代表答案。询问的时候,如果没有能匹配上。行,每行首先输入一个整数。,则接下来依次输入三个整数。,否则接下来输入一个整数。讲起来很简单,实现难的一批。,集合中满足条件的数有。01-trie 的合并。愛せないんだって$\$

2024-10-04 13:17:28 993

原创 P6623 [省选联考 2020 A 卷] 树 题解

求解的时候,对 Trie 上每个点分别计算贡献。两边的树,然后往进位的方向继续进行交换操作。号结点,每个结点有一个正整数权值。号结点间唯一简单路径所包含的边数,,在 01-trie 上模拟进位。号结点,每个结点的父亲编号。自身)的所有结点编号为。号结点的子树内(包含。仅一行一个整数表示答案。

2024-10-04 08:55:45 733

原创 【MX-X6】梦熊 X 组 · 回归线赛 A.B.D 题解

个点的有标号有根树,给定其长链剖分得到的 top 数组,请你输出有多少种不同的树可以在长链剖分之后得到该 top 数组。破碎的点依照破碎的规则进行重组,如此再生的一个结构将会是什么样的呢?能够带你进入孩童时期的梦境中的那个人,该在哪里寻找呢?两棵树不同当且仅当它们的根不同或它们的边集不同。我们直接找能接上去的点去接,而这样的点数量为。行,每行两个空格分隔的整数表示该组数据的。使得以下条件同时成立,或判断不存在这样的。我们通过题面信息,可以剖出多条链。那么,我们的目标就已经很明确了,

2024-10-03 19:24:52 949

原创 P7450 [THUSCH2017] 巧克力 题解

明明想满足舟舟的愿望,但他又有点「抠」,想将美味尽可能多地留给自己。如果在选出的块数最少的前提下,美味值的中位数(我们定义。每一小块都有自己特别的图案 ,它们有的是海星,有的是贝壳,有的是海螺……正当明明咽了咽口水,准备享用美味时,舟舟神奇地出现了。舟舟希望这些被选出的巧克力是连通的(两块巧克力连通当且仅当他们有公共边),而且这些巧克力要包含至少。我们用斯坦纳树先求出最小的块数,如果最小的块数都无法满足要求,直接输出。行,每行包含两个整数,用空格隔开,即最少的块数和最小的美味值中位数。

2024-10-03 12:57:24 1085

原创 【LGR-197-Div.2】洛谷 10 月月赛 I &「SFMOI」Round I 比赛 A ~ C 题解

打舒服了。

2024-10-03 12:28:25 2134

原创 P6192 【模板】最小斯坦纳树 题解

中情况可以用状态压缩技巧:枚举子集解决!样例中给出的图如下图所示,红色点为。中情况,我们可以用最短路解决;个互不相同的正整数,表示。保证给出的无向图连通,但。条带权边的无向连通图。中所有边的权值和最小。的点之间有一条权值为。第一行:一个整数,表示。考虑状态压缩,我们设。

2024-10-03 12:27:27 959

原创 P10856 【MX-X2-T5】「Cfz Round 4」Xor-Forces 题解

我们从此发现问题的本质:全局 旋转tag 线段树的问题在于,异或操作是自顶向下的,而下面的操作不实行,答案就无法得出!当我们将每个位置的下标伴随着颜色插入到 01-trie 中,如同用线段树一样求间极长颜色段数。我们不难发现 01-trie 和 线段树 —— 本质是一样的,原因是下标范围恰为。然后继续向下继续异或操作,并且异或具有交换律,我们只有在询问的时候考虑异或操作。,但遗憾的是,如果我们每一次修改都都做一边上述操作,时间复杂度和暴力无异!我们对于每一个异或和版本的线段树上可持久化,每一个。

2024-10-01 23:32:35 1118

原创 [NOIP2018 提高组] 旅行 题解

小 Y 的旅行方案是这样的:任意选定一个城市作为起点,然后从起点开始,每次可 以选择一条与当前城市相连的道路,走向一个没有去过的城市,或者沿着第一次访问该 城市时经过的道路后退到>上一个城市。需要注意的是,小 Y 要求在旅行方案中,每个城市都被访问到。不存在两条连接同一对城市的道路,也不存在一条连接一个城市和它本身的道路。并且, 从任意一个城市出发,通过这些道路都可以到达任意一个其他城市。为了让自己的旅行更有意义,小 Y 决定在每到达一个新的城市(包括起点)时,将 它的编号记录下来。

2024-09-28 13:22:49 758

原创 CF1100F Ivan and Burgers 题解

我们插入一个数,就建立一个新的版本,其的内容是复制上一个版本(这里是完全赋值,不是可持久化线段树的直接接上),然后我们考虑插入数,如果有数位可以填入,就填入;如果有的数位填入的时间太早,我们考虑用这个数替换,然后用。而这个位置不考虑插入时间时,可能有多个数字可以胜任,但是考虑插入时间后,其中能胜任的只有。因为我们记录每个数占领的时间,当我们询问。之前的没有数字可以胜任,这样构造的答案一定合法。我们需要记录每个数位被数占领的时间和数值,中选若干个数,异或和最大为多少。都无法胜任,那么 插入时间为。

2024-09-28 12:12:34 843

原创 P4570 [BJWC2011] 元素 题解

一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而使用了很多矿石,却在炼制过程中发现魔法矿石全部消失了,从而无法炼制出法杖,这个现象被称为“魔法抵消”。后来,随着人们认知水平的提高,这个现象得到了很好的解释。经过了大量的实验后,著名法师 Dmitri 发现:如果给现在发现的每一种矿石进行合理的编号(编号为正整数,称为该矿石的元素序号),那么,一个矿石组合会产生“魔法抵消”当且仅当存在一个非空子集,那些矿石的元素序号按位异或起来为零(如果你不清楚什么是异或,请参见下一页的名词解释 )。

2024-09-28 12:11:09 917

原创 CF986F Oppa Funcan Style Remastered 题解

个的话,因为分解出来很大,不适合跑最短路,可以用同余式直接求解)个以上,那么,我们相当于在求,对于 质因数。分解质因数,分类讨论(因为质因数如果只有。除外)之和,每个因数都可以被选多次。我们自然想到同余最短路,判断在。个的话可以直接判断;种,考虑离线一起求解。

2024-09-15 13:14:54 1204

原创 CF416E President‘s Path 题解

我们如果枚举每一条边,判断是否在最短路上,条边的简单无向图(无重边、自环),记。,分别为连接的两个点的编号,边的长度。类边是指这样一类边:存在一条从。的最短路,满足这条边在最短路上。根据最短路(一条链)的性质,对于。的数据范围,自然想到跑。枚举点是否在最短路上,

2024-09-15 12:56:29 742

原创 CF843D Dynamic Shortest Path 题解

如果有操作,那么我们就有可能走之前可能不优但现在变优的边,这时增量自动就往小的方向走了,答案显然正确。如果你像我一样唐,可以考虑用 SPFA 加 SLF、LLL 优化 代替 迪杰斯特拉,在带上一个超级快读。我们每次跑一遍最短路肯定行不通,那么只有一种方法,不用每次 迪杰斯特拉 和 Spfa。如果没有使用 STL 但还是没过的人,可以考虑将头文件拆开,只使用必要的头文件。然后就可以得到新图的最短路增量,将其叠加上原图即是答案。我们考虑给增量单独建图,先跑一个最短路,记录到。值,那么一条最短路的增量。

2024-09-14 20:03:58 1216

原创 Gym-101194G Pandaria 题解

的边所能到达的连通块中,出现次数最多的颜色中,编号最小的颜色是多少?然后就没有然后了,很水,但是确实比较板子。出发,只经过边权不超过。

2024-09-12 16:31:35 535

原创 CF888G Xor-MST 题解

个人认为,这个算法类似于分治,从子问题出发,直到求解出全局答案。当我们在判断 Trie 上某一位时,如果左右儿子都存在(即 下一位是。所以在此时,我们假定 左子树中所有数已经连成一颗树,右子树同理,将最初的数排序插入,这样左子树和右子树上的数的编号(下标)连续。的运行过程一样,现在我们要将左右两个集合以最小代价连接起来。重构树,这样说也不算错,如果有助于理解,也可以这样思考.小边(这些边的端点不重合),连接,并合并两个区间。因为每个点都要相连,而连接时有异或最小的限制,最初,每个点分别归属于一个集合,

2024-09-12 16:17:58 2064

原创 P4197 Peaks 题解

我们发现,因为 dfs 序的性质,一个节点的子树被访问完了之后,才会退出该节点,所以一个子树的叶子节点一定构成一个连续区间,建出 Kruskal 最小树重构树后倍增找到可达的最远的 lca ,条路径,每条路径有一个困难值,这个值越大表示越难>走。因为可持久化线段树维护的值可以离散化,果断离散化减少空间。然而叶子的编号不是连续的,我们很难用什么数据结构维护。对于每组询问,输出一个整数表示能到达的山峰中第。座山峰,每座山峰有他的高度。然后,对于子树中的叶子进行第。的路径所能到达的山峰中第。

2024-09-09 20:02:11 856

原创 CF1009F Dominant Indices 题解

简单的说,我们要找每个点子树内最厚的深度(哪个深度有最多的点,这里的深度指以该点为根的深度),如果有多个答案,选择最浅的深度作为答案。我们考虑对于每个点,将每个点的深度加入到该点的权值线段树上,然后将子树的线段树合并到该节点,最后全局查询最左的最大深度。的深度数组的主导索引(简称为顶点。对于树中的每个顶点,计算其主导索引。长链剖分模板题,但是用线段树合并。的深度数组定义为一个无限序列。的主导索引)是一个索引。个顶点的无向树,顶点。),表示树的顶点数量。),表示树中的一条边。没什么多说的,上代码。

2024-09-08 15:33:37 852

原创 CF609E Minimum spanning tree for each edge 题解

那么我们强制使用一条边,先看他是不是在最小生成树上?如果是,直接输出最小生成树权值。因为我们要让最小生成树权值最小,我们肯定断环上权值最大的边,考虑树剖。: 次小生成树只会从原最小生成树替换掉一条边,替换掉两条边肯定不优!我们都知道,只能在环上断边才能重新变成树,所以问题变成了环上断边。不难注意到,用 Kruskal 算法求最小生成树时,我们。当我们求出最小生成树后,再添加一条边,必然出现环,此时就是。条边,如果对于一个最小生成树中要求必须包括第。条边,那么最小生成树的权值总和最小是多少。

2024-09-08 15:29:42 880

原创 P3960 [NOIP2017 提高组] 列队 题解

后面来了一些点,这些点在初始化的时候大抵根本不存在这个列队中,但是这些点很快被我们赋予的权值给顶掉了,所以没有任何影响!注意:每一个同学的编号不会随着离队事件的发生而改变,在发生离队事件后 方阵中同学的编号可能是乱序的。按照事件输入的顺序,每一个事件输出一行一个整数,表示这个离队事件中离队学生的编号。为了便于管理,教官在训练开始时,按照从前到后,从左到右的顺序给方阵中 的学生从。因为没有初始化的节点说明没有修改过,所以里面的元素是可以推出的,想要计算每一次离队事件中,离队的同学 的编号是多少。

2024-08-31 16:19:33 1227

原创 NOIP模拟 #1题解(持续更新

这就很好想:我们从后往前一个个消灭,每一次。这道题成功在赛时唐出来了——(难绷。每次可以对队列最后的数字进行。如何构造使得队列中元素都变成。,后面的操作影响前面的数字。且会使前面的数字整体。

2024-08-31 12:44:11 497

原创 P8865 [NOIP2022] 种花 题解

非常优质的签到题。

2024-08-30 18:38:43 671

原创 P4050 [JSOI2007] 麻将 题解

模拟不要惯性思维暴搜!

2024-08-30 10:28:22 834

原创 P7075 [CSP-S2020] 儒略日 题解

我们现行的公历为格里高利历(Gregorian calendar),它是在公元 1582 年由教皇格里高利十三世在原有的儒略历(Julian calendar)的基础上修改得到的(注:儒略历与儒略日并无直接关系)。若利用这一天文学历法,则每一个时刻都将被均匀的映射到数轴上,从而得以很方便的计算它们的差值。现在,给定一个不含小数部分的儒略日,请你帮忙计算出该儒略日(一定是某一天的中午 12 点)所对应的公历日期。年的月份天数前缀和,闰年的月份天数前缀和,非闰年的月份天数前缀和,和它们每个月的天数。

2024-08-29 18:52:54 973

原创 P1850 [NOIP2016 提高组] 换教室 题解

现在牛牛想知道,申请哪几门课程可以使他因在教室间移动耗费的体力值的总和的期望值最小,请你帮他求出这个最小值。因为不同的课程可能会被安排在不同的教室进行,所以牛牛需要利用课间时间从一间教室赶到另一间教室。)节课结束后,牛牛就会从这节课的教室出发,选择一条耗费体力最少的路径前往下一节课的教室。)个时间段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排在教室。保证通过学校里的道路,从任何一间教室出发,都能到达其他所有的教室。,并且对于不同课程的申请,被通过的概率是互相独立的。

2024-08-27 19:56:37 848

CComparev1.21安装包 + Windows x64 Microsoft Toy tools安装包 + DeepL安装包

van能的OIer们,你是否被下方样例的奇葩格式给痛苦一整天? 我就被痛苦了! 我在写 P7075 [CSP-S2020] 儒略日 这题时,想要用命令对比答案中的不同; 结果您猜这么着? 我明明输出是对的却认为我错了。 或者提示我差异过大,无法重定向! 往往心态爆炸。 这往往是Windows和Linux系统的换行格式不同 Windows系统是 " CRLF " 格式,而Linux(Unix)系统是 "LF" 格式 然后,我就想到了文件对比器。 在github上找到了这个,免费简约,为GitHub下载过慢的同学提供了这样的一个安装包 希望您喜欢! 还有一些如WindowsToyTools的实用小工具

2024-08-29

GNU-gcc14.1.0

支持 C++11,14,17,20,23?(竞赛用不到C++23,本人不大清楚) 解压后记得配置path mingw永远的神 查询版本的方式 :path配置完后,Win键 + R键 输入cmd,在控制台中输入 g++ -v 最后一行会出现 gcc version 14.1.0 (GCC) 表示path成功配置 可以自定义命令 通过.bat文件(也要将文件所在路径配置到path中) 比如我的文件是 "crun.bat" 内容为:(默认C++17) @echo off g++ "%1.cpp" -o "%1" ".\%1.exe"

2024-08-21

空空如也

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

TA关注的人

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