- 博客(25)
- 收藏
- 关注
原创 CF762E Radio stations
如果两个电台的频率差值在 k 内,并且它们的作用范围都能覆盖到彼此,那么就称这两个电台相互干扰。的点数,即为当前点能组成的相互干扰节点(坏节点)的对数。已经处理过的当前点需要禁掉(不然会重复),由于直接从数组中删除单次复杂度为。的升序处理每个点,对于已处理过的点把它禁掉,这样由于我们每次选取的都是当前。给点分类,同频率的在一组,当选定某个点时,枚举与它距离最多为。,我们考虑用树状数组表示,这样单次删除时间复杂度为。的取值范围较小,我们可以考虑按照频率。更大的点即可,我们考虑按照。最小的点,一旦有点在。
2024-09-05 09:25:03 292
原创 CF1114E Arithmetic Progression
最小元素很好找,我们只要利用询问2,二分查找即可,这个查找过程最多30次,剩余30次机会。先问出一个元素,分别假设它等差数列的第2-n个元素,用问出的其他元素检测是否有冲突即可。,保证它从小到大排序后是个等差数列。中的最小值)和这个等差数列的公差(也就是等差数列中相邻两个数的差)。现在,你需要求出这个等差数列的首项(也就是。
2024-08-29 19:03:26 866
原创 CF1110D Jongmah
为了赢得游戏,你需要将这些麻将排列成一些三元组,每个三元组中的元素是相同的或者连续的。对于三元组 {x−2,x−1,x},它最多取 2 次,否则就可以变成多个 {x,x,x}你只能使用手中的麻将,并且每个麻将只能使用一次。你在玩一个叫做 Jongmah 的游戏,你手上有。请求出你最多可以形成多少个三元组。个麻将,每个麻将上有一个在。个,能得到的三元组个数。
2024-08-27 19:48:33 715
原创 CF1916F Group Division
内无割点(一定能找到这样的一个联通块,因为如果选择树上深度最大的那个割点,它的子树除去它就会是一个没有割点的联通块)。是原图的一个割点,与原图点双联通矛盾,故每次操作都必然存在这样的一个点。非点双联通,与题意矛盾。考虑反证法,我们取出一个割点。的所有割点并打上标记,任取一个非割点也不属于。我们来证明一下每次均能找出这样的点。的导出子图内的每个割点都会和。中也不存在一个非割点又与。划分为两个无交集的点集。内点有连边,否则会导致。的导出子图割点但与与。中至少有一个新连通块。有连边的点加入,注意。
2024-08-26 16:28:13 744
原创 CF1916E Happy Life in University
问题转化为动态维护路径的颜色数最大值,可以用线段树来解决。对于每组数据,第一行输入。对于每组数据,输出一行一个数字,表示。从叶子节点出发,每次直接给子树。,注意在算重的位置减去贡献即可。的父亲的编号,第三行输入。,找出每个子树中叶子到。的路径上的颜色数目,
2024-08-25 10:24:11 730
原创 CF1945H GCD is Greater
剩下的情况 按位与 确定。我们需要在被 ban 掉的位置对之外找到。我们只选两个数,因为选多了会让。上述需要特判的位置对至多只有。集合中所有元素的按位与加。,用调和的复杂度求出元素为。以及被 ban 掉的个数。首先我们可以确定的是对于。变小,同时让按位与增大。,给出方案或判断无解。
2024-08-22 23:21:17 662
原创 CF1945G Cook and Porridge
对于每个测试用例,输出每个学童至少吃一次粥的最小分钟数。他的人站在他后面,换句话说,这个人最终站的位置的后面所有的人的优先程度都小于他,这个人。增加的同时遍历原数组,对于每个即将归队的学生记录在册,如果遍历到原数组中第。的一个人打一碗粥,随后这个人离开队伍去喝粥。从时间复杂度上来说,如果每分钟所做操作的时间复杂度不超过。,我们可以考虑模拟思想,一分钟一分钟的走完这个过程。)——测试用例的数量。接下来是测试用例的描述。同样,可以保证所有输入数据集的。分钟,对于每一分钟,他会给排在。的算法,时间复杂度上可行。
2024-08-22 19:58:40 782
原创 CF1929F
首先我们可以想到二叉搜索树的性质:中序遍历整个二叉搜索树得到它的序列,这个序列是不减的,即对于。个点二叉搜索树的形态与一些点的权值;问有多少种填剩余点的点权的方法,使得所有点的点权都。在第二个测试用例中,所有顶点的值都是已知的,因此只有一个合适的二叉搜索树。对于每个测试用例,输出一个整数——合适的二叉搜索树的个数对。定义一棵二叉搜索树满足,点有点权,左儿子的点权。)——分别是左子节点的个数、右子节点的个数和。)——测试用例的数量。)——树中的顶点数和顶点上允许的最大值。根节点的点权,右儿子的点权。
2024-08-21 18:01:26 985
原创 CF1743E FTL
每一次攻击可以是一艘飞船单独攻击,也可以是两艘飞船同时攻击(当一艘飞船完成充能后,可以等待另一艘飞船充能,然后再一起攻击)。两艘飞船一起攻击的攻击力为。 表示通过若干次若干单发 + 双炮连发的连续组合使敌方耐久度减少。 表示通过若干单发 + 最后恰好一次双炮连发使敌方耐久度减少。打败敌方飞船的条件是使得敌方飞船的血量小于等于。,求出最少需要多少时间能够打败敌方飞船。现在要打败敌方飞船,敌方飞船的血量为。的攻击,敌方飞船的血量会减少。,每一次攻击的充能时间为。,一开始两艘飞船没有充能。
2024-08-19 19:15:34 545
原创 洛谷 P3369 【模板】普通平衡树
的空间,每个下标对应的值表示当前值在数组内有几个,对其进行更新,查询排名时二分查找即可。大的数,这可以用树状数组来解决,实现与平衡树相同的功能,由于。总结这题需要实现的功能基本就是实时更改数组并能 找到数组中第。每行输出一个数,表示对应答案。,表示操作的个数,下面。对于操作 3,5,6,当前数据结构中存在数。
2024-08-12 19:00:00 329
原创 洛谷P3919 【模板】可持久化线段树 1(可持久化数组)
此外,每进行一次操作(对于操作2,即为生成一个完全一样的版本,不作任何改动),就会生成一个新的版本。版本编号即为当前操作的编号(从1开始编号,版本0表示初始状态数组)我们发现修改箭头所指的值时,只有黄线标记的节点受到了影响,这些点的数量为。如题,你需要维护这样的一个长度为 N 的数组,支持如下几种操作。,只需每次对这些节点进行复制,其他未修改的点保留指向即可。个整数,依次为初始状态下数组各位的值(依次为。的值,注意:生成一样版本的对象应为。, 分别表示数组的长度和操作的个数。
2024-08-07 17:27:59 527 1
原创 Codeforces 292C. Beautiful IP Addresses
在给出的问题中,任意一组四个 8 位整数就是一个正确的 IP 地址。不妨枚举构造的ip总位数(点(.)不算),不难发现我们至少要从4位开始枚举,才能得到一个正确的ip地址,并且一个回文ip至少有2 * (n - 1)位,则从max(4, 2 * (n - 1))位开始枚举。对于每个确定的位数,dfs枚举ip的每一位(这里实际上枚举了位数的一半,因为这样ip对称到另一半就可以确保回文,省去一个检查项),然后再dfs随机加点,最后check是否符合。在接下来的 k 行中,按任意顺序每行打印一个 IP 地址。
2024-03-03 16:51:58 499
原创 Codeforces 1110E.Magic Stones
格里高利很好奇,是否存在一串零或更多的同步操作,可以将格里高利的棋子的电荷转换成相应的安德鲁的棋子的电荷,也就是将所有。在此之后,被选中的棋子会失去自己的电荷,但会获得邻近棋子的电荷。如果存在一个同步操作序列(可能是空),可以将所有费用改为所需的费用,则打印 “是”。特判:c的开头和结尾都是不能改变的,要保证yes前提条件是c头=t头,c尾=t尾。发现如果t是c的差分数组的一个排列那么Yes,否则No。( 2≤n≤1e5) - 魔法石的数量。第二行包含整数 c1,c2,…第二行包含整数 t1,t2,…
2024-02-23 10:11:58 777
原创 CF1931F Chat Screenshots题解
这里选择用有向图来记录相对顺序,入度指向相对靠前的元素,表示一种顺序,检验时只需要判断图中是否存在环即可(如。那么我们不妨记录每张截图所给的相对顺序信息,最后再进行检验,看是否有矛盾之处。张截图,我们能够从每张截图得到的信息就是除第一个元素外其他元素的相对顺序。是否被提到数列前对于其他元素的相对顺序是没有任何影响的,我们可以得出。之前(但不一定相邻)的相对顺序,这是符合答案的。,出现环,相对顺序有矛盾之处,可知不存在答案)举个例子:假如答案之一为。之前(但不一定相邻),
2024-02-19 17:30:38 1367
原创 Codeforces Round 189(Div. 2) 320D.Psychos in a Line
个人死亡时间(特别地我们认为始终无法被杀死的人在0时刻就死了),一个人如果想被杀死就需要向左找到第一个比它更大的数,暗合单调栈的思想,对于左边第一个就是比它更大的数的人在1时刻会被杀死,否则会在它与左边第一个更大数之间所有位置中最大时刻+1时刻被杀死(解释:因为只能杀相邻的人,这个人只能等到左边第一个更大数和它相邻后才会在下一时刻死亡,相邻的所需时间就是更大数杀光它们之间所有人的时间,而击杀的时刻就是在此基础上+1)在每一步中,每个id 大于其右边的心理学家(如果存在)的心理学家都会杀死队伍中右边的邻居。
2024-02-12 20:19:54 1604
原创 Codeforces Round 392 (Div. 2), problem: (D) Ability To Convert
我们假设n=13,如56、12、19、87这样的数我们统称为AB形式,显然有AB (实际计算中是10A + B)* 13^0 < A * 13^1 + B * 13^0,那么我们可以确定一个贪心思路就是尽可能累积到足够大的数再乘以当前位的base转十进制。亚历山大正在学习如何把十进制数字转换成其他进制,但是他不懂英文字母,所以他只是把数值按照十进制数字的方式写出来。亚历山大记着他总是用较小的数字工作,所以他需要找到在 n 进制的基础下,用他的转换系统得出数字 k 的最小十进制数。1+11·16^0)。
2024-02-10 14:56:02 343
原创 Codeforces 725D. Contest Balloons
这样我们得到了每一步的最优做法:尝试放飞名次比自己靠前的,同时我们想让自己气球数下降的尽可能少以保持名次,则优先放飞所需放飞气球数少的队(使用优先队列使其在堆中上浮)。每次放飞后我们立刻查询自己当前的名次,更新最好名次,单次查询O(n)则必然超时,不妨排序后使用二分查找单次查询O(logn),更新最好名次后再更新优先队列,单次更新O(logn),最多更新n次,总时间复杂度O(nlogn),可以AC。Limak 是第一队的成员。如果一队的气球数大于该队的重量,该队就会开始和他们的工作台一起漂浮在空中。
2024-02-04 11:26:50 365
原创 洛谷 P4391 [BOI2009] Radio Transmission 无线传输
注意时间复杂度=O(n+n/2+n/3+…+1)≈O(n * ln n)从长度为1开始枚举,直到找到一个可行的解。
2024-02-01 22:15:16 500
原创 CF1364C Ehab and Prefix MEXs
给出一个长度为 n 的序列 A,你需要找到一个长度为 n 的序列 B,满足 Ai=mex({B1,B2,…突然发现a数组最大为1e5而b数组最大为1e6,则1e5到1e6中间任何一个数都必然不会在a中出现,可以作为占位数。否则输出一行 n 个整数表示你找到的 B,若有多个满足条件的序列,输出任意一个。保证 1≤n≤10^5,0≤ai≤i,对于 1≤i
2024-02-01 15:31:48 354
原创 在《植物大战僵尸》中入门CE(Cheat Engine)
CE修改植物大战僵尸的各种数值前言(Preface)准备工作简单了解汇编语言实战(Exercise)1.修改阳光合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowch...
2024-02-01 15:27:03 2578
原创 Codeforces 1207F Remainder Problem
没有预处理,直接暴力,时间复杂度为O(q * n / x);预处理时间复杂度O(nx),每次O(1)回答,O(x)修改,总时间复杂度O(nx),使用根号分治,当x 707时使用暴力算法解决,避免超时,本题得解。类型的查询打印一个整数–答案。行,每行描述一个查询。可以保证至少有一个查询属于。中的所有元素都为零。你能处理所有的查询吗?
2024-01-31 18:50:25 837
原创 洛谷P1872 回文串计数
然而,他很快发现这并不能满足他热爱背诵的心,但是作为一名强大的 OIER,他找到了这么一个方法——背诵基因序列。对于一个开头i结尾j的回文串,它能贡献的四元组数量为开头k(k > j)的回文串数量,则我们在记录回文串的过程中顺便记录某点起始的回文串数量,再逆向dp得到某点之后的回文串数量,本题得解。为了快速找出字符串中的子字符串,进行字符串哈希预处理(前缀哈希与后缀哈希),由于数据量不是很大,枚举可能的开头i,结尾j,如果为回文串则记录。仅一行,为一个整数,表示互不相关的回文串的对数。
2024-01-31 00:26:49 451
原创 Codeforces 322C
第一行包含两个整数 a 和 b , ( - 109 ≤ a, b ≤ 109 )。第二行包含字符串 s ( 1 ≤ |s| ≤ 100 、 s 只包含字符’U’、‘D’、‘L’、‘R’)–命令。假设能到a b,其实是经过了k次s变换后又经过了部分s变化,我们只需要枚举在最后一步中经历了s的前i次变换,从(a, b)逆推回去得到一点,然后只要看是否经历k次完整变换能到达这个点即可。机器人将从左到右执行 s 中的操作,并无限次重复。如果机器人将位于 (a, b) ,则打印"是",否则打印"否"。
2024-01-28 21:27:11 358 1
原创 Codeforces 549C 题解
个偶数和仍为偶数,可以知道Daenerys和Stannis的争夺焦点是在奇数,因为k个奇数相加,若k=2n+1(n = 1,2,3,4,…)即k为奇数则结果为奇数,若k=2n(n = 1,2,3,4,…预言中说,如果存活居民的总数是双数,那么丹妮莉丝获胜:史坦尼斯被斩首,丹妮莉丝登上铁王座。如果幸存居民总数为奇数,则史坦尼斯获胜,一切走向完全相反。简而言之,给定数组a,Daenerys的目标是让数组和为偶数,Stannis的目标是让数组和为奇数,俩人轮流操作,每次可以删除数组中一个数。
2024-01-28 10:30:18 384
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人