- 博客(25)
- 收藏
- 关注
原创 Codeforces补题7.0
但是点太多了,不可能枚举所有点,我们可以把点分层,可以发现每层内的子树状态最多只有三种(最后一层是满的,最后一层不满但有点,最后一层没有点),可以二分找到分界点,这样一层只需要计算三次即可。个糖果,每个人可以至多给一个人糖果,并且每个人至多可以收到一个人的糖果,但无论是。之间的值的方案数,那么剩下的方案数里面一定存在至少一个节点的值是。对于在路径上的节点,我们要保证值的最大值是。的正负两个数是固定的,可以先预处理出来;之间的值的方案数,但是我们要保证存在。的整数幂的先存起来,毕竟它是固定的;
2023-10-21 11:31:16
148
原创 Codeforces补题6.0
删一个数就相当于跳到当前结点上面的祖先结点,可以用树上倍增预处理;的数量无论怎么进行交换操作都不会改变的,同时四种子序列的总数不变,也就意味着。此后,枚举分界点,就可以得到前后缀使用的操作次数,处理出来假如最长。回家放个暑假人放傻了,昨晚div2才做2题,人直接当场裂开。串,每次操作可以交换两个不同位置的数字,求使得长度为。建的图,过程中维护当前点到根节点路径上的信息即可。数组可以正着算一遍,反着算一遍,即可得到前后缀。的数量之和后,我们的目的变为使得整个序列中的。的数量都为它们总和的一半时,才会相等。
2023-09-02 11:01:58
173
原创 扩展欧几里得求通解、最小正整数解-个人向梳理
首先确定这个方程是否存在整数解,刚才在求解的过程中等式的右边是。扩展欧几里得算法是用来求解一类特定的不定方程的,形如。,一直回溯到开始的状态,就可以得到原始的一组特解。,如果不满足这个条件,那么方程就没有正整数解。当扩展欧几里得在到达递归边界的时候,此时。得到一组特解后特解,我们开始着手于寻找。但是此时我们得到的依旧不是通解,因为。,此时我们发现式子有一个解,即。是函数最最开始输入的时候的值。是到达递归边界时候的值,而。,所有我们求出的特解是满足。有正整数解,那么原来的。的系数合并,我们得到。
2023-07-19 18:13:21
477
原创 Codeforces补题5.0
题解:先至多操作两次输出“- 0”不改变原数组,此后一定会有某个类型的的数量加一,且有某个类型的数量减一。此时目标一定在数量加一的类型中,我们删去所有其他类型的物品。题解:考虑建图,对于建边,对于一个状态,吃下一种药,会变成下一个状态,我们可以连一条从原状态向结果状态距离为。的位表示该位下标表示的病可以被治好,然后第二个串中为。次,会治一些病,但也有一些后遗症,治病的方式以两个。的位表示该位下标表示的病是这种药带来的。表示后遗症的序列,那么结果状态就是。考虑两个状态的值,当状态为。表示该药治病的序列,
2023-07-16 14:14:55
277
原创 Codeforces补题4.0
中第一次出现位置是他对字典序产生贡献最大的位置,并且第一次位置出现越靠前贡献越大,由此我们对截取区间内的所有字符按照贡献大小离散排序, 我们定义一个容器。个,然后计算出每种取值至少需要多大的序号才能满足要求,查询时只需在序列中二分即可。的所有有效的子段,即长度最小并且右端点最小的子段,这样的子段只有。尽可能地往前放,而经过离散化,我们发现我们可以控制的最靠前的。每个数字都是一个子段,首先长度小的子段靠前,在长度相等的子段中,的个数决定,从上例我们发现我们只能控制最左边。都在左边,我们能够通过操作换过来的。
2023-07-15 18:33:35
182
原创 Codeforces补题3.0
个模特,每个模特有一定的贡献,问在满足条件下所选贡献值的最大值。例:对于数列 -1,-1,-1,-1,8,-1,7,-1 来说,我们将它们两两分组得到{-1,-1},{-1,-1},{8,-1},{7,-1},此时。题解:我们首先要找到每一个模特的前驱,即对于某个模特,他的前驱就是在每一个城市受欢迎程度都小于他的模特集合;最终dp转移中,我们已经得到每个模特的前驱,我们只需要按任意一个城市的受欢迎程度给模特排名都能获得一个合理的dp顺序。,此时数列变成 -1,-1,-1,-1,以此类推……
2023-07-14 23:59:35
76
1
原创 Codeforces补题2.0
每个整体之间互相独立,于是我们可以通过用异或一个随机数来标记区间,然后利用异或前缀和来记录每种整体的总长度,并算出它的贡献。因此考虑记忆每个位置曾经出现过哪些值,当某个区间的右端点扩大后发现这个位置曾经有过区间的。,然后将堆顶的元素取出来让它的区间往右走一步再重新插进堆中,这样就能当堆顶元素不等于。考虑什么样的情况是不需要重复计算的,当有若干个区间右端点相同,左端点不同的区间的。),问你选择哪些问题,可以使得举得最高的人和举的最低的人差值最大。,他们之间的最大差值就是他们不相交的区间长度的最大值乘。
2023-07-11 00:24:40
162
1
原创 Codeforces Round 865 (Div. 2)-D. Sum Graph
x y" 表示询问数字 x 和 y 之间的最短路径长度。首先输出 "+ n+1" 和 "+ n+2" ,此后变成了一个全联通图。此后只需求出这个联通图的左右端点,即可求出具体的序列,即找树的直径。1、输出 "+ x" 表示将所有满足。要求操作总次数小于等于2n。
2023-07-10 18:06:06
75
1
原创 Codeforces补题记录
首先引入结论,对于任意满足条件的串,都可以用最左端的最短偶数回文字符串唯一标识,例:对于字符串abba,显然由其本身abba标识;的三个孩子对应的链上的异或和分别可取 15,5,1。,求一共有多少个 偶数长度的回文字符串或者能分解成多个偶数长度的回文字符串的字符串,例:abba 或 abbacc。开头的满足条件的串的数量,我们找到可以唯一标识这个字符串的右端点(例:abba。当然当三个孩子的值像样例一中是 2,6,12 时,取任一一个都是可行的。中选择异或和的值出现次数最多的值,修改其余的值。
2023-07-07 10:34:57
133
1
原创 Educational Codeforces Round 147 (Rated for Div. 2)部分题解
本场是贪心场,前三题签的巨快,第四题卡到最后,第四题一直以为是动态规划,想到快结束的时候,突然发现是贪心qwq,最后和室友聊了一下贪心思路,只可惜没有时间写代码了,的区间时,效益太低,需要3步操作,但是当选择区间长度大于等于。先找到如果无脑选所有区间到达的点,然后判断,如果不去选择前面的。区间,我们会多出两次操作,然后每次后移取最小值。2、开始涂色,即此操作后移动到的格子将涂上色;3、结束涂色,即此操作后移动到的格子将不涂色;要求在满足不能在区间外涂色的情况下,问涂完。个可涂色的区间,初始位置在格子。
2023-04-21 16:56:51
349
原创 Educational Codeforces Round 145 (Rated for Div. 2)
Educational Codeforces Round 145 (Rated for Div. 2)部分题解
2023-03-27 16:16:42
360
原创 Educational Codeforces Round 144 (Rated for Div. 2)
(同时注意考虑空的子段,其和为 0)2、本题DP与其他动态规划最后取答案有别,,同时把其他没有选择的数字减去。求进行该操作后的序列。,现在只需要考虑加上。为结尾的最大子段和。
2023-03-27 11:01:02
140
原创 Codeforces Round 854 by cybercats (Div. 1 + Div. 2)部分题解
Codeforces Round 854 by cybercats (Div. 1 + Div. 2)部分题解
2023-03-09 17:11:26
489
原创 Educational Codeforces Round 133 (Rated for Div. 2)部分题解
Educational Codeforces Round 133 (Rated for Div. 2)0-C、D题解
2022-12-18 20:05:13
116
原创 G. SlavicG‘s Favorite Problem
Codeforces Round #835 (Div. 4)-G. SlavicG's Favorite Problem
2022-11-23 19:01:55
140
原创 2018-2019 ACM-ICPC, Asia Jiaozuo Regional Contest-E. Resistors in Parallel
2018-2019 ACM-ICPC, Asia Jiaozuo Regional Contest-E. Resistors in Parallel
2022-11-17 14:38:40
28
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人