CodeForces
Educational Codeforces Round 157 (Rated for Div. 2)
A. Treasure Chest 分类讨论一下,只有两种情况。 走到钥匙处,然后走到箱子处 走到箱子处,移动箱子,走到钥匙处,走回箱子处 对于第二种情况可以直接枚举箱子被移动到的位置 #include <bits/stdc++.h> using namespace std; #define int ......
Educational Codeforces Round 157 (Rated for Div. 2) D. XOR Construction
题目链接 题意 给你 \(n-1\) 个整数 \(a_1, a_2, \dots, a_{n-1}\) 。 你的任务是构造一个数组 \(b_1, b_2, \dots, b_n\) ,使得: 从 \(0\) 到 \(n-1\) 的每个整数都在 \(b\) 中出现一次; 对于从 \(1\) 到 \(n ......
Codeforces Round 855 (Div. 3) G. Symmetree AHU树哈希
(https://codeforces.com/contest/1800/problem/G) 题目如下: 大意是:给定一颗以1为根节点的树,然后判断这棵树是不是对称的。这里使用AHU算法进行树哈希,在递归的时候对每一个子节点为根的子树求出一个编号,然后在map里面记录。通过判断子树的编号是否一样来 ......
Codeforces Round 906 (Div. 2) Doremy's Drying Plan E1.&E2
传送门 先考虑\(E1\) 只需要删除两条线使得不被覆盖的点数最多。 观察到点数只有\(200000\) 那么我们完全可以先将被至少\(3\)条线覆盖的点删掉。 考虑枚举一条线,枚举这条线覆盖的点寻找另外一条线覆盖这些点中的最大值,然后再找没覆盖这些点之外的线的最大值即可。 复杂度容易证明是线性的。 ......
CodeForces 1060G Balls and Pockets
洛谷传送门 CF 传送门 NOIP 模拟赛 T2。很厉害的题。 想象数轴上 \(a_1, a_2, \ldots, a_n\) 位置上各有一个洞,每个非负整数位置上有一个点。 每次操作相当于,对于每个点,如果它刚好位于一个洞,那么它会掉进去;否则设它的位置为 \(p\),位置在它前面的洞有 \(t\ ......
Educational Codeforces Round 134 (Div.2) D 题解
题目链接 D. Maximum AND 题目大意 给定两组序列 \(a\) \(b\),长度为 \(n\) ,现有一新序列 \(c\),长度也为 \(n\) 。 其中,\(c_i = a_i \oplus b_i\) 。 定义 \(f(a,b) = c_1\&c_2\&……\&c_n\)。 现在你可 ......
Educational Codeforces Round 128 (Rated for Div. 2)
添加链接描述 C题显然二分0的数量,然后双指针,算一下前缀和后缀1的数量即可。 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<map> #include<vector> #include ......
Codeforces Round 906 (Div. 2)
Codeforces Round 906 (Div. 2) 比赛链接 A. Doremy's Paint 3 题目链接 判断给定的数组是不是满足a1+a2=a2+a3=a3+a4=......=an-1+an A思路: 这个题一开始没有读仔细问题,导致一时间出错了,后来读清楚问题之后发现其实这个数组 ......
Codeforces Round 907 (Div. 2) B. Deja Vu(二分+后缀和+位运算)
Codeforces Round 907 (Div. 2) B. Deja Vu 思路: 预处理31位的 \(2^x\) 存在\(tmp_i\) 对于输入\(a_i\),通过查找最后一个二进制1位置,存在\(x0_i\) 由题意可知,对于输入的\(x\),如果有\(a_i\)可整除\(x\),则会使 ......
ErikTse2023Codeforces思维提升赛(4)
A An array a consisting of k integers is strictly increasing if \(a_{1}<a_{2}<⋯<a_{k}\). For example, the arrays \([1,3,5], [1,2,3,4], [3,5,6]\) are s ......
Codeforces Round 907 (Div. 2)
Codeforces Round 907 (Div. 2) A. Sorting with Twos 题意: 给一个长度为n的数组,可以做任意次以下操作:选择一个整数m,将1-2m 的数减1。若能使数组变为一个单调递增的数组则输出YES,否则输出NO 分析: 只需要保证2m+1 -2m+1单调递增即 ......
Codeforces Round 906 (Div. 2)
Codeforces Round 906 (Div. 2) A. Doremy's Paint 3 解题思路: \(a_1 + a_2 = a_2 + a_3\),所以\(a_1 = a_3\)。以此类推。所以整个序列最多出现两种不同的数字。 \(n = 2\)时,必然存在。 \(n = 3\)时, ......
Educational Codeforces Round 129 (Rated for Div. 2)
Educational Codeforces Round 129 (Rated for Div. 2) B可以看作一个无限长的序列由a进行重复拼接,我们直接计算一下是哪个即可。 C判断无解之后直接模拟即可 D IDA*就行每次从大到小搜,实际非常快。 #include<cstdio> #includ ......
Codeforces Round 906 Div. 1 (CF1889)
貌似现在发周六的 CF 题解已经失去了时效性,不过问题不大。 A. Qingshan Loves Strings 2 Description 定义一个长度为 \(k\) 的 \(01\) 串 \(s\) 是好的,当且仅当 \(\forall i\in [1,k],s_i\neq s_{k-i+1}\ ......
Codeforces Round 907 (Div. 2)
Codeforces Round 907 (Div. 2) B题注意到每次都会至少下降1,所以不会超过30次,直接O(30n)即可 C题感觉可能比D和F还要思维一些。 肯定是尽量多积累combo一些然后一次清空,那么我们能清空的最大值就是当前的最大值,所以每次用小的来累计combo,然后消除当前的最 ......
Codeforces Round#907 解题报告
只更新 DEF 看了一眼standings榜一居然十二分钟写了一个剖分,感觉有点猛,仔细把代码都看了一遍发现是开黑的。逆天。 比上一场 div2 质量不知道低到哪里去了。 D 对于不同的 \(f(x)\) 一段一段求,\(f(x)\) 一共 \(\log\) 种,指数也是 \(\log\) 种。全都 ......
Codeforces Round 906 (Div. 2)A-E1
A. Doremy's Paint 3 记数组中数的种类数为\(k\),当\(k=1\)时,答案为\(yes\);当\(k=2\)时,记两个种类的数的个数差为\(d\),当\(d≤1\)时,答案为\(yes\);其他情况答案为\(no\)。 时间复杂度:\(O(nlogn)\) 1 void sol ......
Codeforces Round 906
tilian 代码很长 但是思路很清新 我们发现k=2 意思我们只用考虑sum[i]<=2的地方 不从天入手而是反而考虑这些个 sum[i]<=2 的地方 sum[i]2 这个地方被两个区间cover过 我们可以算出这两个区间的相交的<=2的数量+这两个区间<=1的数量 sum[i]1 这个地方被一 ......
Codeforces Round 895
提炼 感觉这种题还是很金典的 我们看到乘积 就应该想到其很容易爆 而我们省1的话 也最多就是2e5数量级的 我们为了省事不用算上界 可以直接把这个上界设为1e9 也不会爆LL 只要乘积突破这个上界 我们就肯定要是有旁边的 大于1的数 我们都要吃掉 因为增量都超过了1e9那么多 我们只要算出左右两边 ......
codeforces 1829G. Hits Different 容斥原理+记忆化搜索
题目描述: 给定一个n,把n给打倒,然后递归的求出包含n在内的上面所有的会倒下的瓶子值的平方和。 这里使用二分先求出目前给定的n的行号i和列号j。观察可以发现,对于所有的列号j,j=1或者j=i时,是需要考虑往上单边的总和,其他情况都有两个分支。 再观察可以发现,两个分支在再上一行的重合部分,会被d ......
CodeForces 1246F Cursor Distance
洛谷传送门 CF 传送门 发现一个性质:能跳不超过 \(j\) 步到达 \(i\) 的所有点形成一段区间。设这这段区间为 \([L_{i, j}, R_{i, j}]\)。 那么答案即为: \[\sum\limits_{i = 1}^n \sum\limits_{j = 0} n - R_{i, j ......
Codeforces Round 906 (Div. 2) A-E1
比赛地址 A. Doremy's Paint 3 题意:给出一个数组\(b\),问能否通过重新排序使得数组满足\(b_1+b_2=b_2+b_3=...=b_{n-1}+b_{n}\) Solution 首先判断元素个数 如果是1,则满足条件 如果是2,需判断不同元素个数的差是否小于等于1 其余的均 ......
Codeforces Round 904 (Div. 2) C. Medium Design(前缀和+差分)
Codeforces Round 904 (Div. 2) C. Medium Design 思路: 因为出现的线段应该为不相同的线段,所以最小值应该为 \(1\) 或 \(m\) 因此我们可以通过差分储存线段范围内的加值,再用前缀和表示这个范围内的最大加值 sl为不包含\(1\)的线段的差分,sr ......
CodeForces 1887D Split
洛谷传送门 CF 传送门 \(a_l, a_{l + 1}, \ldots a_r\) 是好的当且仅当 \(\exists k \in [l, r - 1], \max\limits_{i = l}^k a_i < \min\limits_{i = k + 1}^r a_i\),称此时的 \(k\) ......
Codeforces Round#905 解题报告
按理来说最近开始了一天一套 div2 计划,第一天做了一套 Div1,第二天做了 hustfc,第三天因为要赶 latex 期末考试,所以什么也没做。 明天写一下 hustfc 比较牛的几题。 A 暴力怎么做,是不是加加加,然后判断。 B 本质上是让长度为 \(i\) 的后缀全是 \(0\) 那么找 ......
Codeforces Round 904 (Div. 2)
A. 没想到是暴力,做的很晚 B. 手玩一下即可 C. Medium Design 给定一个长为 \(n\) 的数组 \(a\) ,和若干条线段 \([l_i,r_i]\) ,你可以选择这其中的任何若干条线段,并让 \(a_l\sim a_r\) 均 \(+1\).请你计算可以得到的 \(\max( ......
「题解」Codeforces Round 905 (Div. 3)
before 终于有一篇题解是一次性更所有题的了。 A. Morning Problem A. Morning Sol&Code 根据题意模拟即可。 #include <bits/stdc++.h> typedef long long ll; int min(int a, int b) { retu ......
Codeforces Round 905 div2 F题
记答案为\(ans_i\),表示从1到i次修改出现的字典序最小的数组a, \(c\)数组表示\(ans_i\)出现之后,所有修改的累加和。用一个vector存一下\(ans_i\)之后的所有修改。从1到q遍历每一次修改时,对\(c\)数组进行区间赋值操作,如果\(c\)数组中第一个不为0的数<0,那 ......
「解题报告」Codeforces Round 653 (Div. 3)
A. Required Remainder You are given three integers \(x, y\) and \(n\). Your task is to find the maximum integer \(k\) such that \(0 \le k \le n\) that ......
Codeforces Round 905 (Div. 2)
Preface 周日晚上Div1,2,3同乐,但我不想打Div1,同时第三个号由于只打了两场没够到Div2的门槛,因此刚好打不了Div2,遂玩了一晚上LOL 今天补了下这场题感觉难度偏低,E之前的题都比较签,F刚开始没想到转化成差分最小准备去写扫描线+线段树了,后面发现其实可以写的很简单 A. Ch ......