题解codeforces round 879

Codeforces Round 895 (Div. 3)

Codeforces Round 895 (Div. 3) A - Two Vessels 思路:找到差值,让a,b向中间靠 #include<bits/stdc++.h> using namespace std; #define int long long //#define int __int1 ......
Codeforces Round 895 Div

SMU Autumn 2023 Round 2(Div.1+2)

SMU Autumn 2023 Round 2(Div.1+2) C. Chaotic Construction 把环展开的话就是\(1 \sim 2n\),若\(D\)的位置放上路障的话,在这个展开的环上就是\(D\)和\(D+n\)的位置,对于\(x,y\),我们就是去看\(D\)或者\(D+n ......
Autumn Round 2023 SMU Div

题解 LOJ6738【王的象棋世界】

problem 一个 \(R\times C\) 的棋盘,你有 \(Q\) 组询问,每次询问国王走 \(R-1\) 步从 \((1,a)\) 到达 \((R,b)\) 有多少种方案。你只需要输出答案对 \(998244353\) 取模的结果。\(2\le C\le 10^5, C\le R\le 1 ......
题解 象棋 世界 6738 LOJ

【题解】CF1830D Mex Tree

我们考虑这道题一看题就特别难受,所有路径?\(mex\) 之和?这是什么东西? 我们考虑 \(mex\) 之和其实是有一点诈骗的感觉,毕竟是 \(0\) 或 \(1\),还比较简单。就是路径上全都是 \(1\) 的时候是 \(0\),全都是 \(0\) 的时候是 \(1\),有 \(0\) 和 \( ......
题解 1830D 1830 Tree Mex

Codeforces Round 798 (Div. 2) B. Mystic Permutation

给一个长为 \(n\) 的排列 \(p\) ,需要构造一个长为 \(n\) 的排列 \(q\) ,满足 \(\forall i, p_i \neq q_i\) ,且 \(q\) 在所有合法排列中字典序最小。 观察一:\(n = 1\) 时无解,否则有解。 观察二:\(n > 1\) 时,\(1 \s ......
Permutation Codeforces Mystic Round 798

【题解】CF1830E Bully Sort

考虑一次交换,我们发现,被选出来的 \([i,j]\) 的区间里 \(p_i\) 一定是最大的,\(p_j\) 一定是最小的。 然后我们会发现,我们原序列的逆序对数量会减少 \(2(j-i) - 1\),而 \(\sum|p_i-i|\) 会减少 \(2(j-i)\) 那么答案就是原序列的两部分相减 ......
题解 1830E Bully 1830 Sort

CF题解合集

CF 比赛题解合集 \(\downarrow 2023.09.04\) CF1952, CF1954 1952 A. Ntarsis' Set 有一个集合,初始状态里面有数字 \(1\)、\(2\)、\(3\)、\(4\)、\(5\)、......、\(10^{1000}\)。 现在给你一个长度为 ......
题解

Codeforces Global Round 21 B. NIT Destroys the Universe

给一个长为 \(n\) 的数组,可以执行以下操作任意次: 选择 \(l, r(1 \leq l < r \leq n)\) ,让 \(\forall i(l \leq i \leq r), a_i = mex(\{a_l, a_{l+1}, \cdots, a_{r}\})\) 。 问最小操作数使得 ......
Codeforces Destroys Universe Global Round

SICTF-2023 #Round2-WP-Crypto | Misc

💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌💌 ......
Round2-WP-Crypto Crypto Round2 SICTF Round

Educational Codeforces Round 132 (Rated for Div. 2) B. Also Try Minecraft

一个世界地图用一个长为 \(n\) 的数组表示,\(a_i\) 代表坐标 \(i\) 的高度。若下一块区域的高度为 \(y\) ,当前区域的高度为 \(x\) ,则一次行走会受到 \(max(y - x, 0)\) 点下落伤害。 有 \(q\) 个询问,每个询问独立,给定起点和终点坐标 \(s, t ......
Educational Codeforces Minecraft Round Rated

【题解】CF1830C Hyperregular Bracket Strings

我们知道,一个长度为 \(n\) 的合法括号序列的种数就是第 \(\frac n 2\) 个卡特兰数(当然 \(n\) 是奇数答案肯定就是 \(0\)) 我们可以发现一件事情,如果两个区间相互包含,那么就可以将大区间分为中间被包含的小区间的部分和外面没有被小区间覆盖的部分。 如果两个区间相交,那么就 ......
题解 Hyperregular Bracket Strings 1830C

Educational Codeforces Round 130 (Rated for Div. 2) B. Promo

有 \(n\) 件商品,第 \(i\) 件的价格是 \(p_i\) ,若买至少 \(x\) 件商品,则其中最便宜的 \(y\) 件免费。给 \(q\) 个询问,每次给出 \(x, y\) ,回答最多能免费的价值。 按大到小排序,求前缀和 \(S_{i}\) 表示买前 \(i\) 件商品需要的开销。 ......
Educational Codeforces Round Rated Promo

Codeforces Round 895 (Div. 3)

A. Two Vessels #include <bits/stdc++.h> using namespace std; #define int long long const int mod = 1e9 + 7; using i64 = long long; void solve() { int ......
Codeforces Round 895 Div

【题解】CF1830B The BOSS Can Count Pairs

你考虑,我们观察数据范围,发现可以是 \(O(n\sqrt n) / O(n\log n)\) 的,我们又看到乘法,便有几个大概的想法: 数论分块 \(O(\sqrt n)\) 枚举其中一个乘数 还有什么……(笔者学识浅陋,读者可以帮忙补充) 我们可以找到两种 \(O(n^2)\) 做法: \(O( ......
题解 1830B Count Pairs 1830

Codeforces Round 804 (Div. 2) B. Almost Ternary Matrix

给两个偶数 \(n\) 和 \(m\) 。任务是构造任意一个二进制矩阵,\(n \times m\) 。对于任意 \((i, j)\) ,有且仅有两个邻居的颜色与 \(a_{i, j}\) 不同。邻居的定义为 \(|x - x'| + |y - y'| = 1\) 。 观察:任何 \(n \time ......
Codeforces Ternary Almost Matrix Round

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

【题解】[ABC318F] Octopus(思维)

【题解】[ABC318F] Octopus 题目链接 F - Octopus 题意概述 有个机器人,它有 \(n\) 个手臂,第 \(i\) 个手臂长度为 \(l_i\)。同时有 \(n\) 个宝藏,第 \(i\) 个宝藏的坐标是 \(x_i\)。 当机器人位于 \(k\) 时,它的第 \(i\) ......
题解 思维 Octopus 318F ABC

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

题解:【ABC319F】 Fighter Takahashi

题目链接 有过类似的 idea 啊,怎么撞了 ABC 了/fn。 注意到药最多只有十个,肯定是先尽可能的加,然后再用乘,因此从这上面入手。状压药定点的使用情况,设 \(f_S\) 表示只用掉 \(S\) 这些药最后能够到达的最大力量值,那么有解的充要条件就是存在 \(f_S \geq \max s_ ......
题解 Takahashi Fighter 319F ABC

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

SICTF2023 #Round 2 wp

Reverse [签到]PYC 电脑上的pycdc出问题了,就找个在线的 https://www.lddgo.net/string/pyc-compile-decompile print('SICTF{07e278e7-9d66-4d90-88fc-8bd61e490616}') Myobject ......
SICTF Round 2023 wp

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

[ABC319D] Minimum Width 题解

[ABC319D] Minimum Width 题解 题意分析 给定 \(n\) 个单词,现在想像“记事本”一样把它们依次地一行一行显示出来。每个字母宽度为一,单词之间需要有空格,宽度也为一。一个单词不可以成两部分显示在两行。如果单词最后一个字母来到行末,直接换行,不用空格。 给定窗口最大高度 \( ......
题解 Minimum Width 319D ABC

[题解} CF1217D Coloring Edges

CF1217D Coloring Edges 知识点: dfs 树。 题意 给定一张有向图,现在要求为图上所有的边进行染色,使得颜色种类最少的同时,同种颜色的边无法构成环,输出最少需要的颜色种类和任意一种染色可行方案。 思路 假设该有向图中不存在环,那么我们可以直接对所有的边染为同一种颜色。因此可以 ......
题解 Coloring 1217D Edges 1217

[JOISC 2016] 雇佣计划 题解

[JOISC 2016] 雇佣计划 题解 这里补充一篇自己的 \(n \log n\) 做法。 本蒟蒻打了两棵线段树,并且进行了繁琐的分类讨论,完全被标算的树状数组吊打 qwq 题意: 给定一个序列 \(a\),有两种操作: 将 \(c\) 位置权值改为 \(d\); 给定一个权值 \(b\),定义 ......
题解 JOISC 2016

$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

标准题解 - 2023/9/10

01串 对于相邻的两个段和 \(S_i\) 和 \(S_{i+1}\) 两段之间移动时的差别既删除了 \(i\) 号元素,添加了 \(i+K\) 号元素。如果 \(S_i = S_{i+1}+1\) 那么说明 \(i\) 号元素是 \(1\),\(i+K\) 号元素是 \(0\)。(删除 \(1\) ......
题解 标准 2023 10

P5318 题解

前置知识: 链式前向星初始化 深度优先搜索和广度优先搜索 如果你还不知道链式前向星,那么请看这篇文章,请务必搞懂它。 原题传送门 看到题解区没有关于链式前向星的题解,就准备来发一波! 思路分析 分析存储方法 在图中,最常见的存储方法是以下三种: 邻接矩阵 邻接表 链式前向星 现在我们就来逐一选择一下 ......
题解 P5318 5318

CF1570C 题解

一道纯粹的贪心题。 思路分析 通过观察,我们可以发现,每个瓶子所需要的射击次数的增长是与 \(x\) 密切相关的。 这样我们很容易想到,如果我们将耐久度大的瓶子放在后面射击,那么 \(x\) 就会较大,因而导致最终的射击次数变大。 说到这儿,思路已经显而易见了。我们可以对 \(a\) 数组根据耐久度 ......
题解 1570C 1570 CF