![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CodeForces
文章平均质量分 55
CodeForces
Forwhy_
这个作者很懒,什么都没留下…
展开
-
[CF-EDU]Segment Tree - part 1 - Step 1 - Practice
练习名称:ITMO Academy: pilot course » Segment Tree, part 1 » Step 1 » Practice, cf官方的线段树专题练习。原创 2022-12-28 17:04:59 · 465 阅读 · 0 评论 -
[CF-EDU]Segment Tree - part 1 - Step 2 - Practice
练习名称:ITMO Academy: pilot course » Segment Tree。原创 2022-12-29 18:58:54 · 635 阅读 · 0 评论 -
CodeForces1143B.Nirvana
给你一个正整数n,现在请你求出f(1),f(2)...f(n)中的最大值 .设f(i)表示i的每一位数字的乘积,如f(234)=2*3*4=24.每次取出末位递归前几位的最大值。题目:Nirvana。爆搜就是暴力美学>?原创 2022-12-19 21:06:15 · 162 阅读 · 0 评论 -
CodeForces204A. Little Elephant and Interval
暴力递归:把每位拆开与该位数字1-9比大小取最大。题意:问某区间内首位和末位相等的数的数量。原创 2022-12-19 22:13:44 · 226 阅读 · 0 评论 -
CodeForces 939C Convenient For Everybody(前缀和+滑动窗口)
In distant future on Earth day lasts for n hours and that's why there are n timezones. Local times in adjacent timezones differ by one hour. For describing local time, hours numbers from 1 to n are used, i.e. there is no time "0 hours", instead of it "n原创 2022-06-13 11:30:58 · 212 阅读 · 1 评论 -
CodeForces 1707A Doremy‘s IQ
给你一个序列序列上每个元素的值代表比赛的难度,然后你从左到右可以选择参加或者不参加。然后你有一个智商值,在这个序列里如果当前比赛难度小于等于你的智商就无影响,否则智商值减1,如果智商变成了 0 就无法操作。:可以逆向思维,倒着考虑这个序列,那么问题就转化为开始的智商为0,如果比赛难度大于智商就可以选择+1通过这个比赛,智商最高就为q,那么根据思路模拟一遍代码就可以了。要你最大化参加比赛的次数,并构造方案。......原创 2022-08-05 18:10:15 · 169 阅读 · 0 评论 -
CodeForces 1709C Recover an RBS
通过计数的方式来进行括号的匹配,最后sum就代表没被匹配的且确定的左括号或者说最少要有的左括号,那么剩下的cnt就当做')'与未匹配的进行匹配,所以最后从cnt = sum 就是得到的答案。给出一个合法的括号序列然后把其中一些位置变为?,问是否存在多种填法使得填出的序列是个合法且独一无二的括号序列。1.遇到'(',sum++;2.遇到),sum--;,问号数数量存储cnt++;......原创 2022-08-07 21:33:15 · 184 阅读 · 1 评论 -
CodeForces 1003B Binary String Constructing
给你 3 个整数 a ,b ,x ,让你求出一个包含了 a 个 0,b 个 1 的二进制串 s。,思考易得在[0~x]中交替填入1和0刚好能有x对,那么剩下的0和1分别在位置0和位置1上填入 并不会影响。对数,那么怎么完成01交替填入呢,很简单通过奇偶性来填就能实现了。的对数正好等于 x。...原创 2022-08-09 16:51:55 · 83 阅读 · 0 评论 -
2022.12.9-CodeForces429B-Working out
的最大权值和,但是无法保证去掉一个交点的权值和是最大的,所以我们只能选择从更优的解决方案,即:左上角到交点,右上角到交点,右下角到交点,左下角到交点这样算到的值才是最优的如下图。找出两条路径,在满足上述要求的情况下,使得路径经过的点除交点外的权值之和尽量大,输出这一最大值。最后的答案我们可以看到上下左右,但上既可能是从左上角来的也可能是从右上角来的所以要分别更新。首先我们模拟一个假设该路线就是最优解如下图。这样算到的可以证明的是我们最后的总和满足。这样我们去写这道题按正常的思路,更新。原创 2022-12-09 23:17:09 · 668 阅读 · 0 评论 -
CodeForces 1702E Split Into Two Sets(并查集)
其实完全可以不用想怎么分组,用并查集将每一个数对{x,y}中的x,y放在一个连通块中,那么不成立的情况就分为:1.数对{x,y}中存在x==y,2.如果某一个数出现两次以上,3.连通块中的个数是奇数。(当然前提都是数对全部输入完毕)数对中的每个数字都是从 1 到 n 的。现在问是否能将这些数对分到两个集合中。正确地分配这些数对:第一个集合包含数对 {1,4} 和 {3,2}。第二个包含 {1,3} 和 {4,2}。例如有下面这四个数对:{1,4},{1,3},{3,2},{4,2}。...原创 2022-08-05 18:39:22 · 264 阅读 · 1 评论 -
CodeForces 126B Password (KMP)
题意: 给定字符串S,找到既是S的前缀又是S的后缀同时又在S中间出现过的最长子串T。思路:一眼KMP! 首先要找到一个既是S前缀又是S后缀的最长子串,用KMP的next数组即可求出,重点就是怎么找位于中间位置的子串T 。如果在中间的子串 T 以 S[i]为结尾,那么 T 就是 S[1..i]的公共前后缀。既然是公共前后缀,就可以再次使用 KMP。 又因为中间的子串 T 的结尾只可能在 [2...n-1]之间,所以子串最后的长度就不会超过 max(next[2..n-1])。我们把这个最大值记作nemax原创 2022-06-05 10:37:08 · 628 阅读 · 9 评论 -
Codeforces Round #841 (Div. 2) and Divide by Zero 2022 (A~D)
比赛名称:Codeforces Round #841 (Div. 2) and Divide by Zero 2022。原创 2022-12-28 13:37:49 · 492 阅读 · 0 评论 -
2022.11.28.CodeForces - 540C-Ice Cave
嗯这道题很容易就想到bfs但其实dfs更简单点,其实题意再转化是要至少经过一次终点(因为如果终点是'.',那么需要经过终点一次使'.'变'X'再到终点才能从该点顺利掉下去,这不大不小的数据范围也不必担心爆栈问题,那么直接去递归就好了。题意:在一个 n×m 的网格中,有些格子是完整的冰块,有些是破碎的冰块。如果你在碎冰上,你会掉下去。现在你在 (r1,c1) 上,保证该位置是一块碎冰。bfs做法,这个做法就比较好想,要注意的是开一个数组来记录每个冰块的状态,以此来保证走至少走两遍终点;原创 2022-11-30 17:15:53 · 184 阅读 · 0 评论 -
2022.11.18 CodeForces1553D Backspace
看到这题第一反应是不能正着去处理,因为会比较繁琐,所以倒着去把它做成匹配字符串的题,将每个字母si与tj从右到左进行比较,如果它们匹配,那就接着让si-1与tj-1进行比较,如果它们匹配不成功,就删除si和si-1(也就是模拟替换退格的操作),然后在下一步将si-2与tj进行比较,依此类推。所有字符匹配成功则说明是YES否则是NO。给你两个字符串 S,T,问你能否通过将 S 中的若干个数换成退格来使其变成 T (通俗地讲就是删掉两个连续的字符)。能删去前一个输入的字符。原创 2022-11-18 21:28:09 · 261 阅读 · 0 评论 -
2022.11.11 CodeForces1324D Pair of Topics
思路:我们对这个式子整理0>(bi-ai)+(bj-aj),所以我们可以选择双指针或二分去搜答案,那么这里我们可以思考一下,怎么去二分得到答案呢?很显然,我们二分选择搜bi-ai,那么最大的bj-ai=-(bi-ai),lower_bound去搜索即可。题意:数组a和b中,有几个ai+aj>bi+bj。原创 2022-11-12 00:28:26 · 368 阅读 · 0 评论 -
CodeForces 1714G Path Prefixes
它包含 n 个顶点,从 1 到 n 编号。每条边都有两个权值A[i],B[i],从1开始到点 u (2 ≤ u ≤ n)路径中的所有边的权重A[i]之和。从1开始到点 v (2 ≤ v ≤ u)路径中的所有边的权重B[i]之和,求出每一个点u对应v的最大深度。那么剩下的就简单了,我们只需要快速找到路径前缀上的权重B[i]的和。,并将当前路径的前缀总和存储在堆栈中:转到顶点,将总和添加到路径的末尾,以防万一在退出时将其删除。首先所有的权重B[i]都是。...原创 2022-08-05 19:18:34 · 362 阅读 · 0 评论