题解1328e cf

(持续更新)CF赛后失误总结

## 在CF上比赛中反映出的问题总结 [toc] ### 总是存在的问题: 总想把前面的做对,浪费了宝贵的时间AC后面的 ### Educational Codeforces Round 154(8.31) #### 结果(+164) 在比赛中,前面两道题25分钟结束,但是第三题怎么也写不对,能力不 ......

题解 正妹吃月饼

[题目链接](https://www.luogu.com.cn/problem/P2431) 由于每个质量的月饼只有一个,并且质量恰好是2的整数倍,所以考虑将一个质量看成一个二进制位。 那么也就是说,我们要构造一个二进制数 $x$,使得 $x$ 的 $1$ 的个数最多,且满足 $a\le x \le ......
题解 月饼

CF797F Mice and Holes 题解

## Description 有一天 Masha 回到家,发现有 $n$ 只老鼠在它公寓的走廊上,她大声呼叫,所以老鼠们都跑进了走廊的洞中。 这个走廊可以用一个数轴来表示,上面有 $n$ 只老鼠和 $m$ 个老鼠洞。第 $i$ 只老鼠有一个坐标 $x_i$ ,第 $j$ 个洞有一个坐标 $y_j$ ......
题解 Holes 797F Mice 797

牛客小白月赛77 C题解 | 小Why的商品归位

[原题链接](https://ac.nowcoder.com/acm/contest/64384/C) 先不考虑车子的容量问题,因为结束位置保证是在起始位置之后的,那我们从前往后扫,发现是可以知道每个点时的车内的商品。 但是现在有了容量限制,我们怎么办呢,如果对于一段,k 都是大于每个点的货物量时, ......
题解 商品 Why

CF1626F A Random Code Problem 题解

## 题意 给定长度为 $n$ 的数组 $a$ 和一个整数 $k$ ,执行下面的代码: ```cpp long long ans = 0; //定义一个初始值为0的长整型变量 for(int i = 1; i typedef long long valueType; typedef std::vec ......
题解 Problem Random 1626F 1626

Maximum Diameter 题解

[Maximum Diameter](https://www.luogu.com.cn/problem/AT_abc290_f) ### 题目大意 定义长度为 $n$ 的序列 $a$ 的权值为: - 所有的 $n$ 个点的第 $i$ 个点的度数为 $a_i$ 的树的直径最大值,如果不存在这样的树,其 ......
题解 Diameter Maximum

【题解】Harbour.Space Scholarship Contest 2023-2024 D,E,F(CF1864)

## D.Matrix Cascade ### 题目描述: 有一个大小为$n \times n$的矩阵,由 0 和 1 组成。行的编号从上到下依次为$1$到$n$,列的编号从左到右依次为$1$到$n$。第$x$行与第$y$列交叉处的单元格记为$(x, y)$。 水月想把矩阵的所有元素都变成 0。她可 ......
题解 Scholarship Harbour Contest Space

CF500G New Year Running

# solution 首先求出两条路径 $(A,B)$ $(C,D)$ 的交路径,记作 $(S,T)$ 。 那么假设相遇在某个节点 $u$,相遇的条件可以写成下面的式子: $$k_1t_1+r_1+d_1 s=k_2t_2+r_2+d_2s$$ 其中: $t_1,t_2$ 为周期,$r_1,r_2$ ......
Running 500G Year 500 New

P3913 车的攻击 题解

**因为这道题确实让我学到了一些东西,所以来记录一下** STL中有一个尊贵的宝物,叫做unique,unique的使用要建立已经sort好的前提下,所以我们的思路是对 r 和 c 分别 sort,再用unique去重。 关于unique的原理:unique并未创造一个新的数组,而是将重复部分移至后 ......
题解 P3913 3913

CF765E Tree Folding

[题目链接](https://codeforces.com/problemset/problem/765/E "题目链接") ## 题意 给出一颗无根树,你可以钦定一个根,并进行若干次下述操作: * 选择一个点 $v$,以及 $v$ 延伸出去的两条长度相同的路径(两条路径没有重叠的边)。删去其中任意 ......
Folding 765E Tree 765 CF

[AGC051B] Bowling 题解

## 题意 > 有数个大头钉在二维平面上,有四个人从不同的角度观察它们,重叠的点视为一个,是否可能有一个人观察到的大头钉数量远多余其他人? 让我们把大头钉的位置简化为二维坐标上的点。四个人观察的角度如下: * ```A``` 从左往右观察。即所有 $y$ 坐标相同的点是重叠的。 * ```B``` ......
题解 Bowling 051B AGC 051

【CF1503A】Balance the Bits(构造)

**题目大意:** *** ```cpp #include using namespace std; typedef long long ll; ll n; char s[200000+10]; char a[200000+10],b[200000+10]; int main(){ ios::syn ......
Balance 1503A 1503 Bits the

CF1615F O(n) solution

$O(n)$ 做法,目前 CF 最优解。 首先,考虑如何计算两个串的答案。 把奇数位置的值取反,那每次操作相当于 $01\to10$ 或 $10\to 01$。于是当两个串 $1$ 的个数相等时可以达成。 可以看作若干个 $1$ 在一条链上移动到新的位置。答案为距离之和,把移动贡献均摊到每条边上,那 ......
solution 1615F 1615 CF

【题解】Educational Codeforces Round 154 A-E(CF1861)

感觉很不在状态啊,竟然没做出来 E。 ## A.Prime Deletion ### 题目描述: 质数是一个正整数,它正好有两个不同的正除数 $1$和整数本身。例如,$2$、$3$、$13$和$101$是质数;$1$、$4$、$6$和$42$不是质数。 给你一个从$1$到$9$的数字序列,其中**从 ......
题解 Educational Codeforces Round 1861

CF1864D 题解

# CF1864D Matrix Cascade 题解 ## Links [洛谷](https://www.luogu.com.cn/problem/CF1864D) [Codeforces](codeforces.com/problemset/problem/1864/D) ## Descript ......
题解 1864D 1864 CF

CF477E Dreamoon and Notepad

# CF477E Dreamoon and Notepad key:分类讨论;贪心;拆贡献、放缩等思想。 ## Solution ~~简要~~ 写一下分类讨论,防止写代码的时候脑子不清晰。参考了 [这篇](https://www.luogu.com.cn/blog/_post/567771) 题解。 ......
Dreamoon Notepad 477E 477 and

【CF1542C】Strange Function(数论)

**题目大意:** *** ```cpp #include using namespace std; typedef long long ll; const ll mod=1e9+7; ll n; ll lcm(ll x,ll y){ return x/__gcd(x,y)*y; } int mai ......
数论 Function Strange 1542C 1542

CF1174E Ehab and the Expected GCD Problem 题解

## 题意 对于一个排列 $p$,定义 $g$ 为 $p$ 的前缀最大公约数序列,即 $g_i = \gcd\limits_{j = 1}^{i} p_j$。定义 $f(p)$ 为 $g$ 的元素种类数。 给定 $n$,求长度为 $n$ 的且使得 $f(p)$ 取最大值的排列个数,对 $10^9 + ......
题解 Expected Problem 1174E 1174

CF997E Good Subsegments

## 简要题意 一个好区间是其中数在值域上连续的区间,给定 $n$ 的排列,每次给定一个区间,问其中有多少好的子区间。 数据范围:$1\le n\le 120000$。 ## 做法 只有整体询问的版本是 Cupboard Monsters。值域上连续当且仅当区间最大值减最小值等于区间长度,考虑维护最 ......
Subsegments 997E Good 997 CF

【CF1327C】Game with Chips(构造)

**题目大意:** *** ```cpp #include using namespace std; typedef long long ll; ll n,m,k; ll sx[200+10],sy[200+10],fx[200+10],fy[200+10]; int main(){ ios::sy ......
1327C Chips 1327 Game with

CF383E Vowels

[题目链接](https://codeforces.com/problemset/problem/383/E) 拿到这题,看到求答案的方式:“平方的异或和”。这是就能想到可能有两种方式统计答案: * 直接按照他所说的去算。 算出每一种情况下的数量平方再取个异或和。 * 拆贡献 既然是平方,就无异于点 ......
Vowels 383E 383 CF

CF449D Jzzhu and Numbers

[原题链接](https://codeforces.com/problemset/problem/449/D "原题链接") 首先我们让 $c_s$ 表示有多少 $a_i$ 是 $s$ 的超集,那么有:取与后是 $s$ 的超集的集合个数 $f_s=2^{c_i}$。 再让 $g_s$ 表示有多少集合 ......
Numbers Jzzhu 449D 449 and

CF1860C Game on Permutation

[递推法解决博弈论问题。](https://codeforces.com/problemset/problem/1860/C "递推法解决博弈论问题。") 博弈论问题基本思路是先确定“状态”,即先手必胜或者先手必败。这里定义“必胜/必败”为**走到当前格子的人**的结局(赛时因为搞混了走入的人和走出 ......
Permutation 1860C 1860 Game CF

CF1288D

看到题目中有很多 $\min,\max$,一眼二分答案。 考虑一个常见的套路:假设我们二分的值是 $mid$,那么我们在判断合法性时把数字矩阵变成 $01$ 矩阵:假若 $a_{i,j}\geq mid$,则赋值为 $1$;否则为 $0$。 用了这个套路后,我们可以把一行中最小值是否 $\geq m ......
1288D 1288 CF

CF1712F Triameter 题解

## Description 你有一棵有 $n$ 个点的树,树上的每条边权值都为 $1$。现在有 $q$ 次询问,每次询问一个整数 $x$,并将叶子结点全部相连上权值为 $x$ 的边(操作不会保留)。问每次操作后图的直径是多少。图的直径定义为 $\underset{1\leq uans$ 且 $h_ ......
题解 Triameter 1712F 1712 CF

CF1864B Swap and Reverse

### 题目大意 给定一个长度为 $n$ 的字符串 $s$ 和一个整数 $k$。 你可以进行若干次操作: - 选取一个 $i$($1\le i\le n-2$),交换 $a_i$ 和 $a_{i+2}$ - 选取一个 $i$($1\le i\le n-k+1$),翻转区间 $s_{[i,i+k-1] ......
Reverse 1864B 1864 Swap and

【题解】Pinely Round 2 D,E,F(CF1863)

## D.Two-Colored Dominoes ### 题目描述: 有一个$n\times m$棋盘,被分成若干小格。棋盘上还有一些多米诺骨牌。每张骨牌覆盖相邻的两个小格(即共用一条边的两个小格),没有两张骨牌重叠。 皮特认为这块棋盘太无聊了,需要涂上颜色。他要把多米诺骨牌的格子涂成黑色和白色。 ......
题解 Pinely Round 1863 CF

【CF1528A】Parsa's Humongous Tree(树、动态规划)

**题目大意:** 给定一颗树,每个节点有两个数,为每个节点选择其中一个数,求所有相邻节点所选数之差的绝对值之和。 *** 考虑动态规划。 设$dp_{u,0}$为节点i选择较小的数,以节点$u$为根的子树对答案的贡献的最大值。 设$dp_{u,1}$为节点i选择较大的数,以节点$u$为根的子树对答 ......
Humongous 动态 1528A Parsa 1528

CF1863A Channel

## 思路 ~~最开始没看懂题意,还想了会儿。~~ 容易发现,如果某个时刻存在总人数是满的,那么一定所有人都看到了,输出 ```YES```。 否则的话,如果不算减少的人数,总人数超过了 $n$,即认为每次新增的人都是之前没看过的人(虽然最终可能会超过 $n$,不符合情况),这样的话可能所有人都看到 ......
Channel 1863A 1863 CF

CF1863B Split Sort

## 思路 对于每次操作,会把序列分成两个部分,两部分之间不会排序。 考虑仅每次排一个数字,理由如下: 假设已经排好了 $1,2,3\cdots i-1$ 的顺序,对于数字 $i$,如果 $i+1$ 在该数字的前面,那么 $k$ 应选择为 $i+1$,这样才能排好 $i$ 和 $i+1$。如果选择的 ......
1863B Split 1863 Sort CF