initiation students 847j cf
[题解] CF1245D - Shichikuji and Power Grid
CF1245D - Shichikuji and Power Grid 题目传送门 题意 在一个网格图中,有 \(n\) 个城市。目标是使得 \(n\) 个城市都通电。 对于一个城市有电,要么选择在其位置建立发电站,要么和另一个有电的城市连线。 对于城市 \(i\) ,在其位置建立发电站的费用为 \ ......
CF1878E Iva & Pav
思路 要求从一个点开始最远可以选择那个点使得两点之间的数字的与大于等于 \(k\),最开始想到的是提前预处理出每个点往后若干位的与,因为与只可能变小不可能变大,所以可以二分找到最远的位置,但是这样无论时间还是空间都会爆掉,所以我们考虑优化一下这个办法。 既然不能把每个点的后面的位置的与全部算出来,那 ......
代码源: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表示需要减少 ......
CF1010C Border 题解
题目传送门 前置知识 最大公约数 | 裴蜀定理 简化题意 给定一个长度为 \(n\) 的序列 \(a\),求能用 \(r=(\sum\limits_{i=1}^{n}d_ia_i) \bmod k\) 表示的不同的 \(r\) 的个数及所有情况,其中对于每一个 \(i(1 \le i \le n)\ ......
CF131D Subway 题解
题目传送门 前置知识 强连通分量 | 最短路 解法 考虑用 Tarjan 进行缩点,然后跑最短路。 缩点:本题的缩点有些特殊,基于有向图缩点修改而得,因为是无向图,所以在 Tarjan 过程中要额外记录一下从何处转移过来,防止在同一处一直循环。 基环树上找环还有其他方法,这里仅讲解使用 Tarjan ......
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个是个其它数 ......
C语言:‘for‘ loop initial declarations are only allowed in C99 mode
求最大公约数之 穷举法 mistake: because: 只允许在C99模式下使用‘for’循环初始化声明 solution:不在for()中初始化生命变量 ......
【bitset】【线段树】CF633G Yash And Trees 题解
CF633G 简单题。 先看到子树加和子树质数个数和,果断转换为 dfs 序进行处理。 既然有区间求和,考虑线段树。 若对于每一个节点维护一个 \(cnt\) 数组,用二进制数 \(x\) 来表示,即当 \(cnt_i = 1\) 时第 \(i\) 位为 \(1\)。设当前节点为 \(u\),左右子 ......
【线段树合并】CF1805E There Should Be a Lot of Maximums 题解
CF1805E 待补:有另解 看到维护树上问题,可以想到线段树合并。 但直接维护显然不行,要一点技巧。 发现 \(val\) 的出现次数 \(cnt_{val}\) 如果 \(\ge 3\),那么一定是一个候选项,若 \(cnt_{val} = 1\),那么一定不能作为候选项。 于是可以用权值线段树 ......
【图论】【寻找性质】CF1151E Number of Components 题解
CF1151E 发现每一个 \(f(l, r)\) 中的连通块总是一条链(一棵树)。 那么此时连通块的数量就等于点的数量减去边的数量。 先考虑点的总数,一个价值为 \(a_i\) 的点一定是在 \(l \leqslant a_i\) 且 \(r\geqslant a_i\) 的 \(f(l, r)\ ......
nvidia-smi指令报错:Failed to initialize NVML: Driver/library version mismatch NVML library version: 535.113解决
nvidia-smi指令报错:Failed to initialize NVML: Driver/library version mismatch NVML library version: 535.113 我是刚开始没有nvidia-smi命令,输入后,提示我安装。 apt install nvi ......
CF1850H
带权并查集板题 维护到根的距离 #include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <queue> using namespace std; const int N =2e5+1 ......
CF1249(Div. 3) 题解(A to D)
\(\texttt{E F}\) 忘(不)记(会)写了。 A Yet Another Dividing into Teams 题解 题目大意 有一个长度为 \(n\) 的序列 \(a_1,a_2,\cdots,a_n\),将他们分为若干组,使得每一组没有两个数的差为 \(1\),使分的组数尽可能少。 ......
Letter Picking (CF D) (区间DP, 暴力)(0,1,2 Alice 平 bob ,尽可能小,尽可能大)
思路 : 区间dp(区间DP的时间复杂度 不一定是 n^3 ,可能是 n^2 更具题意) 直接题 直接 区间dp, 0 Alice 赢 1 平局 2 Bob 赢 (于是 alice 尽可能小, bob 尽可能大) alice 选 l , bob 可以选 l+1, 或者 r alice 选 r , b ......
Luogu CF1133B 题解
这道题其实很简单 要让两数和为 \(k\) 的倍数,需要满足以下两条件之一: 两数都是 \(k\) 的倍数 两数的余数和为 \(k\) 因此,我们可以先统计出余数 再按上述条件算出共有多少组,即可得到答案 注意: 当 \(k\) 为偶数时,余数为 \(k/2\) 的数要两两配对,不要多算 这里统计的 ......
Luogu CF755B 题解
这题其实不难。 两人最佳的方案就是先说对方会的词。 不难证明,设先手会说 \(n\) 个单词,后手会说 \(m\) 个单词, 若 \(n>m\),则先手胜,若 \(n<m\),则后手胜。 那如果 \(n=m\) 呢? 假设两人都会说的单词数为 \(k\), 那么一番推理发现,当两人说了 \(k-1\ ......
Luogu CF1174C 题解
这道题其实不难。 \(\gcd(i,j)=1\),其实就是 \(i\) 与 \(j\) 互质。 如果 \(i\) 与 \(j\) 不互质,那么我们一定要让 \(a_i\) 与 \(a_j\) 相同,只有这样,才能使 \(a\) 序列中的最大值最小化。 所以,我们可以使用埃氏筛法,当筛到质数时,给它和 ......
Luogu CF1469B 题解
这道题其实并不难。 题目大意是这样的:已知两个序列 \(r\) 和 \(b\),求出合并后的最大前缀和。 很好发现:答案就是 \(r\) 和 \(b\) 各自的最大前缀和之和。 但要注意:\(r\) 和 \(b\) 可以什么都不取,因此 \(maxa\) 和 \(maxb\) 初始要赋值为 \(0\ ......
Luogu CF1174C 题解
这道题其实不难。 \(\gcd(i,j)=1\),其实就是 \(i\) 与 \(j\) 互质。 如果 \(i\) 与 \(j\) 不互质,那么我们一定要让 \(a_i\) 与 \(a_j\) 相同,只有这样,才能使 \(a\) 序列中的最大值最小化。 所以,我们可以使用埃氏筛法,当筛到质数时,给它和 ......
CF400C 题解
这道题其实不难,只是一道非常简单的模拟题。 我们发现,每顺时针转动 \(4\) 次、镜面对称 \(2\) 次、逆时针旋转 \(4\) 次,就变回原来的样子了。 所以,在操作前,我们可以让 \(x\gets x\bmod4\),\(y\gets y\bmod2\),\(z\gets z\bmod4\) ......
CF163D
爆搜题。 由题列出以下方程组: \[ \begin{cases} abc=V\\ \frac{S}{2}=ab+bc+ac \end{cases} \]化简得: \[ \frac{S}{2}=a(b+c)+\frac{V}{a} \]又由基本不等式 \(a+b\geq 2\sqrt{ab}\) 得: ......
[题解] CF474E Pillars
题意 给定长度为 \(n\) 的序列 \(a\) 和常数 \(d\),输出一个最长的 \(a\) 的子序列,使得相邻两项的差的绝对值大于等于 \(d\)。 \(n\le10^5\) 题解 数据结构优化 DP 的板子题了吧。 首先,这道题看上去就很 LIS,我们尝试着用类似 LIS 的思路去做。 设 ......
[CF1874D] Jellyfish and Miku
Jellyfish and Miku D<C<B,哈哈。 设 \(dp_i\) 为起点为 i 时的期望步数,则 \[dp_0=1+dp_1\\ dp_n=0\\ dp_i=1+\frac{a_{i-1}}{a_{i-1}+a_i}dp_{i-1}+\frac{a_{i-1}}{a_{i-1}+a_i ......
[CF1854E] Game Bundles
题目描述 Rishi is developing games in the 2D metaverse and wants to offer game bundles to his customers. Each game has an associated enjoyment value. A ga ......
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] ......
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 ......
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\})\ ......
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 假如我 ......