rounding maximum 1857b cf

Codeforces Round 897 (Div. 2) A-E

A. green_gold_dog, array and permutation 题意:给出一个长为\(n\)的数组\(a\),找到一个长为\(n\)的排列\(b\),使得\(a\)与\(b\)对应位置上的元素的差尽可能大 Solution 将数组\(a\)排序,然后令排列\(n,n-1,...,2 ......
Codeforces Round 897 A-E Div

CF1867D Cyclic Operations

事实上我们可以发现,如果\(b_i=x\)最后,那么我们可以连一条边,从\(i\)到\(x\) 这样我们就得到了一个有向图,在这张有向图呢,可以证明的是 如果\(k=1\),那么必须全部都是自环。 若不成立,则必须每个环的大小恰好为\(k\) 这样就可以解决了。 #include<cstdio> # ......
Operations Cyclic 1867D 1867 CF

SMU Autumn 2023 Round 3(Div.1)

SMU Autumn 2023 Round 3(Div.1) A. Find The Array 要满足“b数组内任意一个元素满足可以被数组两边的元素整除”这个条件,我们很容易想到1是万能的,所以我们只需要把a数组某些元素改成1就可以了 条件二要满足a,b方差够小,那其实我们只用把a数组内奇数位,偶 ......
Autumn Round 2023 SMU Div

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

SMU Autumn 2023 Round 4(Div.1+2) A. Access Denied 通过分析样例可以得知如果所猜字符串与答案字符串长度不同,则只要\(5ms\),且答案最多\(20\)个字符,因此我们可以先猜20次去核对总字符串长度,如果核对过程中直接猜中了,那就不用继续猜了,又继续 ......
Autumn Round 2023 SMU Div

关于round4的反思

那场只出了A题和K题, K题就是一个模拟题,结构体然后模拟一下情况就出来了,但是情况还蛮多的,当时wa了两发,第一发是因为漏了一种情况,第二发是循环里面出了点小问题,当时在第二发那里卡了很久,因为第一发是因为漏了情况,所以我们理所当然的以为还漏了情况,所以一直在那里想还有什么情况,试了很久,最后还是 ......
round4 round

[CF1264D]Beautiful Bracket Sequence

题目描述 This is the hard version of this problem. The only difference is the limit of $ n $ - the length of the input string. In this version, $ 1 \leq n ......
Beautiful Sequence Bracket 1264D 1264

CF70D Professor's task 题解 & 动态凸包板子

CF70D Professor's task 题解 前言 此篇题解用的是 \(Andrew\),不想看这种做法的可以绕道。 题意 动态凸包板子题。 维护动态凸包。两种操作,加一个点或查询一个点是否在凸包内。 题解 首先你得会静态二维凸包。 维护二维凸包的方法挺多的,比如什么 \(Andrew\) 算 ......
凸包 题解 板子 Professor 动态

CF1863G

简洁的题面,深邃的思想。 首先,一个经典的套路是: 对于序列中涉及到对于 \(a_{a_i}\) 和 \(a_i\) 进行操作的问题,一般可以考虑建立 \((i,a_i)\) 的内向基环树或者 \((a_i,i)\) 的外向基环树转化为图论问题。 我们建立 \((i,a_i)\) 的内向基环树,\( ......
1863G 1863 CF

cf1860f

萌萌题,但是细节比较麻烦。 首先注意到,\(ax+by=\lambda\),由于我们只需要若干括号的相对顺序,其中一个未知数完全可以舍去,因为可以通过另一个未知数达到相同值。 设我们只关心 \(x\) 的取值,变为按照 \(ax+b\) 排序。那么设 \(k'=a\),变成 \(\lambda =k ......
1860f 1860 cf

[ABC320F] Fuel Round Trip 题解

题意 在坐标轴上给定 \(N\) 个点,坐标依次为 \(X_1, X_2, \cdots, X_N\),你需要从原点前往 \(X_N\) 并折返,其中在第 \(1\) 个到第 \(N - 1\) 个点上有加油站,其中第 \(i\) 个加油站可以花费 \(P_i\) 购买 \(F_i\) 升汽油,汽油 ......
题解 Round 320F Fuel Trip

CF1827B1

Range Sorting (Easy Version) 题面翻译 对一个数组 \(\{p_i\}\) 的一段区间 \([l,r]\) 排序的代价为 \(r-l\) ,对整个数组 \(p_i\) 排序的代价为选定若干区间并排序,使得整个数组有序的代价之和。 求 \(\{a_i\}\) 的所有子段排序 ......
1827B 1827 CF B1

CF1017H The Films

Da 1y3。 今天因为初赛实在是没时间(懒得)写题了www,就放一道之前模拟赛场切的题吧。还有这个 CF 评分是假的,难点在于看懂题。 考虑令 \(c_i\) 表示序列中 \(i\) 元素的出现次数,对于一次询问 \(l,r\),令 \(d_i\) 表示 \(a_l,a_{l+1},\cdots, ......
1017H Films 1017 The CF

CF677D Vanya and Treasure

这题纯大力搞过去的,没用到啥技巧,后面看了下别人的做法发现还是很有意思的 我的做法就很粗暴,考虑令\(f_{i,j}\)表示走到\((i,j)\)的最短路,转移的话不难发现是个分层图DP 但是有一个显然的问题是当相邻两层间的点数很多时,暴力做的话会退化成\(O(n^2\times m^2)\),因此 ......
Treasure Vanya 677D 677 and

CF1827A

Counting Orders 题面翻译 求有多少种重新排列 \(a\) 的方式,使得对于任意 \(1\le i\le n\),都满足 \(a_i>b_i\),结果对 \(10^9+7\) 取模。 \(1\le n\le 2\times 10^5,1\le a_i,b_i\le 10^9\),保证 ......
1827A 1827 CF

CF1542E1 Abnormal Permutation Pairs (easy version) 题解

CF1542E1 Abnormal Permutation Pairs (easy version) 题解 不会 Hard version 对于第一个限制字典序,我们可以考虑枚举前 \(i\) 位相同,然后考虑后 \(n-i\) 位。我们只需要保证 \(p_{i+1} < q_{i+1}\) 即可。 ......
题解 Permutation Abnormal version 1542E

CF1852B Imbalanced Arrays 题解

CF1852B Imbalanced Arrays 题解 Links 洛谷 Codeforces Description 对于一个给定的长度为 \(n\) 的数组 \(A\),定义一个长度为 \(n\) 的数组 \(B\) 是不平衡的当且仅当以下全部条件满足: \(-n \leq B_{i} \le ......
题解 Imbalanced Arrays 1852B 1852

CF671C Ultimate Weirdness of an Array

区间 max gcd 计数显然没有任何性质,考虑倒序枚举,转化为计算 \(\sum_i\sum_{l,r}[f(l,r)\ge i]\)。 考虑用一个线段树维护这个东西。\(x\) 节点上存最小的满足 \(f(x,r)<i\) 的 \(r\)。那么一次操作只需要全局求和。 我们考虑 \(i+1\to ......
Weirdness Ultimate Array 671C 671

Deltix Round, Autumn 2021 (open for everyone, rated, Div. 1 + Div. 2) A. Divide and Multiply

有一个长为 \(n\) 的数组,可以执行以下整份操作任意次: 选择任意两个数 \(a_i, a_j\) ,满足 \(2 \mid a_i\) \(a_i = \frac{a_i}{2}\) \(a_j = 2 \cdot a_j\) 请找到经过任意此操作后的最大 \(\sum_{i=1}^{n} a ......
Div Multiply everyone Deltix Autumn

Codeforces Global Round 17 A. Anti Light's Cell Guessing

给一个 \(n \times m\) 的网格,里面藏了一个炸弹 \((x_0, y_0)\) 。你可以选择 \(k\) 个坐标 \((x_1, y_1), (x_2, y_2), \cdots, (x_k, y_k)\) 。第 \(i\) 次选择计算机会回复你一个数 \(d_i = |x_0 - x ......
Codeforces Guessing Global Round Light

Educational Codeforces Round 117 (Rated for Div. 2) B. Special Permutation

给三个正整数数 \(n, a, b\) ,\(n\) 是偶数。写出 \(n\) 的任意一个排列满足左边一半的最小值等于 \(b\) 且右边一半的最大值等于 \(a\) 。 性质: 控制某个区间的最小值,需要让这个区间的数尽可能大 控制某个区间的最大值,需要让这个区间的数尽可能小 于是让排列左半的数尽 ......

Educational Codeforces Round 118 (Rated for Div. 2) A. Long Comparison

白板上左右写上两个数,每个字的形式表示为:一个正整数 \(x\) 和 \(p\) 个末尾 \(0\) 。 询问左右两个数的大小关系。 假设左边为 \(x_1, p_1\) ,右边为 \(x_2, p_2\) 。 先看数位长度 若 \(dig_{x_1} + p_1 < dig_{x_2} + p_2 ......

Codeforces Round 761 (Div. 2) B. GCD Problem

给一个正整数 \(n\) 。找到三个不同的正整数 \(a, b, c\) 满足 \(a + b + c = n\) 并且 \(gcd(a, b) = c\) 。 公式归一化简: \[\begin{cases} a + b + c = n, \\ gcd(a, b) = c \end{cases} \ ......
Codeforces Problem Round 761 Div

CF1828B

Permutation Swap 题面翻译 给你一个长度为 \(n\) 的未排序的排列。找到最大的整数 \(k\) 满足可以通过只交换下标差为 \(k\) 的元素使排列被从小到大排序。 题目描述 You are given an unsorted permutation $ p_1, p_2, \l ......
1828B 1828 CF

CF453C Little Pony and Summer Sun Celebration

如果一个点需要经过奇数次我们称其为奇点,偶数次则称其为偶点。 考虑不合法的情况,有任意两个奇点不连通,因为不经过也是经过偶数次。 那么需要处理的部分就是包含奇点的唯一一个连通块。先随意撸出一棵生成树,然后正常地 DFS 下去。显然有些结点可能不符合要求的奇偶性,对于父亲结点 \(u\) 和儿子结点 ......
Celebration Little Summer 453C Pony

CF662B Graph Coloring

很一眼的题 考虑枚举最后所有边的颜色,然后每个点是否变化可以用一个bool变量表示,就是个很典的2-SAT问题,根据当前边和目标的颜色相同与否连边即可 但这题的难点在于要找一个操作次数最少的方案,乍一看很难搞 但如果你对图论和2-SAT那一套理解比较深的话就很容易发现,这道题中所有边都是双向的 这就 ......
Coloring Graph 662B 662 CF

Codeforces Round 764 (Div. 3) B. Make AP

有三个正整数 \(a, b, c\) 。需要执行以下操作严格一次: 选择任意一个正整数 \(m\) 并让严格一个 \(a, b, c\) 之一乘以 \(m\) 。但不能改变他们的顺序。 回答是否可以经过一次操作后使 \(a, b, c\) 变为等差。 分类讨论题: 三种情况满足一种即可。(已知 \( ......
Codeforces Round Make 764 Div

Codeforces Round 773 (Div. 2) B. Power Walking

有 \(n\) 个增幅道具,第 \(i\) 个道具种类为 \(a_i\) ,一个人的强度 \(w\) 为他所有道具的种类数。对于 \(k ] \in[1, n]\) ,询问将 \(n\) 个道具分配给 \(k\) 个人且每个人至少分配到一个道具后,能够得到的最想强度和 \(\sum_{i=1}^{n ......
Codeforces Walking Round Power 773

CF1158C Permutation recovery

好久没有单独开题目写了,主要是最近都是以补比赛为主,很少直接找题目做 但现在感觉只靠打比赛一来很难直接提升水平了,二来需要找一些知识点精进一下 所以就找了个codeforces 2100左右的graphs题,没事就刷一刷上面的题目 这题的话就比较典,首先考虑怎么判无解,如果对于\(x<y\),满足\ ......
Permutation recovery 1158C 1158 CF

Educational Codeforces Round 100

B. Find The Array 对于条件二来说,1 是万金油的存在,所以我们只需要把奇数位置或偶数位置全部变成 1 即可。因为要求差值小于\(\frac s 2\),所以我可以求出奇偶位的和修改较小值即可。 #include <bits/stdc++.h> using namespace std ......
Educational Codeforces Round 100

CF1858D Trees and Segments

原题 翻译 这题预期说是\(dp\),不如说是预处理吧233 首先我们同时考虑两维限制是很困难的,如果我们想直接\(dp\)要设很多状态,复杂度爆炸 因此我们考虑暴力枚举一维。具体的,我们枚举把\([l,r]\)内的所有数染成\(0\),我们可以通过前缀和得到操作次数\(t\)(即为区间内\(1\) ......
Segments 1858D Trees 1858 and