随笔分类 -  CodeForces

 
B. Suffix Operations
摘要:题意:Gildong有一个n个数字的数组a。支持两种操作:1.给一个后缀每个数字增加1 2.给一个后缀每个数字减去1 你可以修改一个数字或者选择不修改,求这个数组每个数字变成一个相等数最少的修改次数。 分析:我们假设最终得到的数字为$b$。 我们考虑如下的四个数字 \(a_{1}, a_{2}, a 阅读全文
posted @ 2020-12-16 22:46 TT3E 阅读(79) 评论(0) 推荐(0)
F. x-prime Substrings(AC自动机 + dp)
摘要:题意:你被给予了一个整数值x还有一个由1~9的数字组成的字符串。 让我们定义$f(l,r)$为$s[l...r]$之间的数字和。 让我们称一个子串$s[l_{1}...r_{1}]$为$x-prime$的,如果 \(f(l_{1}, r_{1}) = x\) 不存在值$l_{2}, r_{2}$使得 阅读全文
posted @ 2020-08-28 14:11 TT3E 阅读(117) 评论(0) 推荐(0)
C. Binary String Reconstruction
摘要:题意:考虑如下的过程。你有一个长度为n的二进制串w还有一个整数x。你构建了一个长度为n的二进制串s。二进制串s的第i个字符串的选择如下: 1.如果$w_$存在并且等于1,那么$s_$则等于1。 2.如果$w_{i+x}$存在并且等于1,那么$s_$则等于1。 3.如果前两种情况都不存在,那么$s_$ 阅读全文
posted @ 2020-08-27 20:44 TT3E 阅读(272) 评论(0) 推荐(0)
E.Divide Square(树状数组/线段树)(扫描线)
摘要:题意:这里有一个$106 \times 106$的平面.你的任务是画一些线段在平面上,所有的线段都是水平的或者垂直的,至少有一侧是挨着平面的边线的.你的任务是数出有多少片被这些线段划分出来. 分析:,我们先把所有水平的线画出来,可以看到当红线继续穿过一根水平线的时候,平面数会增加一个.当然除了这种情 阅读全文
posted @ 2020-08-26 17:04 TT3E 阅读(232) 评论(0) 推荐(0)
D. 505
摘要:题意:一个二进制矩阵是好的,当且仅当所有长度为偶数的矩阵的1的个数为奇数。给定一个n行m列的矩阵a,决定最小要改变的次数,使得这个矩阵变好。 分析:(1 ⇐ n ⇐ m ⇐ 1e6并且n * m ⇐ 1e6),输入范围的m >= n。我们先考虑长度为2的子矩阵,4个2 * 2的子矩阵可以拼成一个4 阅读全文
posted @ 2020-08-13 12:59 TT3E 阅读(351) 评论(0) 推荐(0)
C. Cyclic Permutations
摘要:题意:给定一个序列,我们根据这个序列来建立一张n个节点的图如下: 1.对于1 ⇐ i ⇐ n,我们找到一个最大的j,满足1 ⇐ j < i并且pj > pi,在节点i和节点j之间连一条边 2.对于1 ⇐ i ⇐ n,我们找到一个最小的j,满足i < j ⇐ n并且pj > pi,在节点i和节点j之间 阅读全文
posted @ 2020-08-10 11:20 TT3E 阅读(509) 评论(0) 推荐(1)
A. Suborrays(鸽巢原理)
摘要:题意:给定一个序列,包含n个元素,每个元素都是[1, n]中唯一的元素。求是否存在一个序列满足,对于任意的(1 ⇐ i ⇐ j ⇐ n),[i, j]中的每个数异或起来大于j - i + 1,即这个区间的长度。 分析:一个事实:\(p_{i}orp_{i+1}orp_{i+2}\dots>=max( 阅读全文
posted @ 2020-08-10 08:55 TT3E 阅读(306) 评论(0) 推荐(0)
D. GameGame(博弈论)
摘要:题意:Koa the Koala和她的好朋友一起去玩游戏。这个游戏由n个非负的整数组成,Koa还有她的好友轮流玩这个游戏并且每个人都有一个初始分数0。让我们描述这个操作的每一步: 1.选择一个数字并且异或到自己的分数上。 如果两个人最后得到的分数一样,那么就是平局,否则分值最大的胜利。Koa先手。 阅读全文
posted @ 2020-08-06 13:31 TT3E 阅读(230) 评论(0) 推荐(0)
D. Binary String To Subsequences(队列)(贪心)
摘要:题意:你被给予了一个二进制字符串包含n个零和n个一。你的任务是分割这个字符串为最小的数量的子串,使得这些子串为'010101...'或者'101010...',输出每个字符属于的字符串编号。 分析:一开始想的是,字符个数为o(n),应该是一个线性的时间复杂度或者是o(nlogn)的时间复杂度,如果当 阅读全文
posted @ 2020-08-06 08:23 TT3E 阅读(587) 评论(0) 推荐(0)
CodeForces 1384B2. Koa and the Beach (Hard Version)(贪心)
摘要:题意:沙滩从左往右由海岸线,n米的海和一个在n+1的点的岛组成。一个人测量了从海岸线$1,2,\dots,n$米到岛屿的海的深度,并保存在$d$数组中,这个海有潮汐,潮汐的强度取决于参数$k$,参数$k$影响了海的深度,对于从时间$t = 0$开始,先k秒,每一秒,潮汐导致所有的深度+1,然后再k秒 阅读全文
posted @ 2020-07-27 17:02 TT3E 阅读(234) 评论(0) 推荐(0)
CodeForces 1384B1. Koa and the Beach (Easy Version)(搜索)
摘要:题意:沙滩从左往右由海岸线,n米的海和一个在n+1的点的岛组成。一个人测量了从海岸线$1,2,\dots,n$米到岛屿的海的深度,并保存在$d$数组中,这个海有潮汐,潮汐的强度取决于参数$k$,参数$k$影响了海的深度,对于从时间$t = 0$开始,先k秒,每一秒,潮汐导致所有的深度+1,然后再k秒 阅读全文
posted @ 2020-07-27 10:16 TT3E 阅读(226) 评论(0) 推荐(0)
CodeForces 1384C. String Transformation 1(贪心)(并查集)
摘要:题意:一个人有两个字符串A和B,两个字符串具有相同的长度n$(|A| = |B| = n)$,包含前20个小写字符('a'到't')。每一次操作,这个人可以选择A字符串中字符相同的字母,然后从中选择一些位置,并把这些位置的字母变大。求字符串A变到字符串B的最少操作次数。 分析:我们可以贪心地进行操作 阅读全文
posted @ 2020-07-26 20:15 TT3E 阅读(265) 评论(0) 推荐(0)
CodeForces 1384A. Common Prefixes
摘要:题意:字符串s和t的最长公共前缀(lcp)被定义为最大的整数k(0 ⇐ k ⇐ min(n, m)),使得s1s2...sk等于t1t2...tk。一个人一开始有n + 1个字符串s1s2...sn+1,对于i(1 ⇐ i ⇐ n),这个人计算了ai si和si+1的最长公共前缀。现在给定a1a2. 阅读全文
posted @ 2020-07-26 19:08 TT3E 阅读(127) 评论(0) 推荐(0)
CodeForces 486D.Valid Sets(树形DP)
摘要:题意:给出一个n个节点的连通图,问有多少个子集,使得子集中节点的最大值减最小值的差值不大于d。子集不得为空,子集需要是一个连通图。 分析:第一行d,n。\((0 <= d <= 2000, 1 <= n <= 2000)\)。第二行n个数字ai表示每个节点的权值$(1 ⇐ ai ⇐ 2000)。$我 阅读全文
posted @ 2020-07-16 10:57 TT3E 阅读(127) 评论(0) 推荐(0)
CodeForces 446B. DZY Loves Modification(优先队列)(状态生成)
摘要:题意:据我们所知,DZY喜欢玩游戏,一天DZY决定去玩一个$n * m$的矩阵。为了更加精准,他决定去修改这个矩阵k次。每次修改是如下的两个操作: 1.选择矩阵中的一行,获得这一行中的数,将这一行上的每一个数减去p。 2.选择矩阵中的一列,获得这一列中的数,将这一列上的每一个数减去p。 分析:经典题 阅读全文
posted @ 2020-07-16 10:01 TT3E 阅读(147) 评论(0) 推荐(0)
CodeForces 524E. Rooks and Rectangles(线段树)(排序解决偏序)
摘要:题意:给出一张地图,一个n * m的方格图。 给出K个监督者的位置,每个监督者可以监视他所处的行和列上的每一格位置。 一个区域被认为是安全的,当且仅当区域中的每一个方格都被监督者监视着。(区域外的监督者无法监视这个区域中的方格) 现在你需要回答q次询问。 每次询问包含四个数字x1 y1 x2 y2表 阅读全文
posted @ 2020-07-15 23:14 TT3E 阅读(145) 评论(0) 推荐(0)
CodeForces 448C. Painting Fence(搜索)
摘要:题意:游戏共有两种操作 操作1,将其中一列的格子全部消除 操作2,选择一个连续的区间,在这个区间里,\(不存在某一列为空(已经被消除)\),然后让这个区间的每一列都消除一格。 两种操作花费都为1。 现在给出游戏初始的样子,请你计算通过这个游戏的最小花费。 分析:搜索做,对于一个区间来说,如果横着减去 阅读全文
posted @ 2020-07-15 18:40 TT3E 阅读(92) 评论(0) 推荐(0)
CodeForces 446A. DZY Loves Sequences(最长上升子序列)
摘要:题意:给定一个长度为n的序列,可以修改任何一个字符,求修改后最长的单调严格上升子序列(必须是连续的)。 分析:\((1 <= n < 10^5)\),数据范围很大,不能使用$o(n^2)$的算法。所以我们可以从线性角度考虑,一种常见的套路是枚举修改点,然后求最大值。我们只需要分别求出两端的情况即可, 阅读全文
posted @ 2020-07-15 18:09 TT3E 阅读(153) 评论(0) 推荐(0)
CodeForces - 456 B. Fedya and Maths(找规律)
摘要:题意:请你输出$(1n + 2n + 3n + 4n) % 5$的结果。\(n(0 <= n <= 10^{100000})\)。 分析:一个数能否被4整除,只需要看最后两位,因为任何一个数都能化成$a * 100 + b$的形式,因为$100$能被4整除,所以只需要看b能否被4整除即可。这道题可以 阅读全文
posted @ 2020-07-15 17:55 TT3E 阅读(114) 评论(0) 推荐(0)
CodeForces 665E. Beautiful Subarrays(字典树)(贪心)(异或前缀和)
摘要:题意:给定一个长度为n(1 ⇐ n ⇐ 1e6)的数组a[i](0 ⇐ a[i] ⇐ 1e9)和k(1 ⇐ k ⇐ 1e9)。求有多少个区间[l, r]是合法的。我们认为一个区间是合法的,当且仅当$a[l]\oplus a[l + 1]\oplus a[l + 2] \oplus ... a[r] 阅读全文
posted @ 2020-07-11 19:53 TT3E 阅读(131) 评论(0) 推荐(0)