算法题解
文章平均质量分 68
算法题解
特别萌新的小白
这个作者很懒,什么都没留下…
展开
-
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 · 348 阅读 · 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 · 491 阅读 · 0 评论 -
洛谷 P4391 [BOI2009] Radio Transmission 无线传输
注意时间复杂度=O(n+n/2+n/3+…+1)≈O(n * ln n)从长度为1开始枚举,直到找到一个可行的解。原创 2024-02-01 22:15:16 · 485 阅读 · 0 评论 -
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 · 770 阅读 · 0 评论 -
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 · 340 阅读 · 0 评论 -
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 · 350 阅读 · 0 评论 -
CF1931F Chat Screenshots题解
这里选择用有向图来记录相对顺序,入度指向相对靠前的元素,表示一种顺序,检验时只需要判断图中是否存在环即可(如。那么我们不妨记录每张截图所给的相对顺序信息,最后再进行检验,看是否有矛盾之处。张截图,我们能够从每张截图得到的信息就是除第一个元素外其他元素的相对顺序。是否被提到数列前对于其他元素的相对顺序是没有任何影响的,我们可以得出。之前(但不一定相邻)的相对顺序,这是符合答案的。,出现环,相对顺序有矛盾之处,可知不存在答案)举个例子:假如答案之一为。之前(但不一定相邻),原创 2024-02-19 17:30:38 · 1336 阅读 · 0 评论 -
Codeforces Round 189(Div. 2) 320D.Psychos in a Line
个人死亡时间(特别地我们认为始终无法被杀死的人在0时刻就死了),一个人如果想被杀死就需要向左找到第一个比它更大的数,暗合单调栈的思想,对于左边第一个就是比它更大的数的人在1时刻会被杀死,否则会在它与左边第一个更大数之间所有位置中最大时刻+1时刻被杀死(解释:因为只能杀相邻的人,这个人只能等到左边第一个更大数和它相邻后才会在下一时刻死亡,相邻的所需时间就是更大数杀光它们之间所有人的时间,而击杀的时刻就是在此基础上+1)在每一步中,每个id 大于其右边的心理学家(如果存在)的心理学家都会杀死队伍中右边的邻居。原创 2024-02-12 20:19:54 · 1582 阅读 · 0 评论 -
Codeforces 409F000001
输入a(1原创 2024-02-23 10:26:15 · 390 阅读 · 0 评论 -
洛谷P1872 回文串计数
然而,他很快发现这并不能满足他热爱背诵的心,但是作为一名强大的 OIER,他找到了这么一个方法——背诵基因序列。对于一个开头i结尾j的回文串,它能贡献的四元组数量为开头k(k > j)的回文串数量,则我们在记录回文串的过程中顺便记录某点起始的回文串数量,再逆向dp得到某点之后的回文串数量,本题得解。为了快速找出字符串中的子字符串,进行字符串哈希预处理(前缀哈希与后缀哈希),由于数据量不是很大,枚举可能的开头i,结尾j,如果为回文串则记录。仅一行,为一个整数,表示互不相关的回文串的对数。原创 2024-01-31 00:26:49 · 444 阅读 · 0 评论 -
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 · 378 阅读 · 0 评论 -
Codeforces 1207F Remainder Problem
没有预处理,直接暴力,时间复杂度为O(q * n / x);预处理时间复杂度O(nx),每次O(1)回答,O(x)修改,总时间复杂度O(nx),使用根号分治,当x 707时使用暴力算法解决,避免超时,本题得解。类型的查询打印一个整数–答案。行,每行描述一个查询。可以保证至少有一个查询属于。中的所有元素都为零。你能处理所有的查询吗?原创 2024-01-31 18:50:25 · 830 阅读 · 0 评论 -
Codeforces 725D. Contest Balloons
这样我们得到了每一步的最优做法:尝试放飞名次比自己靠前的,同时我们想让自己气球数下降的尽可能少以保持名次,则优先放飞所需放飞气球数少的队(使用优先队列使其在堆中上浮)。每次放飞后我们立刻查询自己当前的名次,更新最好名次,单次查询O(n)则必然超时,不妨排序后使用二分查找单次查询O(logn),更新最好名次后再更新优先队列,单次更新O(logn),最多更新n次,总时间复杂度O(nlogn),可以AC。Limak 是第一队的成员。如果一队的气球数大于该队的重量,该队就会开始和他们的工作台一起漂浮在空中。原创 2024-02-04 11:26:50 · 356 阅读 · 0 评论