题解1545 cf
情报破译 题解
\(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...\}\) 的数组,让他们倍增去做如上运算,最后用他们把 \( ......
Madoka and The Best University (cf E)( 枚举一个其中一个元素,欧拉函数,gcd)
#include<iostream> #include<cstring> using namespace std; const int Maxn=1e7; int phi[Maxn];//记录数的约数个数(欧拉函数) bool vis[Maxn];//记录数字是否访问 int prime[Maxn] ......
[题解]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\} ......
【题解】Typo
Typo Descreption 求反转一个不合法的括号序列中的一位使其成为一个合法序列的方案数(保证方案一定存在) Solution 其实也就是一道较复杂的模拟题 先判断哪一类括号数量更多,因为一定是将数量多的括号改成数量少的才有可能变为合法序列,这里就先用左括号举例 记录每个位置时没有配对的左括 ......
P1025 [NOIP2001 提高组] 数的划分 题解
题目传送门 本题共有两种方法,分别是递归深搜和动态规划 方法一:递归深搜 Solution 从小到大一一枚举每一个划分的数,。只要找到一种方案就记录,具体细节代码中有注释。 Code #include <bits/stdc++.h> using namespace std; int n,k,ans; ......
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 ......
项链 题解
随机化写法很强,但是这里不说。 这里只记录数据结构写法。 枚举右端点,快速找左端点。 首先一种合法的方案中,一种颜色只会有两种情况。全部在区间中及全部在区间外。 对于区间外的情况,也就是最后一次出现的位置 \(p\) 大于右端点 \(r\),我们可以维护当前枚举右端点之前的所有颜色非最后一次出现的点 ......
Madoka and The Corruption Scheme (CF D)(二叉树 整体考虑)
思路 : 题意 性质 : 要让某个人赢, 从上往下 右走了几次到他, 因此 就是 从 n轮中 选择 k 次往右走的 所有情况 ans 就是 tot- C(n,i) i>k 的选择次数, 把大的数往里面赛就行了. ......
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\})\ ......
[题解]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\) \ ......
GDKOI2016 魔卡少女 题解
首先看到询问有关位运算考虑拆为处理,由于 \(a_i \leq 10^3\) 所以一个数最多有 \(10\) 位。 我们考虑对于一位它的贡献是多少,我们发现第 \(j\) 位一个连续段的异或值为 \(1\) 时会产生 \(2^j\) 的贡献,所以问题转化为快速求所有位上异或和为 \(1\) 的区间个 ......
CF1873(Div. 4) 题解 (A to E)
A Short Sort 题解 题目大意 给定一个长度为 \(3\) 、由 \(a,b,c\) 组成的字符串,问可以不变或交换两个字符是的变为 \(\texttt{abc}\)。 解题思路 由于大小固定,所以预处理可行的字符串(仅包含 \(\texttt{abc acb bac cba}\))即可。 ......
题解 CF1034C【Region Separation】/ SS221116D【Xiong AK 10 IOI】
很妙的性质题!全是意识流证明见过吗? problem 每次选一个非空边集删掉,谓之曰砍树。砍树后需要满足每个连通块的点权和相同。 在一个方案中可以砍很多次树,都要满足砍树后的要求。一共有多少种合法方案呢? \(n\leq 10^6,1\leq a_i\leq 10^9\)。 solution 假如我 ......
传奇团子师傅题解
传奇团子师傅题解(模拟退火) 申明: 本篇题解借鉴了: https://www.luogu.com.cn/blog/SDNetFriend/solution-p7218 这篇博客(主要在bitset部分)。 题意: 给你个矩阵,包含三种颜色,一个美丽串要求你横着或者竖着或者斜着串成一串的三个颜色有特 ......
CF666B World Tour
World Tour の 传送门 \(4 \le n \le 3000\) 说明可以用 \(n^2\) 的做法,题目要求 \(4\) 个点的最短路最长,共 \(3\) 条路经,则枚举 \(2\) 个点。 如果枚举 \(a, c\),则要找 \(b, d\),但 \(b\) 和 \(c\) 也要判断路 ......
CF1875B
赛时没打…… 题意: 给定 \(T\) 组数据,每组数据给定 \(n\)。 要求构造一个长度为 \(n\) 的单调上升序列满足 \((3 \times a_{i}) \bmod (a_{i-1} + a_{i-2}) \ne 0\)。 首先我们运用幼儿园知识奇偶性可得 奇数加奇数等于偶数 奇数加偶数 ......
『题解』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\) 一定是单调不下降的。 那么我们可以先预处理出一个颜 ......
题解 Coloring Brackets
题目链接 对于括号问题,考虑区间 \(dp\)。这道题的括号序列是固定的,所以直接找出每个括号对应的括号在进行转化即可。 设 \(f_{l,r,0/1/2,0/1/2}\) 表示 \(l\sim r\),左括号不染色/染红色/染蓝色,右括号不染色/染红色/染蓝色的方案数。 若 \(l,r\) 是一对 ......
CF1661D Progressions Covering 题解
最详细的题解 题目传送门:Progressions Covering 阅读前人题解时,限于个人能力有限,有一些地方想了好一会儿才懂。发现很多题解都是在 @SDLTF_凌亭风 等作者基础上延伸,但详细程度依旧有限,尽管这篇题解亦是站在他们基础上延伸的,这篇题解更为详细的点明了很多地方。 本人第一次写题 ......
[ARC150D] Removing Gacha 题解
题意 给定一棵由 \(N\) 个节点组成的树,每个节点有黑白两种颜色。定义一个节点 \(u\) 为好的当且仅当路径 \(1 \leftrightarrow u\) 上的节点均为黑色的,反之为坏的。初始情况下所有点均为白色。 定义一次操作为选取一个坏的节点并将其染黑,求将全部节点均染为黑色的期望操作次 ......
洛谷 Power Tree 题解
题目链接 Power Tree 分析 将叶子节点按dfs序重标号后,每次控制操作可以转化为将子树内叶子节点所在区间加(或减)一个数 不难可以想到将叶子区间进行差分 每次对 \(l\) 到 \(r\) 的操作可以转化为将 \(l\) 上的数转移到 \(r+1\) 上 每次操作后差分数组的和不变 将所有 ......
[题解] CF632F - Swimmers in the Pool
CF632F - Swimmers in the Pool 题目传送门 题意 给定一个大小为 \(n \times n\) 的矩阵 \(A\) 。假设 \(A\) 满足以下条件,那么称该矩阵为 MAGIC ,否则为 NOT MAGIC ,并输出对应的属性(即 \(A\) 是 MAGIC 还是 NOT ......
GDCPC2023 B , D , F , K 题解
和队友一起打的 2023 年广东省大学生程序设计竞赛重现赛,写了 B, D, K,胡了一个 F。 D 题目大意 随着广东的建设与发展,越来越多人选择来到广东开始新生活。在一片新建的小区,有 \(n\) 个人要搬进 \(m\) 栋排成一行的房子,房子的编号从 \(1\) 到 \(m\)(含两端)。房子 ......
题解 [CSP-S 2021] 括号序列
题目链接 对于括号题,基本是栈匹配没有匹配的左括号和区间 \(dp\) 两个方向。这道题括号序列并不确定,只能用区间 \(dp\) 搞。 如果直接设 \(f_{l,r}\) 表示 \(l\sim r\) 的合法括号序列,那么由区间 \(dp\) 的套路可知,需要枚举中间点进行合并,那么 \(()() ......
[题解]CF1748C Zero-Sum Prefixes
UPD 23.10.3 更新的对思路的描述,以及代码。 思路 对于每一个 \(a_i = 0\),如果我们将它变为 \(x\),都可以直接将 \(i \sim n\) 位置上的前缀和加 \(x\)。 设 \(a_j\) 是 \(a_i\) 后第一个 \(0\),那么,在 \(j\) 时同样有上述规律 ......
【题解】洛谷 P1003 [NOIP2011 提高组] 铺地毯
原题链接 解题思路 如果直接按照题意开一个二维数组来模拟每个点最上面的地毯编号,会发现所占空间最坏情况下约为 (2*105)2*4B=4*1010*4B=1.6*1011B≈149GB,程序完全无法运行。 但实际上没有必要将每一个点的信息记录下来,只需要记录每一块地毯能覆盖哪些点,再依次判断哪那些地 ......
题解 [蓝桥杯 2016 省 B] 交换瓶子
题目链接 本题解讲解环图的做法。 要将一个 \(1\sim n\) 的排列通过交换变成 \(1\sim n\),可以先将 \(i\) 向 \(a_i\) 连边,那么最终一定会练成若干个环(每个点只有一个出度,也只有一个入度)。 假设交换在同一个环中的节点,一个环显然会变成两个环,也就是说,交换一次最 ......
「题解」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 ......
T2回家(home)题解
T2回家(home) 现在啥也不是了,虽然会了逆元,但是对期望概率题还是一窍不通,赛时相当于只推出了 \(n=1\) 的情况,结果运用到所有情况,理所应当只有20分。 题目描述 小Z是个路痴。有一天小Z迷路了,此时小Z到家有NN个单位长度。小Z可以进行若干次行动,每次行动小Z有 \(\frac 1 ......