codeforc

Codeforces Round 807 (Div. 2) B. Mark the Dust Sweeper

需要打扫 \(n\) 个房间,第 \(i\) 个房间有 \(a_i\) 的积灰。只能使用如下魔法打扫: 选择 \(i, j, (1 \leq i < j \leq n, \min_{k = i}^{j} a_i > 0)\) 。 执行 \(a_i = a_i - 1, a_j = a_j + 1\) ......
Codeforces Sweeper Round Mark Dust

Codeforces Round 811 (Div. 3) A. Everyone Loves to Sleep

闹钟设有 \(n\) 个时间点,第 \(i\) 个时间为 \((H_i,M_i)\) 。在 \(h, m\) 时刻入睡,响铃必须起床,问能睡多久。 使用 \(set<pair<int, int>>\) 存储闹铃时刻,然后在其中 \(lower_{bound}\) 到 \(<first \geq h, ......
Codeforces Everyone Round Loves Sleep

Codeforces Round 815 (Div. 2) A. Burenka Plays with Fractions

给两个数 \(\frac{a}{b}\) 和 \(\frac{c}{d}\) ,一次修改可以修改 \(a\) 或 \(b\) 之一,求最小修改数使得 \(\frac{a}{b} = \frac{c}{d}\) 。 若 \(\frac{a}{b} = \frac{c}{d}\) ,除式化乘式,则讨论 ......
Codeforces Fractions Burenka Round Plays

Codeforces Round 819 (Div. 1 + Div. 2) and Grimoire of Code Annual Contest 2022 A. Mainak and Array

给一个长为 \(n\) 的正整数数组,执行以下操作严格一次。 选择 \(l, r, (1 \leq l < r \leq n)\) ,任意一个正整数 \(k\) 。 重复 \(k\) 次:让 \([l, r]\) 的数组成环,按顺时针走一次。 希望 \(a_n - a_1\) 最大,找到这个数。 分 ......
Codeforces Div and Grimoire Contest

Codeforces Round 830 (Div. 2) B. Ugu

给一个 \(01\) 字符串,需要使它变为非降的,可以执行以下操作: 选择一个下标 \(i, (1 \leq i \leq n)\) ,\(\forall j \geq i\) 的数位翻转。 经典的按无后效性翻转问题。 考虑从前往后,得到一个全 \(0\) 串。若开始存在 \(1\) ,则答案减 \ ......
Codeforces Round 830 Div Ugu

$Codeforces Round 891 (Div. 3)$

\(A. Array Coloring\) 显然需要奇数个偶数即可满足题目。 void solve(){ int n=read(),res=0; for(int i=1;i<=n;i++){ int x=read(); if(x%2)res++; } puts(res%2==0?"YES":"NO" ......
Codeforces Round 891 Div

$Codeforces Round 888 (Div. 3)$

\(A. Escalator Conversations\) 用 \(map\) 存楼梯的高度(差),对每个人看一下需要的楼梯高度是否存在。 int a[N]; void solve(){ int n=read(),m=read(),k=read(),h=read(); map<int,int>mp ......
Codeforces Round 888 Div

Codeforces Round 821 (Div. 2) B. Rule of League

有 \(n\) 名选手参加一场比赛,编号为 \(1 \sim n\) 。规则为: 选手 \(1\) 和选手 \(2\) 比赛 第 \(1\) 轮胜者胜者与选手 \(3\) 比赛; 第 \(2\) 轮胜者与选手 \(4\) 比赛 \(\cdots\) 第 \(n - 2\) 轮胜者与选手 \(n\) ......
Codeforces League Round Rule 821

Codeforces Round 824 (Div. 2) B. Tea with Tangerines

有 \(n\) 块橘子皮,第 \(i\) 块大小为 \(a_i\) 。在一部操作中可以把一块橘子皮分成两块,即这块橘子皮为 \(x\) ,让 \(x\) 变为 \(y, z(x = y + z)\) 。 希望对于任意两块橘子皮,他们相差严格小于两倍。即两块中更小的为 \(x\) ,更大的为 \(y\ ......
Codeforces Tangerines Round with 824

【题解】Educational Codeforces Round 143(CF1795)

A.Two Towers 题目描述: 有 \(a,b\) 两座由红蓝色方块垒成的塔,其中 \(a\) 的高度为 \(n\) ; \(b\) 的高度为 \(m\) ,用 R 代表红色;用B代表蓝色。 你可以多次把其中一座顶端的方块移到另一座的顶端(可以不移动)。问有没有一种方法可以使两座塔中均没有连续 ......
题解 Educational Codeforces Round 1795

Codeforces Round 827 (Div. 4) C. Stripes

在一个 \(8 \times 8\) 的网格上,一开始无色。每次一整行或一整列地染色,后染的颜色会覆盖前染的颜色。 染色方式有两种,一种是横着染 \(R\) 色,一种是竖着染 \(B\) 色。给出最终染色的网格,问最后染的色是哪种。 对每行开 \(R\) 计数器、每列开 \(B\) 计数器。遍历行、 ......
Codeforces Stripes Round 827 Div

Codeforces Round 832 (Div. 2) B. BAN BAN

给一个正整数 \(n\) ,定义 \(S{n}\) 为字符串 \(BAN\) 复制 \(n\) 次。比如 \(S(3) = BANBANBAN\) 。可以对 \(S(n)\) 执行任意次以下操作: 选择 \(i, j (1 \leq i, j \leq 3n, i \neq j)\) 。\(swap ......
Codeforces BAN Round 832 Div

[题解] Codeforces Round 895 (Div. 3) F~G

Codeforces Round 895 (Div. 3) F~G F. Selling a Menageri 考虑如何让卖出的价格翻倍,那么自然是从 \(i \to a_i\) 。通过这样连边,我们可以发现,边集构成了基环树森林。显而易见的是,如果不考虑环,那么图就是拓扑图,按照拓扑关系跑一遍,就 ......
题解 Codeforces Round 895 Div

Codeforces Round 895 (Div. 3) 考试总结

前言 首先就是不太会打 CF,主要体现在晚上熬夜太难受,不过这场的状态还是挺好的。 然后就是时间把握不好,CCF 和模拟赛基本都是 \(3h\) 到 \(4h\),而 CF 只有 \(2h\) 左右。所以时间很紧,像这场,明明后面的题会做也没时间做了。 赛时实况: A B C D E F G √ √ ......
Codeforces Round 895 Div

Codeforces Round 895 (Div. 3)

# Codeforces Round 895 (Div. 3) [比赛链接](https://codeforces.com/contest/1872) ## A. Two Vessels [题目链接](https://codeforces.com/contest/1872/problem/A) 给你 ......
Codeforces Round 895 Div

Codeforces Round 895 (Div. 3)

## B. The Corridor or There and Back Again >![image-20230908015323851](https://zeoy-typora.oss-cn-hangzhou.aliyuncs.com/image-20230908015323851.png) # ......
Codeforces Round 895 Div

$Codeforces Round 895 (Div. 3)$

## $A. Two Vessels$ 一开始我以为那个 $c$ 桶只能装满,看了好久。 范围内的任意容量都可以取的话,那么只要看需要转移多少量,然后看需要多少次。 ```cpp void solve(){ int n=read(),m=read(),k=read(); double nd=abs( ......
Codeforces Round 895 Div

$Educational Codeforces Round 138 (Rated for Div. 2)$

## $A. Cowardly Rooks$ 我模拟了一遍,因为我没看到题目中*给出的矩阵已经合法*, $a$ 题第一次写这么多。 实验室同事跟我说只要判断 $n$ 和 $m$ 的大小关系就行了。 ```cpp int x[N],y[N],m,n; bool check(){ for(int i=1 ......
Educational Codeforces Round Rated 138

Codeforces Round 798 (Div. 2) C (树形DP、思维、*1600)

[C. Infected Tree](https://codeforces.com/problemset/problem/1689/C "C. Infected Tree") > 题意:给定一棵树, 钦定 $ 1 $ 号点为根节点, 一开始根节点中毒了, 接下来的 $ n $ 个时刻, 每一时刻可以 ......
树形 Codeforces 思维 Round 1600

【题解】Educational Codeforces Round 144(CF1796)

被 C 卡了。 最后被 E 的各种分讨劝退,但是同时也学习到了一种换根 dp 的简单写法。 评价:It's educational for me. ## A.Typical Interview Problem ### 题目描述: 有一个包含 F 和 B 的字符串,最开始是空的。我们开始从 $1$ 向 ......
题解 Educational Codeforces Round 1796

# Codeforces Round 887 E Ina of the Mountain(反悔贪心)

~~被这个题折磨了好久,决定写一篇题解~~ 先考虑没有这个$k$的限制的情况,等价于对原来的$a_i$序列的差分数组$b_i$,每次找到两个位置$1\le x 0$的位置进行$-1$的操作,后面对应的$+1$可以放在$b_ic[i]$,那么$c[i]$减去$k$对答案的贡献就是$0$,因为$d[i] ......
Codeforces Mountain Round 887 Ina

CodeForces 960G Bandit Blues

[洛谷传送门](https://www.luogu.com.cn/problem/CF960G "洛谷传送门") [CF 传送门](https://codeforces.com/problemset/problem/960/G "CF 传送门") 发现设排列最大值位置为 $i$,那么 $[1, i] ......
CodeForces Bandit Blues 960G 960

Codeforces Round 247 (Div. 2) C(线性DP、树形结构)

[C. k-Tree](https://codeforces.com/contest/431/problem/C "C. k-Tree") > 题意:给定一颗 \$ k \$ 叉树, 每个节点和其子节点的连边的权值分别为 \$ 1, 2, \cdot\cdot\cdot, k \$, 问从根节点开始 ......
树形 线性 Codeforces 结构 Round

Codeforces Round #887 (Div. 2) A-D

[比赛链接](https://codeforces.com/contest/1853) # A ## 代码 ```c++ #include using namespace std; using ll = long long; int a[507]; bool solve() { int n; cin ......
Codeforces Round 887 A-D Div

Educational Codeforces Round 120

# C. Set or Decrease 可以得到两个规律 - 修改操作一定是把较大的数变成最小的数更优 - 减一对谁操作都不影响结果 根据以上两个规律有可以总结出最优操作策略 - 对最小值先做若干次减法 - 把最大的若干个数变成最小值 已知策略后,我们发现因为值域很大,所以不能枚举最小值减的次数, ......
Educational Codeforces Round 120

Educational Codeforces Round 138 (Rated for Div. 2) B. Death's Blessing

这是一个电脑游戏,$n$ 个怪物排成一行,第 $i$ 个怪物的血量为 $a_i$ 并且它的亡语强度为 $b_i$ 。规则是: * 玩家每秒可以削减一只怪物的一点血量。 * 第 $i$ 只怪物死亡后会释放亡语,它两侧的怪物血量会得到 $b_i$ 的增幅血量。边界上的怪物只能对它的邻居进行亡语增幅。 * ......
Educational Codeforces Blessing Death Round

Codeforces Round 406 (Div. 2) D. Legacy 线段树优化建图

[传送门](https://codeforces.com/problemset/problem/786/B) 题目大意: **给定n个点,m个操作,和起点s。其中n 和 q 大于等于1小于等于1e5, s大于等于1小于等于n** **其中m个操作有三种情况:** 1.输入1 u v val 表示从u ......
线段 Codeforces Legacy Round 406

Codeforces Round 836 (Div. 2) B. XOR = Average

给一个正整数 $n$ ,找到一个序列 $a_1, a_2, \cdots, a_n$ 满足 $$ \bigoplus_{i=1}^{n} a_i = \frac{\sum_{i=1}^{n} a_i}{n} $$ 。 一个原始的问题: $\bigoplus_{i=1}^{n}a_i=\sum_{i= ......
Codeforces Average Round 836 Div

Educational Codeforces Round 119

# B. Triangles on a Rectangle 因为保证了每一个边上都有点,所以相当于三角形的高已经确定了。最大化底即可。 ```cpp #include using namespace std; #define int long long const int inf = 1e15; u ......
Educational Codeforces Round 119

Codeforces Global Round 24 B. Doremy's Perfect Math Class

给一个元素个数为 $n$ 的正整数集合 $S$ ,可以做以下操作任意次: * 选择 $S$ 中的两个元素 $x$ $y$ 满足 $x > y$ 且 $x - y$ 不在集合内。 * 加入 $x - y$ 到集合。 经过若干次操作后,集合中最多能存在多少元素。 性质一:两个数 $x$ $y$ 辗转相减 ......
Codeforces Perfect Global Doremy Class