题解1359a cf
CF1864F. Exotic Queries
我 是 傻 逼。 先不管那个限制。如果有一个序列 $a$,怎么求答案? 假设我们一个一个减,那么答案就是序列长度;但是,我们不一定会一个一个减:如果有 $x 点击查看代码 ```cpp #include #define int long long using namespace std; const ......
P2486 [SDOI2011] 染色 题解
# [P2486 [SDOI2011] 染色](https://www.luogu.com.cn/problem/P2486) 神仙树剖题。 ## 题意 给你一棵树,每个点都有颜色,支持下面两种操作: * 路径染色。 * 路径颜色段数量查询。 ## 树剖部分 我们看到树上问题,不好处理,所以想办法给 ......
P9585 酒店题解
### 分析: 贪心算法。 有 $n$ 个客人。对于每一位客人,我们都要遍历一遍所有房间,找出最优入住房间编号。 设当前遍历的房间编号为 $j$。 分三种情况: 1. 左右两边的房间皆空,则为最优房间。 2. 左右两边只有一个房间有客人,则愤怒值加 $2$(因为有两个客人所以加 $2$)。 3. 左 ......
ABC317F题解
让人头大的数位DP。建议评蓝。个人认为不适合放ABC的F。 将三个数二进制拆分,使三个数异或为0相当于每个二进制位三个数中有0或2个是1。 所以考虑数位DP,设 $dp[i][m1][m2][m3][lim1][lim2][lim3]$ 为第 $i$ 位,三个数模 $a$ , $b$ , $c$ 分 ......
[CF1830D] Mex Tree
[CF1830D](https://www.luogu.com.cn/problem/CF1830D) 贪心地想,黑白交替染色,这样每条大于1的路径的值都为2。但有些情况不优,树的形态是两棵子树中间由一条边相连,这样的最优方案是这条边上两点染1,其余点染0。 并且我们发现只用把每个同色连通块的贡献算 ......
P9580 「Cfz Round 1」Wqs Game 题解
[题目链接](https://www.luogu.com.cn/problem/P9580) 挺好的博弈论题,这是一个跟官方题解不太一样的做法。 遇到这种组合游戏可以先考虑逆推胜负,把握一下规律,我们先从一个区间的胜负判断开始入手。 考察区间中最后一个数字的从属关系,如果它属于弈,因为 $a_i>0 ......
P7414 [USACO21FEB] Modern Art 3 G 题解
## 思路 考虑区间 DP。 设 $f_{i, j}$ 表示要刷到 $[i, j]$ 这一段的目标需要的最小次数。 对于 $f_{i, j}$, 如果 $color_i$ 与 $color_j$ 相等,那么再子区间合并的时候就可以少刷一次,即 $f_{i, j} = \min\limits_{k = ......
【题解】 P7077 [CSP-S2020] 函数调用(拓扑排序)
## 题意 题目给定了一个长度为$n$序列$a$与$m$个操作,操作一共有3种: 1.给定$x,y$,使$a_x$增加$y$。 2.给定$x$,使$a$中所有数全部乘上$x$。 3.给出k个数$c_1,c_2,...,c_k$,表示这个操作的任务是按照先后顺序执行编号为$c_1,c_2,...,c_ ......
P2049 魔术棋子题解
## 思路 设 $f_{i, j, k}$ 表示从原点走到 $(i, j)$ 模 $m$ 后的乘积为 $k$ 的方案数。 状态转移:$f_{i, j, ka_{i, j} \bmod m} = f_{i - 1, j, k} + f_{i, j - 1, k}$ 统计答案:$f_{n, n, k}$ ......
P1385 密令题解
## 思路 我们发现两种操作都不会影响字符之和。 考虑动态规划, 设 $f_{i, j}$ 表示在前 $i$ 位,可以达到和为 $j$ 的方案数。 有 $f_{i, j} = \sum\limits_{k = 0}^{25}f_{i - 1, j - k}$。 最后记得 $-1$,表示去除原始字符串 ......
CF1763F Edge Queries
[CF1763F Edge Queries](https://www.luogu.com.cn/problem/CF1763F) 圆方树板子题,~~这题真的有3000吗~~。 首先想到的是缩边双,但是以下情况边双不好处理: ![image.png](https://s2.loli.net/2023/ ......
AT_agc030_d [AGC030D] Inversion Sum 题解
# AT_agc030_d [AGC030D] Inversion Sum 题解 ## 题目大意 给你一个长度为 $n$ 的数列,然后给你 $q$ 次交换操作,你每次可以选择操作或者不操作,问所有情况下逆序对的总和。($n, q \le 3000$) ## 分析 很容易想到 $dp$,但是发现不好直 ......
CF1864C
记录一道昨天卡住的题[问题链接](https://codeforces.com/contest/1864/problem/C) 给你一个整数$n$,你可以进行最多$1000$次操作,使得$n$减去它的一个因数,要求每种减数至多出现两次 我们考虑先把$n$进行质因数分解,得到质因数序列$P$ $\{ ......
[ABC317G] Rearranging 题解
取自我的洛谷博客:https://www.luogu.com.cn/blog/SunnyYuan/solution-at-abc317-g 借鉴了官方题解思路。 ## 思路 首先我们要建立一个二分图。 对于输入的 $a_{i, j}$,我们可以连接 左侧的 $i$ 和 右侧的 $a_{i, j}$。 ......
「TAOI-2」Ciallo~(∠・ω< )⌒★ 题解
# 「TAOI-2」Ciallo~(∠・ω 考场上以防万一,我用的双哈希……但好像有点多余。 ```cpp #include #include #include #include using namespace std; const int N = 4e5 + 7, BASE = 131, mod ......
YACS 2023年8月月赛 甲组 T2 直线整点 题解
简单题,先二分出直线上 $x$ 最小的点使得这个点在矩形内。 然后不断跳,直到遇到整点。(实际上要用扩欧,但初测能过于是就偷个懒没写) 接着不断跳直到不符合条件。 先 $\sqrt{V}$ 个跳一下,跳完后再一个一个跳就不用写二分了多好。 代码: #include<iostream> #define ......
UVA908[Re-connecting Computer Sites]题解
[原题](https://www.luogu.com.cn/problem/UVA908) ## 1.题意分析 题意就是给你很多组数,对于每组数,有三组小数据。第一组小数据先输入一个n表示顶点数,然后再输入n-1条边表示初始边数。其它组小数据先输入一个数k,表示增加的边的数量,然后再输入k条边,表示 ......
CF1444A Division
## 思路 首先特判特殊情况,若 $p_i$ 本身不可被 $q_i$ 整除,那么 $x_i$ 就直接取 $p_i$ 最大。 否则的话,$p_i=q_i\times k$。所以 $q$ 的质因数,$p$ 都有,并且数量一定大于等于 $q$ 的这个质因数的数量。 那么如果 $x_i$ 的某个质因数个数小 ......
CF1823C Strongly Composite
## 思路 我们可以思考一下什么样子的合数是强合数。 首先一个数可以表示为 $p_1^{c_1}\times p_2^{c_2}\times \cdots \times p_x^{c_x}$。 那么这个数的约数个数为 $s=(c_1+1)\times (c_2+1)\times \cdots \ti ......
CF1423K Lonely Numbers
## 思路 因为对于 $\gcd(a,b)$,$\frac a{\gcd(a,b)}$,$\frac b{\gcd(a,b)}$ 中 $a$ 和 $b$ 是等价的,可以交换的。所以我们先令 $a>b$。 令 $\gcd(a,b)=d$,因为 $\frac a{\gcd(a,b)}$ 有除法,所以我们 ......
CF1862G The Great Equalizer
## 思路 对于一个数组,每次操作会缩短排序后的数组的相邻两个数的差距,所以总共会执行 $k$ 次操作,其中,$k$ 为排序后的数组的相邻两个数的最大差距。 因为每次操作都会对最大数加 $1$,所以答案就是 $\text{数组中的最大数} + \text{排序后的数组的相邻两个数的最大差距}$。 因 ......
CF1862F Magic Will Save the World
## 思路 假设总共耗时是 $s$ 秒,那么最多可以消灭的总生命值是 $s\times(w+f)$。 所以我们可以先求出所有怪物的生命值之和 $sum$,那么,至少需要时间 $t=\lfloor \frac{sum}{w+f} \rfloor$。 然后我们可以算出用这些时间最多可以用水魔法消灭的生命 ......
CF3C Tic-tac-toe
AC 后逛了逛题解,发现好像自己的代码比大佬都短很多? ## 思路 数据范围很小,先暴力求得 ```X```,```0```,```.``` 的个数,然后暴力求得连着的三个 ```X```,```0``` 的个数。 然后,我们来分类讨论: - 非法的情况一定优先判断,只有不非法才可能是其他情况,那么 ......
题解:城市
[题目链接](https://www.luogu.com.cn/problem/P9584) 你说得对,但是不如换根。换根是由原先的树形 DP 简单变换而来,故事发生在这道叫做《城市》的题目中,在这里你妄图求解每个点到树中其它所有节点的距离,即 $f_i = \sum_{j = 1}^n dis_{ ......
CF979D Kuro and GCD and XOR and SUM
### 题目大意 初始有一个空的集合,和 $Q$ 个操作。对于每个操作,有两种类型,分别用如下的两种形式表示: `1 u`:加入 $u$ 到集合 `2 x k s`:求一个最大的 $v$,使得: 1. $v+x \leq s$ 2. $k \mid \gcd(v,x)$ 3. $x \oplus v ......
CF894 div3
### A. Gifi Carpet 给一个n行m列的字符矩阵,问能否找到四列,第一列中要有字符'v' , 第二列要有字符'i' , 第三列要有字符'k',第四列要有字符'a'. $1 using namespace std; char s[30][30]; void Solve() { int n ......
LGR-156-Div.3 题解
# LGR-156-Div.3 题解 洛谷网校 8 月普及组月赛 I & MXOI Round 1 & 飞熊杯 #2 ![](https://cdn.luogu.com.cn/upload/image_hosting/bkh1u25m.png) 第一次AK一个比赛!而且排名这么靠前!!! # T1 ......
【主席树】CF813 E. Army Creation
# 【主席树】CF813 E. Army Creation 题目链接:https://codeforces.com/contest/813/problem/E ## 题意 多次询问,求一个区间内,所有数个数的总和,但相同的数最多被计算k次,强制在线。 ## 题解 这道题和牛客一道题很像,是那道题的加 ......
CF1801 题解
## A 首先考虑 $4\times 4$ 的矩阵构造。 $$\begin{bmatrix}0 & 1 & 4& 5 \\ 2 &3 &6 &7 \\ 8 & 9 & 12 & 13 \\ 10 & 11 &14 & 15 \end{bmatrix}$$ 我们发现每个矩阵的异或和都是 $0$,那么不 ......
力扣-2. 两数相加(C++题解)
>题目链接:https://leetcode.cn/problems/add-two-numbers/description/ 给你两个 **非空** 的链表,表示两个非负的整数。它们每位数字都是按照 **逆序** 的方式存储的,并且每个节点只能存储 **一位** 数字。 请你将两个数相加,并以相同 ......