题解codeforces round split

P9995 [Ynoi2000] rspcn 题解

思路 比较典的 ODT 题目。 发现排序是一个非常有性质的操作。 它对区间的更改与颜色段均摊差不多。 那么我们可以想到用 ODT 来维护这一整个序列。 具体的,区间排序操作可以用 ODT 维护每次排序产生的段,每段用线段树维护排序后的结果。 每次修改就可以进行线段树的分裂与合并。 如何查询。 可以发 ......
题解 P9995 rspcn 9995 2000

P9991 [Ynoi Easy Round 2023] TEST_107 题解

思路 题目即要求删除区间中的一个或多个颜色。 考虑假如枚举删除颜色 \(k\)。 那么在 \(l,r\) 中的答案为: \[\max_{i=1}^{m+1} a_i-a_{i-1} \]其中 \(a_i\) 为颜色 \(k\) 在 \(l\sim r\) 中的出现位置,\(a_{0}=l,a_{m+ ......
题解 P9991 Round 9991 2023

[Codeforces] CF1538F Interesting Function

CF1538F Interesting Function 题目传送门 题意 给定两个正整数 \(l, r\)(\(l < r\)),将 \(l\) 不断加 \(1\) 直到 \(l = r\),求出这一过程中 \(l\) 发生变化的位数总数。 位数变化指: \(l=909\),将 \(l+1\) 后 ......
Interesting Codeforces Function 1538F 1538

AT_abc020_c 题解

链接(atcoder) 链接(luogu) 简单算法组合(? 算法一 爆搜,时间复杂度 \(O(2^{n \times m} \times t)\),不能通过此题。 算法二 考虑二分 \(t\),然后暴搜,时间复杂度 \(O(2^{n \times m} \times log2(t))\),不能通过 ......
题解 AT_abc 020 abc AT

codeforces比赛(1):codeforces 918_div4

A、Odd One Out 跳转原题点击此:A题地址 1、题目大意 给你三个数,其中两个是相等的,问你还有一个不相等的数是多少。 2、题目解析 直接暴力枚举即可,只要找到两个数相等,那么答案就是另一个数。 #include<bits/stdc++.h> using namespace std; in ......
codeforces div4 918 div

CF1234F 题解

blog。小清新题,下文 \(V=20\) 即值域。 反转操作,本质就是选两个不相交连续段拼起来。 显然合法的最终串长度一定 \(\le V\)。将这些合法串预处理出来,那么每个串都对应一个「字母集合」。 随便 DP 一下,求出所有集合中,的最大的合法「字母集合」大小。\(dp_{\small U} ......
题解 1234F 1234 CF

CF1917F Construct Tree 题解

题目链接:https://codeforces.com/contest/1917/problem/F 题意 有 \(n\) 条长度 \(l_i\) 的边,问它们是否能组成一棵 \(n + 1\) 个节点的树,使得树的直径长度为 \(d\)。\(n, d \le 2000\)。 题解 首先当然要存在一 ......
题解 Construct 1917F 1917 Tree

AT_joisc2015_h 题解

传送门 题意:给定长为 \(n\) 的字符串 \(s\),你可以选择一个区间,将区间内的字符从小到大排序,求可以得到的最长回文子串长度,字符集大小为 \(n\)。 很有意思的题目。 首先容易做到 \(O(n^3)\)。考虑怎么优化。 我们先考察排序的区间和回文区间的关系。 如果两个区间无交,那么显然 ......
题解 AT_joisc joisc 2015 AT

在不使用内置函数和中间变量的情况交换数字LeetCode力扣题解面试题16.01

#异或法#Kotlin ```Kotlinclass Solution { fun swapNumbers(numbers: IntArray): IntArray { numbers[0] = numbers[0] xor numbers[1] numbers[1] = numbers[1] xo ......
题解 变量 函数 LeetCode 情况

CF1835C Twin Clusters 题解

题目链接 点击打开链接 题目解法 很牛逼的构造题 好像随也可以过 长度为 \(2^{k+1}\) 的序列的不同区间有 \(2^{2k+1}\) 个,值域是 \(4^k\),所以一定有解 将 \(a\) 做一遍前缀和,那么问题转化成了找 \(s_{r1}\oplus s_{l1-1}=s_{r2}\o ......
题解 Clusters 1835C 1835 Twin

[P4240] 毒瘤之神的考验 题解

[P4240] 毒瘤之神的考验 题解 知道: \[\varphi(ij)\varphi(\gcd(i, j)) = \varphi (i)\varphi(j)\gcd(i, j) \]可以进行转化,之后可以化简出形如: \[\sum_{i = 1}^n g(i)f(i, n/i)f(i, m / i ......
毒瘤 题解 P4240 4240

ICPC2021Kunming G Glass Bead Game 题解

Question ICPC2021Kunming G Glass Bead Game 有 \(n\) 个玻璃珠, \(B_1,B_2,\cdots, B_n\) 每一步你可以选择一个 \(B_i\) 移道第一个位置上,花费的代价为操作前 \(B_i\) 前面的玻璃珠的个数。已知每一步选择玻璃珠 \( ......
题解 Kunming Glass ICPC 2021

ICPC2021Kunming G Find the Maximum 题解

Question Find the Maximum 给出一个树,每个点有一个权值 \(b_n\),求一条树上路径 \(V\),要求 \(\frac{\sum_{u\in V (-x^2+b_u x)}}{|V|}\) 最大,其中 \(x\) 是自己选择的一个树 Solution 先转化一下 \(\f ......
题解 Kunming Maximum ICPC 2021

[Codeforces] CF1536C Diluc and Kaeya

CF1536C Diluc and Kaeya 题意 题目传送门 给你一个字符串 \(S\),其中只包含 'K' 或 'D' 两种字符,要求划分这个字符串使得各部分的 \(n(D):n(K)\) 相同,其中 \(n(D)\) 表示 \(S\) 中字符 'D' 出现的个数,最大化划分后形成的组数。 求 ......
Codeforces 1536C Diluc Kaeya 1536

AT_joisc2015_e 题解

AT_joisc2015_e 传送门 更好的阅读体验 题意 给定长为 \(n-1\) 的数组 \(b_i\),要求有多少长为 \(n\) 的数组 \(a_i\) 满足: \(b\) 数组可以由 \(a\) 数组删掉一个数得到。 存在一个排列 \(p\) 满足 \(a_i\) 是以 \(p_i\) 结 ......
题解 AT_joisc joisc 2015 AT

D. Split Plus K

原题链接 什么时候无解? 有解计算 code #include<bits/stdc++.h> #define ll long long using namespace std; ll a[200005]={0}; int main() { ll t; cin>>t; while(t--) { ll ......
Split Plus

codeforces刷题(1100):1901B_div2

挺好的一道裸区间贪心,非常基础。我刚开始写可能想的太复杂了(重复考虑了0的情况),不过看了题解恍然大悟,还是菜就多练。 ......
codeforces B_div 1100 1901 div

codeforces刷题(1100):1902B_div2

B、Getting Points 跳转原题点击此:该题地址 1、题目大意 Monocarp为了完成总共n天的某学期的p学分任务。Monocarp每天可以选择两种度过方式:上一次课和完成最多两个任务 或者 休息一天。其中上课获得l学分,每个任务获得t学分,其中任务不可以重复接取,并且每周获得一个新的任 ......
codeforces B_div 1100 1902 div

P8868 [NOIP2022] 比赛 题解

Description 小 N 和小 O 会在 2022 年 11 月参加一场盛大的程序设计大赛 NOIP!小 P 会作为裁判主持竞赛。小 N 和小 O 各自率领了一支 \(n\) 个人的队伍,选手在每支队伍内都是从 \(1\) 到 \(n\) 编号。每一个选手都有相应的程序设计水平。具体的,小 N ......
题解 P8868 8868 2022 NOIP

Pinely Round 3 (Div. 1 + Div. 2)

A. Distinct Buttons #include<bits/stdc++.h> using namespace std; void solve(){ int n; cin>>n; int a=0,b=0,c=0,d=0; for(int i=1;i<=n;i++){ int x,y; cin ......
Div Pinely Round

「题解」Codeforces 1427G One Billion Shades of Grey

感谢 127 的指导/ll \(|h_u-h_v|=\max(0,h_u-h_v)+\max(0,h_v-h_u)\),那么可以把它看成这样的问题: \[\min \{\sum_{(u,v)}\max(0,h_u-h_v+w_{u,v})c_{u,v}\} \]对偶一下,问题就变为:如果两个格子相邻 ......
题解 Codeforces Billion Shades 1427G

「题解」P9747 「KDOI-06-S」签到题

一个区间合法的充要条件是存在 \(x\) 满足其为区间按位或,并且《\(x\) 左侧所有数或起来》《\(x\) 右侧所有数或起来》二者有其一为 \(x\)。 扫描线扫右端点,不同的按位或将左端点分为 \(\log A\) 个区间,对于每个区间 \([l,r]\) 先在区间按位或 \(v\) 在序列中 ......
题解 P9747 9747 KDOI 06

CF396C On Changing Tree 题解

CF396C 考虑将贡献表示出来:\(\forall v\in \text{subtree}_u\),\(v\) 会加上 \(x - (dep_v - dep_u)k\),然后发现这个东西可以维护整棵子树,即把 \(x,dep_u\times k\) 和 \(dep_v\times k\) 分开计算 ......
题解 Changing 396C Tree 396

题解 P9993【[Ynoi Easy Round 2024] TEST_133】

就硬把 线段树 3 和 数列分块入门 2 揉到一起出。 维护原数组 \(a\) 及其历史最大值 \(hist\),对每个块,维护块内 \(a\) 升序排序后结果 \(p\)、块内 \(a\) 升序排序后历史最大值前缀和 \(prehist\)、块加标记 \(add\)、块历史和加标记 \(hista ......
题解 P9993 Round 9993 2024

[WC2018] 通道题解

先考虑只有两颗树要咋做,柿子先变成 \(dep_x+dep_y-2\times dep_{lca}+dist_2(x,y)\) 我们可以新建节点 \(x'\rightarrow x\),边权为 \(dep_x\),这样上面的式子可以看作枚举 \(lca\) 后,选出一个端点在不同子树中的直径,可以直 ......
题解 通道 2018 WC

ARC167D Good Permutation 题解

ARC167D 看到排列并且有 \(i\gets a_i\),就可以直接建出图来,显然是若干个不相干的环。 如果不求字典序最小,就可以直接不在同一个环中的 \(i,j\) 直接交换就可以了,因为它要求了最小化操作数。如果求字典序最小,直接从前往后扫一遍,可以用 set 维护不在这个环中且 \(j>i ......
题解 Permutation 167D Good ARC

P5513 [CEOI2013] Board 题解

P5513 容易发现,每次等价于对一个二进制数进行操作。但是这个二进制数长为 \(n\),即需要高精。但是这样支持加一和减一是复杂度会退化为 \(\mathcal{O}(n^2)\),有一个很正常的做法就压位,仿照 bitset 的做法进行操作,复杂度 \(\mathcal{O}(\frac{n ^ ......
题解 P5513 Board 5513 2013

ARC105E Keep Graph Disconnected 题解

ARC105E 正向考虑是很难的,从结果入手,发现最后一定是分别包含 \(1\),\(n\) 的两个完全图。 考虑表示出这两个人一共加了多少边:\(\frac{n(n-1)}{2}-m-x(n-x)\),\(x\) 表示点 \(1\) 所在集合的大小。 由于是判断先手还是后手必胜,所以只需看结果对 ......
题解 Disconnected Graph 105E Keep

P9032 [COCI2022-2023#1] Neboderi 题解

P9032 考试题。 发现 \(g\) 的值是若干个相同的段,且段数很少,因为每次取 \(\gcd\) 至少会将值域变为原来的一半。所以段数是 \(\mathcal{O}(\log V)\) 的。 然后就可以从小到大枚举左端点,然后枚举 \(g\) 的值,找的是最远的满足 \(\gcd(a_l,\d ......
题解 Neboderi P9032 9032 2022

【数据结构】P4338 [ZJOI2018] 历史 题解

P4338 先考虑怎么安排崛起的先后顺序最优。 但是发现好像没有一个很好的顺序去进行崛起,并且由于 \(a_i\) 的值域会很大,所以即使知道顺序应该也会难以进行维护。 转换一下方向,正难则反。考虑每个点的贡献,但是颜色不同时只会算一次,所以要钦定是哪一个点造成的贡献。令当前考虑的点为 \(u\), ......
题解 数据结构 结构 数据 历史
共6000篇  :10/200页 首页上一页10下一页尾页