合集-题解

摘要:无向无根树,首先想到黑白间隔染色。首先看到相等,我们就能想到各种-1和1相抵消。然后考虑选1作为根节点,钦定子树权值为-1,然后靠着这个性质推就可以了。关于树的构造题要往度数,深度方面想 阅读全文
posted @ 2024-02-27 09:39 wuhupai 阅读(6) 评论(0) 推荐(0) 编辑
摘要:考场上没写出来....... 考场上想的是对于每条边钦定一条最短路,边权全赋成1,然后就不会了。 下一部是钦定其他边边权为k,如果经过边权为k的边是最短路,那么把这条设为1就是更短的路。(点到点,一条最短路到另外一条最短路)。所以正确。无解当且仅当k==1并且有重复最短路。 以后看到最短路,如果边权 阅读全文
posted @ 2024-02-27 09:50 wuhupai 阅读(9) 评论(0) 推荐(0) 编辑
摘要:知道要用并查集才会做的,真是菜到家了。手模发现如果将这些约束条件变成图的边的话,那么在一个连通块中,这些节点可以共用一个父亲。然后构造出来的大概就是这种东西 所以我们可以选出大小大于2的一个集合,然后从其他点挑出一个作为父亲,然后另外点连在这个集合的一个点上就可以了。 阅读全文
posted @ 2024-02-27 09:51 wuhupai 阅读(11) 评论(0) 推荐(0) 编辑
摘要:难度1 一个比较经典的trick是,看到要求的比较难求,不妨枚举要求的,然后验证条件。 所以问题转化成了,枚举中位数,在前面找n12个数,在后面找n12个数,然后这些人的奖学金金额不超过f。然后有一个很简单的贪心,就是一个类似前缀最小和,后缀最 阅读全文
posted @ 2024-02-27 09:53 wuhupai 阅读(6) 评论(0) 推荐(0) 编辑
摘要:难度2 也是比较有意思的一道题。首先发现每个小团体独立,所以对于每个小团体分开直接暴力dp,dp[i][j]表示当前小团体做到第i人,走了j人,然后O(n)转移,加上部分分喜提50pts。为什么要O(n)转移呢,因为我要枚举匹配的两个人然后算贡献。但是对于这种带绝对值的贡献,我们一般都要把绝对值拆掉 阅读全文
posted @ 2024-02-27 09:54 wuhupai 阅读(5) 评论(0) 推荐(0) 编辑
摘要:难度2 比较好的题目,加强了对主席树的理解。 就我个人而言,我目前可以用三种方法切掉此题。 1.平衡树 对于每个颜色建平衡树,维护颜色对应的下标,询问时直接split输出size即可 2.stl(vector) insert,erase,lower_bound,upper_bound,一顿搞实现上面 阅读全文
posted @ 2024-02-27 10:03 wuhupai 阅读(7) 评论(0) 推荐(0) 编辑
摘要:难度1 em还是一道比较套路的题目。观察发现,如果当ri=1时他的两把钥匙状态是相同的,当ri=0时他的两把钥匙状态是不同的,对于这种相同不同的问题可以考虑并差集,状态一样就一样的并在一起,否则就把不一样的并在一起 所以以后看见这些问题(a=b+k,a=!b,a=b)都可 阅读全文
posted @ 2024-02-27 10:04 wuhupai 阅读(7) 评论(0) 推荐(0) 编辑
摘要:难度 1+ 想了还是挺久的。首先对于这种区间的问题,比较常见的套路就是枚举右端点li通过数据结构算出贡献。em,因为是有关二进制的问题,考虑拆位,如果ai或上前面的要变成新的数,那么必有一位0变成了1,所以想到开21颗平衡树找下前驱后继就可以了。 上面足以通过,但我们发现 阅读全文
posted @ 2024-02-27 10:05 wuhupai 阅读(6) 评论(0) 推荐(0) 编辑
摘要:难度1 这题看到一点思路也没有,但是看到最小操作数想到二分,dp和贪心,二分答案的check显然不会,贪心不会。发现对于一行,前面的i2是不会影响的,这一行也不会影响后面的i+2行,所以是dp。考虑如何设计状态因为i1i+1行都会影响,所以设计出来一个dp[i] 阅读全文
posted @ 2024-02-27 10:05 wuhupai 阅读(7) 评论(0) 推荐(0) 编辑
摘要:难度2 比较有意思的dp题 首先发现这就是将一个环从中间一点一点剥开的过程。其次观察到joi取时右端点减左端点为偶数,ioi取时为奇数,所以一次一次dp即可。 看到这种题时,发现有环,就要想到双倍延长再模拟一下题意,手玩一下即可 // LUOGU_RID: 117752061 #include<bi 阅读全文
posted @ 2024-02-27 10:08 wuhupai 阅读(7) 评论(0) 推荐(0) 编辑
摘要:难度2 还是比较巧妙的。 看到这种操作题,思路基本就是考虑用合适的数据结构去求解每一个操作。在遇到一些比较难搞的操作时可以考虑转换。对于一些删除的操作一定要小心,除非很简单,否则大概率是转换 看到操作一,因为这个数据范围想到只用存一个x就可以了 看到操作二,是删除,等等 看到操作三,考虑二分再加加减 阅读全文
posted @ 2024-02-27 10:09 wuhupai 阅读(59) 评论(0) 推荐(0) 编辑
摘要:难度:2 看到位运算想到拆位。因为是与所以对于 [l,r] 区间内在二进制下,如果它是 1 则 [l,r] 区间都是 1,如果是 0 则 [l,r] 区间内至少有 1 个 0。因为是区间所以不难想到用线段树处理,而线段树维护的就是区间内1的个数。 考虑如何处理。首先对于q拆位 阅读全文
posted @ 2024-02-27 10:10 wuhupai 阅读(9) 评论(0) 推荐(0) 编辑
摘要:这题其实挺简单的...... 首先我们手模样例,对于第一组样例其实就是在1-n之间取一个数,求取到的数的期望。所以E(x)=1+n2。 对于第二组样例,我们首先将所有可能情况枚举出来: 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 阅读全文
posted @ 2024-02-27 10:11 wuhupai 阅读(2) 评论(0) 推荐(0) 编辑
摘要:花了2d打磨出来的题目,觉得很有意思。 先讲点无关的,这道题有两版,但都是对要求的量进行改动。 1.第一次要求的是y属性为a与y属性为b的两个节点的路径权值之和,对于要求的这个量,我们设v[i]为i到根节点的权值之和。那么我们先对a,b进行质因数分解,设dcg为a,b分解质因数后最长公共前缀的乘积, 阅读全文
posted @ 2024-02-27 10:11 wuhupai 阅读(10) 评论(0) 推荐(0) 编辑
摘要:非常有思维的一道题 在遇到计数类dp时,我们首先要找到子问题。然后我们要设计dp状态(这个通常就是当前的计数),然后转移方程要做到不重不漏(这我感觉是最难的地方)。 对于这题,我们先设计出dp方程:dp[i]代表1-i都保留时序列的种类。然后我们可以想到如果i-j能消成只有a[i],a[j],那么d 阅读全文
posted @ 2024-02-28 14:01 wuhupai 阅读(6) 评论(0) 推荐(0) 编辑
摘要:在写提前先花一点时间想好自己的代码里有什么,这样就不用像我这样调一天了。然后在遇到比较相似的代码时,可以考虑并到一个函数里,比如说push_up和getsum里对左区间和右区间的合并,我一般是写在一个函数里的qwq。 在调了超过2h时可以考虑重复上面的过程(重构在思路清晰的情况下是很快的,反正我重构 阅读全文
posted @ 2024-02-28 14:15 wuhupai 阅读(2) 评论(0) 推荐(0) 编辑
摘要:博弈论的题一般都是从必胜态推到必输态,从必输态推到必赢态(一定要记住,反正我博弈论基本不会qwq)。然后我们可以先从几个简单的必赢态和必输态入手。比如1和质数肯定是必定是Alice输。然后对于这种输入一两个数,输出一个数我们就可以打个表(应该要进入我做题目的流程)。然后就做完了 阅读全文
posted @ 2024-02-28 14:35 wuhupai 阅读(7) 评论(0) 推荐(0) 编辑
摘要:比较有意思的一道题。 看到将一个区间涂黑可以想到线段树。然后看到最少删除,想到最多保留。然后我一开始想的是贪心,对于每条线段找到前面最近的,然后对于每个高度取min即可。然后测了一下样例,寄了。会被这个hack掉 对于这个,我们在做2时会把中间删了,然后做1的时候就寄了。这就说明了贪心是不对的,考虑 阅读全文
posted @ 2024-03-31 20:39 wuhupai 阅读(19) 评论(0) 推荐(0) 编辑
摘要:文艺平衡树如果不带反转可以查询某个数的位置 文艺平衡树如果带反转可以查询特定数的位置,始终不改变,记录的是每个点对应的当前区间是否出现这个数 阅读全文
posted @ 2024-03-02 19:20 wuhupai 阅读(5) 评论(0) 推荐(0) 编辑
摘要:CPU监控 历史最大值可以让我们想到吉司机,然后发现这里有个就要考虑区间推平和区间加对lazytag的影响。我们要维护6个tag,maxx,hmaxx,ha,a,hc,c。考虑之前的线段树对于区间覆盖和区间加之怎么做的。我们发现如果我们有一个c标记,那么如果我们要下传一个ad标记,那么我们可以让c加 阅读全文
posted @ 2024-03-31 21:35 wuhupai 阅读(5) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示