题解1328e cf

《CF1824E LuoTianyi and Cartridge》 解题报告

好题。 模拟赛出了这题,抽象。 初步化简: 由于 \(\min (A,C)\) 不好处理,我们考虑从大到小加边加点,或者从小到大删边删点。 一般题目是考虑加边加点好操作一点,这题是考虑删边删点好操作。 然后我们记当前枚举的 \(\min (A,C)\) 的最小值是多少,记为 \(x\) 。然后称大于 ......
LuoTianyi Cartridge 报告 1824E 1824

【题解】洛谷#P7073 [CSP-J2020] 表达式

【题解】洛谷#P7073 [CSP-J2020] 表达式 Description 给定一个逻辑表达式和其中每一个操作数的初始取值后,再取反某一个操作数的值时,求出原表达式的值。表达式将采用后缀表达式的方式输入。 Solution 根据题目可得,当取反一个操作数的值时,整个表达式大体只有变与不变两种情 ......
题解 表达式 CSP-J 7073 2020

CF1878E Iva & Pav

思路 要求从一个点开始最远可以选择那个点使得两点之间的数字的与大于等于 \(k\),最开始想到的是提前预处理出每个点往后若干位的与,因为与只可能变小不可能变大,所以可以二分找到最远的位置,但是这样无论时间还是空间都会爆掉,所以我们考虑优化一下这个办法。 既然不能把每个点的后面的位置的与全部算出来,那 ......
1878E 1878 Iva amp Pav

代码源:CF 1355E(整数三分)

传送 点击查看代码 #include<bits/stdc++.h> using namespace std; typedef long long ll; int a[100010]; int n,A,R,M; ll f(int x) { ll y=0,z=0;//y表示需要增加的次数,z表示需要减少 ......
整数 代码 1355E 1355

CF1010C Border 题解

