题解atcoder agc 004

[题解]AT_abc234_g [ABC234G] Divide a Sequence

思路 定义 \(dp_i\) 表示将前 \(i\) 个分为若干段的价值总和。容易得到状态转移方程: \[dp_i = \sum_{j = 1}^{i - 1}{dp_j \times (\max_{k = j + 1}^{i}\{a_k\} - \min_{k = j + 1}^{i}\{a_k\} ......
题解 234 Sequence AT_abc Divide

题解 P2674 《瞿葩的数字游戏》T2-多边形数

题目描述 给你一个正整数数 \(n\),问你它是不是多边形数 \(K\),如果是,设 \(K_1\) 是最小的 \(K\),\(K_2\) 是次小的 \(K\),输出 \(K_1\) 和 \(K_2\)。 具体思路 我们主要来看上面这张表里有什么规律。 性质 1:\(1\) 是任何一个多边形数。 性 ......
多边形 题解 数字 P2674 2674

情报破译 题解

\(d<n\le 2e5,m\le 10,1\le p\le 10^9,0\le a_i\le 1e9\) 每个位运算之间独立,所以我们可以构造一个 \(\{2^{k-1},2^{k-1}.....\}\) 和一个 \(\{0,0,0...\}\) 的数组,让他们倍增去做如上运算,最后用他们把 \( ......
题解 情报

[题解]AT_abc234_g [ABC234G] Divide a Sequence

思路 定义 \(dp_i\) 表示将前 \(i\) 个分为若干段的价值总和。容易得到状态转移方程: \[dp_i = \sum_{j = 1}^{i - 1}{dp_j \times (\max_{k = j + 1}^{i}\{a_k\} - \min_{k = j + 1}^{i}\{a_k\} ......
题解 234 Sequence AT_abc Divide

【题解】Typo

Typo Descreption 求反转一个不合法的括号序列中的一位使其成为一个合法序列的方案数(保证方案一定存在) Solution 其实也就是一道较复杂的模拟题 先判断哪一类括号数量更多,因为一定是将数量多的括号改成数量少的才有可能变为合法序列,这里就先用左括号举例 记录每个位置时没有配对的左括 ......
题解 Typo

P1025 [NOIP2001 提高组] 数的划分 题解

题目传送门 本题共有两种方法,分别是递归深搜和动态规划 方法一:递归深搜 Solution 从小到大一一枚举每一个划分的数,。只要找到一种方案就记录,具体细节代码中有注释。 Code #include <bits/stdc++.h> using namespace std; int n,k,ans; ......
题解 P1025 1025 NOIP 2001

CF1234(Div. 3) 题解(A to E)

A Equalize Prices Again 题解 题目大意 \(n\) 个商品,每个商品价格为 \(a_i\),求一个最小的价格 \(x\),使得不亏本(即 \(\sum\limits_{i=1}^n{(a_i-x)}\ge0\))。 解题思路 输出平均数向上取整(即 \(\left\lceil ......
题解 1234 Div CF to

项链 题解

随机化写法很强,但是这里不说。 这里只记录数据结构写法。 枚举右端点,快速找左端点。 首先一种合法的方案中,一种颜色只会有两种情况。全部在区间中及全部在区间外。 对于区间外的情况,也就是最后一次出现的位置 \(p\) 大于右端点 \(r\),我们可以维护当前枚举右端点之前的所有颜色非最后一次出现的点 ......
题解 项链

CF1203(Div. 3) 题解(C to F1)

由于太懒了,所以不想(会)写 \(\texttt{A B}\) 和 \(\texttt{F2}\)。 C Common Divisors 题解 题目大意 给定一个长度为 \(n\) 的数列 \(\{a_i\}\),求 \(\sigma(\gcd\limits_{i\in[1,n]}\{a_i\})\ ......
题解 1203 Div CF to

[题解]P3656 [USACO17FEB] Why Did the Cow Cross the Road I P

思路 首先,\(A\) 和 \(B\) 只会移动一个,那么,我们分开来算,我们先假定 \(B\) 会动。 不妨令 \(A\) 与 \(b\) 连边的端点为 \(x,y\)。如果有线段 \(pq\) 能与 \(xy\) 相交,一定满足如下其中一条规律: \(p < x \wedge q > y\) \ ......
题解 the P3656 Cross USACO

GDKOI2016 魔卡少女 题解

首先看到询问有关位运算考虑拆为处理,由于 \(a_i \leq 10^3\) 所以一个数最多有 \(10\) 位。 我们考虑对于一位它的贡献是多少,我们发现第 \(j\) 位一个连续段的异或值为 \(1\) 时会产生 \(2^j\) 的贡献,所以问题转化为快速求所有位上异或和为 \(1\) 的区间个 ......
题解 少女 GDKOI 2016

CF1873(Div. 4) 题解 (A to E)

A Short Sort 题解 题目大意 给定一个长度为 \(3\) 、由 \(a,b,c\) 组成的字符串,问可以不变或交换两个字符是的变为 \(\texttt{abc}\)。 解题思路 由于大小固定,所以预处理可行的字符串(仅包含 \(\texttt{abc acb bac cba}\))即可。 ......
题解 1873 Div CF to

题解 CF1034C【Region Separation】/ SS221116D【Xiong AK 10 IOI】

很妙的性质题!全是意识流证明见过吗? problem 每次选一个非空边集删掉,谓之曰砍树。砍树后需要满足每个连通块的点权和相同。 在一个方案中可以砍很多次树,都要满足砍树后的要求。一共有多少种合法方案呢? \(n\leq 10^6,1\leq a_i\leq 10^9\)。 solution 假如我 ......
题解 Separation 221116D 221116 Region

传奇团子师傅题解

传奇团子师傅题解(模拟退火) 申明: 本篇题解借鉴了: https://www.luogu.com.cn/blog/SDNetFriend/solution-p7218 这篇博客(主要在bitset部分)。 题意: 给你个矩阵,包含三种颜色,一个美丽串要求你横着或者竖着或者斜着串成一串的三个颜色有特 ......
团子 题解 师傅 传奇

『题解』P9688

题目传送门 思路: 设有两个颜色 \(x_1 x_2\) ,两端分别为 \(l_1\) \(r_1\) , \(l_2\) \(r_2\)。通过观察可以发现,若满足 \(x_1<x_2\) 且 \(r_1 > l_2\) 则 \(x_1 x_2\) 一定是单调不下降的。 那么我们可以先预处理出一个颜 ......
题解 P9688 9688

题解 Coloring Brackets

题目链接 对于括号问题,考虑区间 \(dp\)。这道题的括号序列是固定的,所以直接找出每个括号对应的括号在进行转化即可。 设 \(f_{l,r,0/1/2,0/1/2}\) 表示 \(l\sim r\),左括号不染色/染红色/染蓝色,右括号不染色/染红色/染蓝色的方案数。 若 \(l,r\) 是一对 ......
题解 Coloring Brackets

CF1661D Progressions Covering 题解

最详细的题解 题目传送门:Progressions Covering 阅读前人题解时,限于个人能力有限,有一些地方想了好一会儿才懂。发现很多题解都是在 @SDLTF_凌亭风 等作者基础上延伸,但详细程度依旧有限,尽管这篇题解亦是站在他们基础上延伸的,这篇题解更为详细的点明了很多地方。 本人第一次写题 ......
题解 Progressions Covering 1661D 1661

[ARC150D] Removing Gacha 题解

题意 给定一棵由 \(N\) 个节点组成的树,每个节点有黑白两种颜色。定义一个节点 \(u\) 为好的当且仅当路径 \(1 \leftrightarrow u\) 上的节点均为黑色的,反之为坏的。初始情况下所有点均为白色。 定义一次操作为选取一个坏的节点并将其染黑,求将全部节点均染为黑色的期望操作次 ......
题解 Removing Gacha 150D ARC

AtCoder Grand Contest 036 F Square Constraints

洛谷传送门 AtCoder 传送门 本质是 \(p_i \in [l_i, r_i]\) 的计数问题。 当 \(1 \le i \le n\) 时,\(l_i\) 才可能不等于 \(1\)。考虑容斥,设钦定 \(m\) 个不满足条件(上界为 \(l_i - 1\)),其余任意(上界为 \(r_i\) ......
Constraints AtCoder Contest Square Grand

洛谷 Power Tree 题解

题目链接 Power Tree 分析 将叶子节点按dfs序重标号后,每次控制操作可以转化为将子树内叶子节点所在区间加(或减)一个数 不难可以想到将叶子区间进行差分 每次对 \(l\) 到 \(r\) 的操作可以转化为将 \(l\) 上的数转移到 \(r+1\) 上 每次操作后差分数组的和不变 将所有 ......
题解 Power Tree

[题解] CF632F - Swimmers in the Pool

CF632F - Swimmers in the Pool 题目传送门 题意 给定一个大小为 \(n \times n\) 的矩阵 \(A\) 。假设 \(A\) 满足以下条件,那么称该矩阵为 MAGIC ,否则为 NOT MAGIC ,并输出对应的属性(即 \(A\) 是 MAGIC 还是 NOT ......
题解 Swimmers 632F Pool 632

GDCPC2023 B , D , F , K 题解

和队友一起打的 2023 年广东省大学生程序设计竞赛重现赛,写了 B, D, K,胡了一个 F。 D 题目大意 随着广东的建设与发展,越来越多人选择来到广东开始新生活。在一片新建的小区,有 \(n\) 个人要搬进 \(m\) 栋排成一行的房子,房子的编号从 \(1\) 到 \(m\)(含两端)。房子 ......
题解 GDCPC 2023

AtCoder Beginner Contest 288 Ex A Nameless Counting Problem

洛谷传送门 AtCoder 传送门 考虑到规定单调不降比较难搞。先设 \(g_t\) 为长度为 \(t\) 的满足条件的序列个数(可重且有顺序)。求这个可以设个 dp,\(f_{d, i}\) 表示考虑到从高到低第 \(d\) 位,当前 \(t\) 个数中有 \(i\) 个仍然顶上界,并且之前的位都 ......
Beginner Counting Nameless AtCoder Contest

题解 [CSP-S 2021] 括号序列

题目链接 对于括号题,基本是栈匹配没有匹配的左括号和区间 \(dp\) 两个方向。这道题括号序列并不确定,只能用区间 \(dp\) 搞。 如果直接设 \(f_{l,r}\) 表示 \(l\sim r\) 的合法括号序列,那么由区间 \(dp\) 的套路可知,需要枚举中间点进行合并,那么 \(()() ......
题解 括号 序列 CSP-S 2021

[题解]CF1748C Zero-Sum Prefixes

UPD 23.10.3 更新的对思路的描述,以及代码。 思路 对于每一个 \(a_i = 0\),如果我们将它变为 \(x\),都可以直接将 \(i \sim n\) 位置上的前缀和加 \(x\)。 设 \(a_j\) 是 \(a_i\) 后第一个 \(0\),那么,在 \(j\) 时同样有上述规律 ......
题解 Zero-Sum Prefixes 1748C 1748

【题解】洛谷 P1003 [NOIP2011 提高组] 铺地毯

原题链接 解题思路 如果直接按照题意开一个二维数组来模拟每个点最上面的地毯编号,会发现所占空间最坏情况下约为 (2*105)2*4B=4*1010*4B=1.6*1011B≈149GB,程序完全无法运行。 但实际上没有必要将每一个点的信息记录下来,只需要记录每一块地毯能覆盖哪些点,再依次判断哪那些地 ......
题解 地毯 P1003 1003 NOIP

题解 [蓝桥杯 2016 省 B] 交换瓶子

题目链接 本题解讲解环图的做法。 要将一个 \(1\sim n\) 的排列通过交换变成 \(1\sim n\),可以先将 \(i\) 向 \(a_i\) 连边,那么最终一定会练成若干个环(每个点只有一个出度,也只有一个入度)。 假设交换在同一个环中的节点,一个环显然会变成两个环,也就是说,交换一次最 ......
蓝桥 题解 瓶子 2016

「题解」Codeforces Round 894 (Div. 3)

A. Gift Carpet Problem 题目 Sol & Code 签到题 #include <bits/stdc++.h> #define N 21 typedef long long ll; int min(int a, int b) { return a < b ? a : b; } i ......
题解 Codeforces Round 894 Div

T2回家(home)题解

T2回家(home) 现在啥也不是了,虽然会了逆元,但是对期望概率题还是一窍不通,赛时相当于只推出了 \(n=1\) 的情况,结果运用到所有情况,理所应当只有20分。 题目描述 小Z是个路痴。有一天小Z迷路了,此时小Z到家有NN个单位长度。小Z可以进行若干次行动,每次行动小Z有 \(\frac 1 ......
题解 home

[ARC035B] アットコーダー王国のコンテスト事情 题解

前置芝士 排列组合 分析 明显的贪心,第一问与此题思路相似,优先选择做时间少的,可以尽可能让后面的罚时尽量的小。 难点在第二问,第二问问的是有几种可能性,有个显然的结论: 相同做题时间的题目,位置调换答案仍然相同。 那么可以用 桶+排列组合 来解决: 用桶储存这个做题时间的出现次数 \(b_i\), ......
题解 事情 035B ARC 035