- 博客(38)
- 收藏
- 关注
原创 AtCoder Beginner Contest 401 E题 题解
给定一个无向图,对于每个,解决以下问题:-选择最少的一些顶点,使得删除这些顶点及其关联的所有边后 点1只能到达以内的所有点。
2025-04-13 23:49:15
197
原创 Atcoder Beginner Contest 383 D - 9 Divisors
题目想让我们求出有9个因数的数的个数。那第一种很好求 直接枚举即可。对于第二种 我们可以先筛出。再用二分去找 时间复杂度。可能是一个质数的八次方。也可能两个质数的平方积。那我们先对任意一个数。
2024-12-08 15:29:44
237
原创 AtCoder Beginner Contest 381 E - 11/22 Subsequence
对于每一次询问 我们用二分找出被。再用三分去找出答案就可以了。我们可以先求一遍前缀和。
2024-11-23 15:15:29
303
原创 AtCoder Beginner Contest 381 D - 1122 Substring
删除的时候从前往后删就行了 因为每个数都最多被删一次 时间复杂度。首先 我们要声明一下 这个答案它一定是个子串 一定是连在一起的。发现不是 因为开头是奇数 我们就直接跳到3。然后再整个队列出来 表示每两个相邻的数出现的地方。我们可以分开讨论 至于为什么 下次一定(那如何才能快速知道它上一个位置是多少呢?由于这个数列必须是个子串 但这里断掉了。我们可以将我们用于判断是否出现过的。子串的开头要么是奇数 要么是偶数。偶数开头和奇数开头其实差不多(那我们就果断切掉上一个。表示上一次出现的位置。
2024-11-23 11:52:04
496
原创 树链剖分(重链剖分)
因为树不好处理 但链比较好处理为了学会它 我们先要学会(深度优先搜索) 然后就没了(雾)Because 树链剖分需要用到两个哦对了 我们还要了解以下的知识点就是一个节点的子树的节点个数(包括它自己)一个节点的所有儿子中子树大小最大的儿子除了重儿子之外的儿子(包括根节点)两个相邻的重儿子连成的边重边连成的链(开头是轻儿子)OK,了解完了启动!
2024-11-22 20:23:36
911
原创 P5099 [USACO04OPEN] Cave Cows 4
我们每次都枚举和这个垫蹄石之间x方向和z方向的距离均不超过2的垫脚石。这里的垫蹄石之间很明显是有后效性的 所以不能用dp来做。都很大 我们可以使用。
2024-11-19 19:42:34
303
原创 AtCoder Beginner Contest 380 D - Strange Mirroring
注意到无论大小写如何变化 字符串都是一直复制输入的字符串。可能有点慢 但这确实是本蒟蒻打比赛时想到的最可行的方法了。可以看出 直接枚举是会爆掉的 人类灭绝你都算不出来。因为一个输入串的大小写是一起变的 所以我们可以用。而之后它相当于原串的缩小版 还有这种规律 只不过。那我们只需要确定它是大写还是小写就行了。所以我们可以用倍增法来逐步向答案趋近。可能一定难懂 可以结合一下代码食用。时间复杂度大概也许可能maybe时。表示这个输入串有没有变换大小写。我们打个表来找找规律。
2024-11-18 20:01:06
593
原创 AtCoder Beginner Contest 380 E - 1D Bucket Tool
那这样我们每次修改颜色时就只需要修改祖先的颜色就行了。如果这个块左边的那个块和它颜色相同 那就将它俩合并。表示一个祖先所能的管理到的最左端和最右端。可能有点复杂 不过了解之后就肯定能看懂。因为并查集优秀的性质 所以时间复杂度。每次修改时只会修改这一个块的颜色。一个点的颜色就是它的祖先的颜色。在普通的并查集之外,我们还需要。本题的第一种查询十分的恶心。因为它左边的那一个块中肯定有。开始时每个颜色都只有一个。更新成原来它左边那个块的。这里就直接说我的思路了。所以它左边的祖先就是。
2024-11-17 13:07:39
646
原创 AtCoder Beginner Contest 380 F - Exchange Game
但为了方便 可以把牌堆的牌也显示出来。由于高桥,青木和牌堆的牌总量固定。那如何表示高桥和青木的手牌呢?进行记忆化搜索来优化常数。其他的依照题目模拟即可。
2024-11-17 11:25:58
489
1
原创 P3609 [USACO17JAN] Hoof, Paper, Scissor G
如果变换 肯定要变成当前的手势会最优。我们可以先将它们转换成数字。使得与农夫约翰出的手势一样。由于字母的处理太麻烦了。题目可以转化成最多变换。相当于把一样都改成胜利。
2024-11-16 11:02:58
351
原创 P10077 [GDKOI2024 普及组] 读书 题解(神奇骗分)
【代码】P10077 [GDKOI2024 普及组] 读书 题解(神奇骗分)
2024-11-08 20:33:52
323
原创 AtCoder Beginner Contest 378 F题题解
可以发现题目就是要我们找出有多少个点对满足连成后是一个简单环环上的点度都为3因为是一个简单图所以不可以有重边和自环那么就代表着这个环肯定是由两个度为2的点和大于1个度为3的点组成的注意到两个点的最近公共祖先一定可以跟这两个点形成环所以我们用一个度为3的点去找只往度为3的结点走找到的所有度为2的点都可以彼此连成环就像这样红点之间都可以彼此连成环答案就是由于每个点最多只被遍历一次所以时间复杂度是的。
2024-11-03 10:26:28
488
原创 P3957 [NOIP2017 普及组] 跳房子 2024.11.2 T4 总结
终于到了这道题的重点 也是它能被评蓝的主要原因。由于是从一个跳到另一个,而且还只能往右跳。到了这里 时间复杂度已经被我们将到了。我们可以先对还没入队的元素入队 将。没错 就是单调队列优化模板!大家可以自己根据之前的转移推一下。越大时答案肯定不劣于之前的答案。是时候思考如何打单调队列了!一般的单调队列优化是先求出。个金币走到了i的最大分数。dp已经被我们将成了一维。之后就只有一些小细节了。可以得到一个三维转移。注意 :起点也要转移。聪明的你一定可以看出。,然后扔进单调队列里。至于为什么是这个区间。
2024-11-03 00:52:12
714
原创 2024.11.2 T3总结
表示这一个点在这一轮中有没有被更新过。这个点能更新的点肯定已经被更新了。这样就保证了每个点只被更新一次。所以将这一个地方作为切入点。可以看出这道题是一个模拟。我们对于每一个信息去处理。因为每个点会被更新很多次。应该能过(本人没试过)但是数据大点就不太保险。上一个可能的点最多有。如果有 因为方向固定。
2024-11-03 00:11:46
187
原创 2024.11.2 T2总结
但仔细看可以发现四种操作都是把特定位置的灯状态取反。我们只需要考虑一下这16种情况那些是合法的就行了。之后再看一下合法的方案中那些符合题目就可以了。还有那个IMPOSSIBLE!两次是可以可以抵消的!你大概已经知道该怎么做了。本人考试时就是这样打的。可以用string来存。注意要对答案进行排序。
2024-11-02 23:12:45
264
原创 2024.11.2 T1总结
现在应该是OIer们都必做的一道题了聪明的你一定可以看出题目要我们扣的money尽量少容易想出贪心:让扣钱最多的排在最前面考虑,因为它的影响最大。同时 我们还可以看出时间从后往前找比从前往后找更优因为限制比它前的可用的时间一定比它少这一点很重要于是 我们可以用一个数组表示这一个时间点有没有被使用如果没有就往前 一直都没有就说明这一个点必须被跳过了负责就将标记为。
2024-11-02 22:54:15
151
原创 总结 P3572 [POI2014] PTA-Little Bird
dp[j]+(a[i]>=a[j]) 而且 j>=i-k 有点像可以单调队列优化的样子。所以代码应该是 O(nm) 级别的。dp[i]表示飞到第 i 棵树时的。注意到 m
2024-11-02 10:34:49
411
原创 总结 :P1687 机器人小Q
dp[i][j][1]表示前i个菜单中选了j个的天数的最小值时的最后一天的现在用时。设dp[i][j][0]表示前i个菜单中选了j个的天数的最小值。想出来之后转移就很简单了 细节有点多。
2024-10-31 20:22:36
196
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人