题目传送门 前置知识 最大公约数 | 裴蜀定理 简化题意 给定一个长度为 \(n\) 的序列 \(a\),求能用 \(r=(\sum\limits_{i=1}^{n}d_ia_i) \bmod k\) 表示的不同的 \(r\) 的个数及所有情况,其中对于每一个 \(i(1 \le i \le n)\ ......
题解 Border 1010C 1010 CF

CF131D Subway 题解

题目传送门 前置知识 强连通分量 | 最短路 解法 考虑用 Tarjan 进行缩点,然后跑最短路。 缩点:本题的缩点有些特殊,基于有向图缩点修改而得,因为是无向图,所以在 Tarjan 过程中要额外记录一下从何处转移过来,防止在同一处一直循环。 基环树上找环还有其他方法,这里仅讲解使用 Tarjan ......
题解 Subway 131D 131 CF

题解: P6933

题目传送门 这道题我用的是二分答案,只不过这道题和一般的二分答案有些不同,是浮点数的二分答案。那自然和整数的二分答案有些不同,下面我会说到。我们先来看一下思路解法。 思路解法 首先确定了是二分答案,我们需要先确定初始的 \(l\) 和 \(r\) 和 check 函数。 check 函数好写,我们可 ......
题解 P6933 6933

【题解 P4550】 收集邮票

收集邮票 题目描述 有 \(n\) 种不同的邮票,皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是 \(n\) 种邮票中的哪一种是等概率的,概率均为 \(1/n\)。但是由于凡凡也很喜欢邮票,所以皮皮购买第 \(k\) 次邮票需要支付 \(k\) 元 ......
题解 邮票 P4550 4550

cf1110D. Jongmah

cf1110D. Jongmah 如果能够发现一点转化的话就简单很多 比如说最后的答案里出现了 三个(a,a+1,a+2),我们可以将它看作是(a,a,a),(a+1,a+1,a+1),(a+2,a+2,a+2) 也就是每种三元组(除了(a,a,a))最多只会出现两次 那么每种数最多有6个是个其它数 ......
Jongmah 1110 cf

【题解】1st ucup Stage 20: India G - Perfect Strings

考虑卡特兰数 \(C_n = \sum_{i=0}^{n-1}C_iC_{n-1-i}\),故有递推式 \[C = xC^2 +1 \]解出卡特兰数递推式: \[C = \frac{1 - \sqrt{1 - 4x}}{2x} \]考虑本题的递推式: \[F_n = \sum_{i=0}^{n-1} ......
题解 Perfect Strings Stage India

关于洛谷题解审核

我想问一下,大家觉得题解的重点是什么?很显然是思路,代码的正确性,次要的才是格式。 但是,洛谷对于题解格式的审核是不是有点过于严格了呢? 比如说这段话: 如果 \(n\) 为 \(0\), 那么便是无解。 大家能一眼看出 , 后面多了空格吗? 这种题解其实没什么大问题,别人看题解时根本不会在意这些细 ......
题解

【bitset】【线段树】CF633G Yash And Trees 题解

CF633G 简单题。 先看到子树加和子树质数个数和,果断转换为 dfs 序进行处理。 既然有区间求和,考虑线段树。 若对于每一个节点维护一个 \(cnt\) 数组,用二进制数 \(x\) 来表示,即当 \(cnt_i = 1\) 时第 \(i\) 位为 \(1\)。设当前节点为 \(u\),左右子 ......
线段 题解 bitset Trees 633G

[ABC257F] Teleporter Setting 题解

1.题目 洛谷传送门 2.思路 我们可以把不确定的点当成真实存在的 \(0\) 号点,建边的时候就正常连即可。 然后我们来看一个样例: 1 - 2 - 0 3 - 4 - 5 当我们把 \(0\) 号点看成 \(3\) 号点时,答案就是 \(1\) 号点到 \(0\) 号点的距离加上 \(3\) 号 ......
题解 Teleporter Setting 257F ABC

【思维】【DP】ABC298Ex Sum of Min of Length 题解

ABC298Ex 简单题。 因为有 \(\min\) 不好做,容易想到讨论 \(d(i, L)\) 和 \(d(i, R)\) 的大小。 令 \(p = \text{LCA}(L, R)\),\(dep_L > dep_R, dist = dep_L + dep_R - 2\times dep_p\ ......
题解 思维 Length of ABC

【线段树合并】CF1805E There Should Be a Lot of Maximums 题解

CF1805E 待补:有另解 看到维护树上问题,可以想到线段树合并。 但直接维护显然不行,要一点技巧。 发现 \(val\) 的出现次数 \(cnt_{val}\) 如果 \(\ge 3\),那么一定是一个候选项,若 \(cnt_{val} = 1\),那么一定不能作为候选项。 于是可以用权值线段树 ......
线段 题解 Maximums Should 1805E

【DP】ABC273F Hammer 2 题解

ABC273F 一道比较板的区间 \(\text{dp}\)。 先对坐标离散化,令离散化数组为 \(v\)。 令 \(f_{i,j}\) 表示能走到区间 \([v_i,v_j]\) 的最短路程,显然 \(f\) 数组初始为 \(inf\)。 但发现这样无法转移,可以再增加一维 \(k \in \{0 ......
题解 Hammer 273F ABC 273

【倍增】P3422 [POI2005]LOT-A Journey to Mars 题解

P3422 一道有点意思的题。 看到是一个环,先破环为链,即 \(a_{n+i}=a_i, b_{n+i}=b_i\),此时就只需要跳到 \(x+n\) 而无需判环了。 如果顺时针走: 令 \(sum_i = \sum\limits_{j=1}^{i}{a_j-b_j}\),当能从 \(x\) 跳到 ......
题解 Journey P3422 LOT-A 3422

【图论】【寻找性质】CF1151E Number of Components 题解

CF1151E 发现每一个 \(f(l, r)\) 中的连通块总是一条链(一棵树)。 那么此时连通块的数量就等于点的数量减去边的数量。 先考虑点的总数,一个价值为 \(a_i\) 的点一定是在 \(l \leqslant a_i\) 且 \(r\geqslant a_i\) 的 \(f(l, r)\ ......
题解 Components 性质 Number 1151E

【二分】P7795 [COCI2014-2015#7] PROSJEK 题解

P7795 典。 显然 \(\mathcal{O}(n ^ 2)\) 的时间复杂度无法通过。 使子段平均值最大,考虑二分。 可以二分平均值 \(mid\),然后判断是否有满足条件的子段. 时间复杂度:\(\mathcal{O}(\dfrac{n\log\max\{a_i\}}{\text{eps}} ......
题解 PROSJEK P7795 7795 2014

CF1850H

带权并查集板题 维护到根的距离 #include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <queue> using namespace std; const int N =2e5+1 ......
1850H 1850 CF

P8565 Sultan Rage 题解

P8565 发现数列 \(a\) 增长的特别快,项数最多时是 \(a_1 = a_2 = \cdots = a_{100}\),但这样也只会有一百多项就可以超过 \(10^{18}\)。 可以考虑搜索,因为搜索树会比较稀疏,函数 dfs(val, cur) 表示凑出 \(x\) 还需要 \(val\ ......
题解 Sultan P8565 8565 Rage

P4133 [BJOI2012]最多的方案 题解

P4133 双倍经验 发现斐波那契数列增长极快,不到 \(100\) 项就超过了 \(10^{18}\),搜索树也极为稀疏,可以考虑搜索。 爆搜肯定会超时,考虑优化: 可行性剪枝。 记忆化,去除重复的计算。 改变搜索的顺序,因为先考虑小元素的话,会有较多的无用的搜索,且小元素较灵活,更容易凑到 \( ......
题解 方案 P4133 4133 2012

【字符串】【哈希】ABC284F ABCBAC 题解

ABC284F 这题的正解是 \(Z\) 函数。 如果 \(str = T + T\) 的话,若可以找到连续的分别长为 \(n\) 的两段,且这两段可通过 \(1\) 次翻转变为相同的字符串,那么便一定有解,否则无解。 暴力判断是 \(\mathcal{O}(n)\) 的,时间复杂度直接上天。 可以 ......
题解 字符串 字符 ABCBAC 284F

【整除分块】【DP】ABC239Ex Dice Product 2 题解

ABC239H 简单题。 令 \(f_i\) 表示乘到 \(\ge i\) 的期望。 容易得到 \(f_i=\dfrac{\sum\limits_{j=1}^{n}f_{\lceil\frac{i}{j}\rceil}}{n}\)。 将 \(f_i\) 移到同一边,去掉系数,有 \(f_i=\dfr ......
题解 Product Dice ABC 239

【组合计数】ARC058D Iroha and a Grid 题解

ARC058D 简单组合计数。 可以先把矩形旋转一下,变为求从 \((1,1)\) 走到 \((n,m)\),只能向上或向右移动。且不经过左上角的 \(A\times B\) 的禁区的方案数,对 \(10^9 + 7\) 取模。 假如没有 \(A\times B\) 的禁区的话,那么方案数为 \(C ......
题解 Iroha 058D Grid ARC

【竞赛图】【DP】ARC163D Sum of SCC 题解

ARC163D 发现这个竞赛图一定能被分为两个集合 \(A\),\(B\)。满足 \(\forall u\in A,v\in B\),均有 \(u\to v\in E\)。答案就是划分这两个集合的方案数。 证明: 首先,竞赛图缩完点后一定是一条链,对强连通分量进行标号,满足编号小的强连通分量指向编号 ......
题解 163D ARC 163 Sum

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

A. Escalator Conversations Problem [题目](Rudolph and Cut the Rope) Sol & Code 绳子长度大于钉子高度的要剪 #include <bits/stdc++.h> typedef long long ll; int min(int ......
题解 Codeforces Round 883 Div

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

A. Escalator Conversations Problem 题目 Sol & Code 签到 #include <bits/stdc++.h> typedef long long ll; int min(int a, int b) { return a < b ? a : b; } int ......
题解 Codeforces Round 888 Div

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

A. Array Coloring Problem 题目 Sol & Code 只有数列的和为偶数时才符合要求,即有任意个偶数,偶数个奇数。 将这些数分成两部分,发现两部分初始值 \(0\) 为偶数,偶数不会影响奇偶性,故需要偶数个奇数。 #include <bits/stdc++.h> #defi ......
题解 Codeforces Round 891 Div

P9712 「QFOI R1」贴贴 の 题解

这道题比较典型。 大概就是你先输出solution-,之后再处理其他的。之后遍历字符串,如果发现是大写,就给转成小写,之后输出,如果发现是减号,就输出字符串,都不是就直接输出该字符串的第 \(i\) 个字符。 #include <iostream> #include <string> using n ......
题解 P9712 9712 QFOI