题解at_arc 041 arc
初中英语优秀范文100篇-041Computer Improves My English Study-电脑有助于我英语学习
PDF格式公众号回复关键字:SHCZFW041 记忆树 1 Nowadays, we cannot live without computers for one day. 翻译 现在,我们一天都无法离开电脑。 简化记忆 电脑 句子结构 1Nowadays是副词,表示“现在”,作状语。 2we can ......
AT_joisc2015_e 题解
AT_joisc2015_e 传送门 更好的阅读体验 题意 给定长为 \(n-1\) 的数组 \(b_i\),要求有多少长为 \(n\) 的数组 \(a_i\) 满足: \(b\) 数组可以由 \(a\) 数组删掉一个数得到。 存在一个排列 \(p\) 满足 \(a_i\) 是以 \(p_i\) 结 ......
P8868 [NOIP2022] 比赛 题解
Description 小 N 和小 O 会在 2022 年 11 月参加一场盛大的程序设计大赛 NOIP!小 P 会作为裁判主持竞赛。小 N 和小 O 各自率领了一支 \(n\) 个人的队伍,选手在每支队伍内都是从 \(1\) 到 \(n\) 编号。每一个选手都有相应的程序设计水平。具体的,小 N ......
「题解」P9747 「KDOI-06-S」签到题
一个区间合法的充要条件是存在 \(x\) 满足其为区间按位或,并且《\(x\) 左侧所有数或起来》《\(x\) 右侧所有数或起来》二者有其一为 \(x\)。 扫描线扫右端点,不同的按位或将左端点分为 \(\log A\) 个区间,对于每个区间 \([l,r]\) 先在区间按位或 \(v\) 在序列中 ......
「题解」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}\} \]对偶一下,问题就变为:如果两个格子相邻 ......
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\) 分开计算 ......
ARC168
[ARC168A] <Inversion> 之前打了,忘了,懒得想了,咕。 $\texttt{Code}$ #include<bits/stdc++.h> using namespace std; #define int long long #define il inline #define re ......
ARC169
[ARC169A] Please Sign 每个点会一直一直给它的父节点加,所以深度越深的点影响越大,统计出每个深度的点权和,从深到浅判断正负,有正负就输出答案,全都没有就是 \(0\)。 $\texttt{Code}$ #include<bits/stdc++.h> using namespace ......
题解 P9993【[Ynoi Easy Round 2024] TEST_133】
就硬把 线段树 3 和 数列分块入门 2 揉到一起出。 维护原数组 \(a\) 及其历史最大值 \(hist\),对每个块,维护块内 \(a\) 升序排序后结果 \(p\)、块内 \(a\) 升序排序后历史最大值前缀和 \(prehist\)、块加标记 \(add\)、块历史和加标记 \(hista ......
[WC2018] 通道题解
先考虑只有两颗树要咋做,柿子先变成 \(dep_x+dep_y-2\times dep_{lca}+dist_2(x,y)\) 我们可以新建节点 \(x'\rightarrow x\),边权为 \(dep_x\),这样上面的式子可以看作枚举 \(lca\) 后,选出一个端点在不同子树中的直径,可以直 ......
ARC167D Good Permutation 题解
ARC167D 看到排列并且有 \(i\gets a_i\),就可以直接建出图来,显然是若干个不相干的环。 如果不求字典序最小,就可以直接不在同一个环中的 \(i,j\) 直接交换就可以了,因为它要求了最小化操作数。如果求字典序最小,直接从前往后扫一遍,可以用 set 维护不在这个环中且 \(j>i ......
P5513 [CEOI2013] Board 题解
P5513 容易发现,每次等价于对一个二进制数进行操作。但是这个二进制数长为 \(n\),即需要高精。但是这样支持加一和减一是复杂度会退化为 \(\mathcal{O}(n^2)\),有一个很正常的做法就压位,仿照 bitset 的做法进行操作,复杂度 \(\mathcal{O}(\frac{n ^ ......
ARC105E Keep Graph Disconnected 题解
ARC105E 正向考虑是很难的,从结果入手,发现最后一定是分别包含 \(1\),\(n\) 的两个完全图。 考虑表示出这两个人一共加了多少边:\(\frac{n(n-1)}{2}-m-x(n-x)\),\(x\) 表示点 \(1\) 所在集合的大小。 由于是判断先手还是后手必胜,所以只需看结果对 ......
P9032 [COCI2022-2023#1] Neboderi 题解
P9032 考试题。 发现 \(g\) 的值是若干个相同的段,且段数很少,因为每次取 \(\gcd\) 至少会将值域变为原来的一半。所以段数是 \(\mathcal{O}(\log V)\) 的。 然后就可以从小到大枚举左端点,然后枚举 \(g\) 的值,找的是最远的满足 \(\gcd(a_l,\d ......
【数据结构】P4338 [ZJOI2018] 历史 题解
P4338 先考虑怎么安排崛起的先后顺序最优。 但是发现好像没有一个很好的顺序去进行崛起,并且由于 \(a_i\) 的值域会很大,所以即使知道顺序应该也会难以进行维护。 转换一下方向,正难则反。考虑每个点的贡献,但是颜色不同时只会算一次,所以要钦定是哪一个点造成的贡献。令当前考虑的点为 \(u\), ......
CF1896D Ones and Twos 题解
CF1896D 如果只有单次询问其实可以双指针,但是这个难以进行拓展。 考虑找点性质。 发现 \(a_i,v\in\{1,2\}\),从值域上下手。发现若存在和为 \(S\) 的方案,则一定有和为 \(S-2\) 的方案,因为可以直接 \(-2\) 或 \(-1-1\)。 然后就变为找最大的和为奇/ ......
模拟赛简要题解
11.16(C0389) 100+10+50=160,rk3。 本来 BC 都应该写出来的。 A:dp 或 贪心 都可以,贪心直接从下往上覆盖即可。 B: 注意:这里的 \(\oplus\) 指的是按位或。 合法条件可以化简为:\(\oplus_{i=1}^{p}a_i = \oplus_{i = ......
[CTSC2018]暴力写挂题解
我们先将柿子变成 \(\frac{1}{2}(dis_{x,y}+dep_{x}+dep_{y})-dep'_{lca'}\) 考虑边分治,枚举断边,我们将一个点在第二棵树上的点权看成是 \(v_x=d_x+dep_x\),答案就为 \(v_x+v_y+dep'_{lca'}\) 对于每次边分治将分 ......
CF1887D Split 题解
Problem - D - Codeforces Split - 洛谷 我现在水平好烂,再做下去自信心就全败没了 先考虑 \(Q=1\) 怎么做? 两种做法: 暴力枚举分界点,左右判断 暴力枚举 \(\max\limits_{i=l}^{x} a_i\),找到最靠右边的分界点位置 \(x\),判断是 ......
[ABC267F] Exactly K Steps 题解
[ABC267F] Exactly K Steps 题解 思路 首先发现,如果对于查询 \((u, k), k > 0\) 可行,那么对于 \((u, k - 1)\) 也一定可行,因为往回走一步就可以了,所以对于一个点可以找到离它最远的点,根据直径的结论,这个点一定是直径的端点之一。 为了方便做, ......
【CF30E】Tricky and Clever Password 题解(manacher + exKMP)
manacher + exKMP + 二分。 感觉是最粗暴的方法,想出来之后自己硬莽了 4k,荣获题解区最长。 Solution 约定:下文所提及到的所有的回文串,均指奇长度回文串。 显然把题目拆成两个部分,中间的回文串,以及两边相同的连续子串。考虑一下从哪个入手比较好。 忘记是咋想的了,易得从两边 ......
[SNOI2019] 网络 题解
[SNOI2019] 网络 题解 最喜欢这道题。 简要题意 给一颗 \(n\) 个节点的树和一个参数 \(d\),定义两个节点 \(x,y\) 之间的距离为 \(x\) 到 \(y\) 的简单路径上的边数。 定义一个树上连通块的权值为连通块中任意两点的距离之和。定义一个树上连通块的直径为连通块中任意 ......
CF1887C Minimum Array 题解
Problem - 1887C - Codeforces Minimum Array - 洛谷 有点被降智了/ll 首先区间修改显然先转化成差分序列单点修改。 显然对于相同的操作序列,\(a_i\) 的取值对答案无影响,因此我们可以先让 \(a_i\) 全部取 \(0\),最后再加回来即可 假如说操 ......
洛谷B3647 【模板】Floyd 题解 floyd算法 求 多源多汇最短路
题目链接:https://www.luogu.com.cn/problem/B3647 floyd算法:https://oi-wiki.org/graph/shortest-path/#floyd-算法 示例程序: #include <bits/stdc++.h> using namespace s ......
AGC020F Arcs on a Circle
一个和值域无关的算法,复杂度 \(O(4^nn^2)\),不过好像可以用子集卷积和拉格朗日插值优化至 \(O(3^nn^3)\)。 如果说原问题在整数上做,我们通常可以用生成函数来刻画容斥的式子,求个二维 \(\exp\) 状物就可以了,但是在实数域似乎不太好扩展,但实际上是可以扩展的。 原问题实际 ......
[题解]CF1811D Umka and a Long Flight
思路 假设原题目中的 \(n\) 在本文中为 \(num\),则原长方形的长 \(m = f_{num + 1}\) 和宽 \(n = f_{num}\)。 显然对于最初始的长方形,显然是要将一个 \(f_{num} \times f_{num}\) 的长方形丢进去的,并且要么放最左边,要么放在最右 ......
CF768G The Winds of Winter题解
我们考虑暴力咋做,每次得到一个森林之后,必定是从最大的树上摘一棵子树,挪到最小的树上,所以此时的答案为 \(max(siz_{mx}-x,siz_{mn}+x,siz_{次大值} )\),于是发现 \(x=\frac{siz_{mx}-siz_{mn}}{2}\) 时答案最优,所以只需找到这个值的前 ......
CF238题解
CF238 Codeforces Round 148 (Div. 1) CF238A link CF238A题意 给出两个整数 \(n,m\),现在问你有多少个序列 \(a\) 满足: 序列长度为 \(n\)。 \(a_i\in[0,2^m-1]\) \(\forall 1\le i\le j \l ......
HNOI2017影魔题解
HNOI2017 影魔 对于两种贡献,都只用考虑左边第一个比自己大的,和右边第一个比自己大的数,分别记为 \(l_i、r_i\) 对于询问一,每个数对 \((l_i,r_i)\) 构成全部情况 对于询问二,可以拆分成 \(x=l_i\) 时,\(y \in [i+1,r_i-1]\) ,以及 \(y ......