摘要: 题目传送门 题意: 有一棵 $n$ 个点的无根树,对于每个 $1\le k\le n$,求选 $k$ 个点的最大权值。定义一种方案的权值为,满足“所有选中的点到该点的距离之和最小”的点的个数。$n\le 2\times 10^5$。 首先可以发现,对于一种方案,对于当前点,沿一条边移动后,边对面的子 阅读全文
posted @ 2023-03-01 23:33 曹轩鸣 阅读(139) 评论(1) 推荐(0)
摘要: 本博客于 2023.3.1 从 GitHub Pages 迁移而来,所以 2023.3.1 之前的博客时间和顺序是混乱的,如有需求可参见原地址。 以后的博客将在博客园更新。 阅读全文
posted @ 2023-03-01 18:29 曹轩鸣 阅读(53) 评论(0) 推荐(0)
摘要: 从平均数说起 我们都知道 $n$ 个数的平均数表示为: $$\frac{a_1+a_2+a_3+\cdots a_n}{n}$$ 这种最常见的平均数被称为“算术平均数”(Arithmetic Mean)。还有一种常用的平均数为“几何平均数”(Geometric Mean),计算公式如下: $$\sq 阅读全文
posted @ 2023-03-01 18:09 曹轩鸣 阅读(1118) 评论(0) 推荐(0)
摘要: 温馨提示:本文推式子比较多,建议跟着文章自己推一推。 扩展欧几里得是什么 扩展欧几里得(exgcd)是一个可以用来求 $ax+by=c$($c%\gcd(a,b)=0$,否则无解)的解的算法 求解 $ax+by=\gcd(a,b)$ 首先,如果 $b=0$ 的话,$\gcd(a,b)=a$,则解为 阅读全文
posted @ 2023-03-01 18:08 曹轩鸣 阅读(27) 评论(0) 推荐(0)
摘要: CF1132F. Clear the String 题目传送门 题意:有一个字符串,每次可以删除一段连续的相同字母的子串,求删完的最小次数。 做法一 设 $f[l][r]$ 表示 $[l,r]$ 删完的最小次数,则显然转移为枚举分两段加起来取最小值。由于可以删除连续一段相同的字母,所以如果左右两端相 阅读全文
posted @ 2023-03-01 18:07 曹轩鸣 阅读(48) 评论(0) 推荐(0)
摘要: 前言 时隔两年,这个极为经典的题目终于被我 AC 了。经过诸多优化改良,最终得到了这个个人认为比较优美的做法,写篇题解纪念一下,也供参考。 首先,建议读者先对照无注释代码自行理解一下大致过程。 无注释代码 #include<bits/stdc++.h> using namespace std; #d 阅读全文
posted @ 2023-03-01 17:28 曹轩鸣 阅读(96) 评论(0) 推荐(1)
摘要: D. LRUD Instructions 题意:一个左上角为 $(1,1)$、右下角为 $(H,W)$ 的矩阵,矩阵中有 $n$ 个障碍。你初始在 $(r,c)$,给你一个操作序列,每个操作为向上/下/左/右走若干格,如果遇到障碍/走到边界则停止。每次操作后输出当前位置。 用数据结构存下每行中的障碍 阅读全文
posted @ 2023-03-01 17:27 曹轩鸣 阅读(129) 评论(0) 推荐(0)
摘要: D. Divide by 2 or 3 题意:给你一个数组 $a$,每次可以选择一个 $2$ 的倍数除以 $2$,或选择一个 $3$ 的倍数除以三。问最少多少次操作将元素统一。无解输出 -1。 如果有解,结果将会是 $a$ 中元素的公因数,而所有公因数都是最大公因数的因数。由于额外的除法没有意义,最 阅读全文
posted @ 2023-03-01 17:26 曹轩鸣 阅读(40) 评论(0) 推荐(0)
摘要: 比赛传送门 B. Playing Cards Validation 题意:有 $n$ 个长度为 $2$ 的字符串,判断是否满足以下条件: 第一个字符为 HDCS 之一。 第二个字符为 A23456789TJQK 之一。 字符串两两不同。 一个模拟题。可以将两个字符可能的选择分别记录下来,循环一遍判断 阅读全文
posted @ 2023-03-01 17:25 曹轩鸣 阅读(86) 评论(0) 推荐(0)
摘要: 比赛传送门 D. All Assign Point Add 题意:给你一个数组 $a$,需要支持:全局赋值、单点加、单点查询。 做法一 维护最近一次全局赋值操作及每个位置在该操作后的增加量,当进行赋值操作时清空所有增加量。增加量可以用数组维护,但 STL 实现起来更简单。 By tute7627 i 阅读全文
posted @ 2023-03-01 17:24 曹轩鸣 阅读(29) 评论(0) 推荐(0)
摘要: 比赛传送门 C. RANDOM 题意:给你两个 01 矩阵 $S,T$,问是否可以将 $S$ 以列为单位重新排列得到 $T$。 判断 $S,T$ 的每列是否可以一一对应即可 做法一 以列为单位提取成字符串,$S,T$ 分别排序比较即可。 By cxm1024 #include<bits/stdc++ 阅读全文
posted @ 2023-03-01 16:34 曹轩鸣 阅读(78) 评论(0) 推荐(0)
摘要: D. Factorial and Multiple 题意:给你一个 $k$,求最小的 $n$ 使得 $k|n!$。$k\le 10^{12}$。 做法一 考虑将 $k$ 分解质因数,对于每项 $p^r$,都要求 $n!$ 中含有至少 $r$ 次 $p$。由于 $n!$ 的质因数单调增加,所以可以二分 阅读全文
posted @ 2023-03-01 16:33 曹轩鸣 阅读(103) 评论(0) 推荐(0)
摘要: 比赛传送门 C. String Delimiter 题意:有一个包含字母、双引号(保证有偶数个,相邻两个匹配)和逗号的字符串,将在双引号外的逗号改为句号。 维护当前在双引号里还是外,遇到双引号更改即可。 By SSRS #include <bits/stdc++.h> using namespace 阅读全文
posted @ 2023-03-01 16:32 曹轩鸣 阅读(83) 评论(0) 推荐(0)
摘要: B. Sandwich Number 题意:给你一个字符串,判断是否满足:首先为一个大写英文字符;然后为 $6$ 位数字,组成 $[100000,999999]$ 之间的数(即不能有前导零);最后为一个大写英文字符。 对照题意模拟即可。实现上可以通过函数来简化重复步骤。 By yokozuna57 阅读全文
posted @ 2023-03-01 16:32 曹轩鸣 阅读(30) 评论(0) 推荐(0)
摘要: 比赛传送门 C. Cash Register 题意:给你一个数字串(没有前导零),每次可以敲一个 $0\sim 9$ 的数字以输入,或敲一次 00 键以输入两个 $0$。问输入这个数字串的最少步骤。 显然遇到两个 $0$ 合并即可。 By SSRS #include <bits/stdc++.h> 阅读全文
posted @ 2023-03-01 16:30 曹轩鸣 阅读(61) 评论(0) 推荐(0)
摘要: 比赛传送门 D. Range Add Query 题意:有一个序列 $A$ 和正整数 $k$,每次询问给定 $l,r$,你可以在 $[l,r]$ 内选择一段长度为 $k$ 的子段,统一加减,问是否能将 $[l,r]$ 全部变为 $0$。$n,q\le 2\times 10^5,k\le 10$ 考虑 阅读全文
posted @ 2023-03-01 16:29 曹轩鸣 阅读(83) 评论(0) 推荐(0)
摘要: ABC139D. ModSum 题意:对于 $1\sim n$ 的排列 $P$,求 $\sum i%P_i$ 的最大值。 容易证明,最优排列为 ${2,3,4,\cdots,n,1}$,答案为 $1+2+\cdots+(n-1)=\frac{n(n-1)}{2}$。 By risujiroh #in 阅读全文
posted @ 2023-03-01 16:26 曹轩鸣 阅读(69) 评论(0) 推荐(0)
摘要: ABC266E. Throwing the Die 题意:有 $n$ 次扔骰子机会,每次随机扔到 $[1,6]$ 中的一个整数,每次扔完可以选择结束游戏(此时游戏结果为扔到的点数)或者再扔一次,求最佳策略下结果的期望。 设 $f_i$ 表示有 $i$ 次机会时的得分期望,则 $f_i$ 可以由 $f 阅读全文
posted @ 2023-03-01 16:25 曹轩鸣 阅读(47) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有 $3n$ 张卡片,每张有一个 $1\sim n$ 的数字。每次可以将最左边的 $5$ 张卡片任意排列,删掉前 $3$ 张,如果这三张数字相等则得一分;最后剩下的三张如果相等也的一分。求最大总得分。 模拟一下这个过程可以发现,相当于你有两张“手牌”,每次新加入三张,你从五张中扔掉 阅读全文
posted @ 2023-03-01 16:24 曹轩鸣 阅读(103) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有 $n$ 条鱼在数轴上,第 $i$ 条鱼初始在 $x_i$,有一个向右的速度 $v_i$ 以及全职 $w_i$。问任选出一个时刻 $t$ 并选出一个长度为 $A$ 的区间,包含的鱼的权值和最大为多少。$n\le 2000,\text{other val}\le 10^4$。 可以 阅读全文
posted @ 2023-03-01 16:23 曹轩鸣 阅读(42) 评论(0) 推荐(0)
摘要: 题目传送门 题意:给你一个 $9\times 9$ 的矩阵,格子非黑即白,问有多少个不同的正方形,满足四个顶点都为黑色。 很容易想到直接枚举四个顶点的位置,判断、去重,但这个做法显然过于麻烦,难以实现。 于是我们可以想到如何更简洁地确定正方形位置,并尽量省掉去重的步骤。我的做法是枚举左上的顶点,再枚 阅读全文
posted @ 2023-03-01 16:21 曹轩鸣 阅读(102) 评论(0) 推荐(0)
摘要: 题目传送门 题意:定义一个 $\mathbb{N}\to\mathbb{N}$ 的函数 $f(x)=\begin{cases}1&x=0\f(\lfloor\frac{x}{2}\rfloor)+f(\lfloor\frac{x}{3}\rfloor)&\text{otherwise}\end{ca 阅读全文
posted @ 2023-03-01 16:20 曹轩鸣 阅读(42) 评论(0) 推荐(0)
摘要: 比赛传送门 A. My Last ABC Problem 题意:有一个只含 ABC 字符串 $s$,每次询问一段区间 $[l,r]$,问至少需要多少次操作能将这段区间变得完全相同。每次操作可以选一段区间 $[a,b]$ 和一个 ${A,B,C}$ 的排列,将这段区间内按照排列描述的方式进行替换。 很 阅读全文
posted @ 2023-03-01 16:19 曹轩鸣 阅读(42) 评论(0) 推荐(0)
摘要: C. Manga 题意:有一本书有 $n$ 卷,你需要从第一卷开始依次看,一旦没有某一卷就停止。在看之前你可以进行若干次操作,每次卖掉任意两卷并买新的任意一卷。问操作结束后最多能看多少卷。 做法 1 注意到拥有的重复的卷都可以没有损失地卖掉,提前记录一下。然后从小到大扫,如果没有这一卷就尝试卖两本并 阅读全文
posted @ 2023-03-01 16:17 曹轩鸣 阅读(48) 评论(0) 推荐(0)
摘要: 比赛传送门 D. Stones 题目传送门 常规的博弈 DP。$f[i]$ 表示还剩 $i$ 个石子的情况下,先手将会拿到多少个,则 $f_i=\max\limits_{a_j\le i}{i-f_{i-a_j}}$。 E. Apple Baskets on Circle 题目传送门 首先二分答案, 阅读全文
posted @ 2023-03-01 16:16 曹轩鸣 阅读(30) 评论(0) 推荐(0)
摘要: 比赛传送门 D. Unique Username 题目传送门 暴搜即可,复杂度 $O(能过)$ E. Chinese Restaurant (Three-Star Version) 题目传送门 个人感觉非常好的一道题。 首先抽象一下题意:$n$ 个人和 $n$ 道菜分别呈环状排列,如下图: 环形可以 阅读全文
posted @ 2023-03-01 16:15 曹轩鸣 阅读(55) 评论(0) 推荐(0)
摘要: 比赛传送门 D. Do use hexagon grid 题目传送门 $n^2$ 枚举两个格点,判断是否能直接走,能则连边,最后用 dfs 计算连通块个数。 E. Last Rook 题目传送门 由于不需要考虑斜向的冲突,所以考虑行和列分开二分。以行为例: 如果有若干连续行的棋子数量小于行数,则答案 阅读全文
posted @ 2023-03-01 16:15 曹轩鸣 阅读(69) 评论(0) 推荐(0)
摘要: 比赛传送门 D. Index × A(Not Continuous ver.) 题目传送门 令 $f[i][j]$ 表示考虑序列的前 $i$ 位,$i$ 为取的 $j$ 个元素时的最大贡献,则 $f[i][j]=\max\limits_{1\le k<i} f[k][j-1]$。用 $g[j]$ 维 阅读全文
posted @ 2023-03-01 16:14 曹轩鸣 阅读(48) 评论(0) 推荐(0)
摘要: 比赛传送门 赛时做出来五道题,涨大分(开心) A. First Grid 有一个两行两列的矩阵,每个格子有黑和白两种颜色,至少有两个黑色格子,问黑色格子是否构成一个连通块(四连通)。 显然,如果左上、右下都是白色或右上、左下都是白色,那么不能构成,否则能。 B. Hard Calculation 有 阅读全文
posted @ 2023-03-01 16:13 曹轩鸣 阅读(88) 评论(0) 推荐(0)
摘要: minosi 题意:有一个 $n\times m$ 的矩阵,每个格子有黑白两种颜色。所有黑色的格子只能从左方或上分进入,白色格子只能从右方或下方进入。求是否能走恰好 $k$ 步从 $(1,1)$ 走到 $(n,m)$。$n\times m\le 300,k\le 10^6$。 做法一 可以直接 $O 阅读全文
posted @ 2023-03-01 16:12 曹轩鸣 阅读(22) 评论(0) 推荐(0)
摘要: 图论 边的形式统一的完全图用虚点。 边权按端点信息生成的图求最小生成树,考虑 Boruvka 算法。 数学 异或比大小考虑 trie 树。 质因数分解朴素 $O(\sqrt{n})$;预处理 $\sqrt{n}$ 以内的质数(假设有 $cnt$ 个)后可以做到 $O(cnt)\approx\frac 阅读全文
posted @ 2023-03-01 16:12 曹轩鸣 阅读(19) 评论(0) 推荐(0)
摘要: 该重载的运算符都重载了,赋值、强制类型转换都没问题。输入输出可以直接用 cin,cout。 自带压位优化。 唯一的区别是,没有取模运算,除法会返回 pair<结果,余数>。 class Int { public: using ll = long long; Int() {}; Int(const s 阅读全文
posted @ 2023-03-01 16:11 曹轩鸣 阅读(76) 评论(0) 推荐(0)
摘要: 在这个直角三角形中,我们设以 $c$ 为底的大三角形面积为 $S_c$,以 $a,b$ 为底的两个小三角形的面积分别为 $S_a,S_b$。 显然,$S_c=\frac{ch}{2}=c^2\cdot\frac{h}{2c}$。令 $m=\frac{h}{2c}$,则有 $S_c=mc^2$。 同理 阅读全文
posted @ 2023-03-01 16:10 曹轩鸣 阅读(41) 评论(0) 推荐(0)
摘要: ARC154D. A + B > C ? 题目传送门 题意:**交互题。**有一个长度 $2000$ 以内的排列 $p$,你每次可以询问 $i,j,k$,交互库 $p_i+p_j>p_k$,返回 Yes/No。在 $25000$ 次询问内得出排列。 可以想到,如果能询问 $p_i>p_j$ 是否成立 阅读全文
posted @ 2023-03-01 16:09 曹轩鸣 阅读(38) 评论(0) 推荐(0)
摘要: 规则简介 52 张牌(没有大小王),若干个人,进行许多轮游戏。每轮游戏过程如下: 初始有一个按钮(标记该轮的起点)位于某位置,顺时针方向两人依次叫“小盲”、“大盲”。首先由“小盲”和“大盲”依次下“盲注”(不可不下),这决定了这局游戏大致的格局大小。 由荷官发牌,每人两张,不公开。之后进行第一轮下注 阅读全文
posted @ 2023-03-01 16:09 曹轩鸣 阅读(410) 评论(0) 推荐(0)
摘要: 引入 有很多题的答案可能会很大,这时候通常会让我们输出模一个数的结果。当我们的计算中只用到了加法,可以边加边模;只用到了乘法,可以边乘边模。但如果有除法,就不能边除边模了。这时候就要用到乘法逆元:$a\times inv(b)\times inv(c)%mod=\frac{a}{b\times c} 阅读全文
posted @ 2023-03-01 16:09 曹轩鸣 阅读(49) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有 $1\sim 3n$ 的正整数,不重不漏地划分到 $n$ 个栈内,每个栈有 $3$ 个元素。每次从所有栈顶中选择最小的元素取出,直至取完,每次取的元素生成了一个 $1\sim 3n$ 的排列,求该排列的方案数。 考虑排列应该长什么样。从左往右考虑不好考虑,因为没法确定一开始选什 阅读全文
posted @ 2023-03-01 16:08 曹轩鸣 阅读(44) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有一个 $A\times B$ 的矩阵,所有格子全为白色。每次可以选择往右添加一列或网上添加一行白格子,并选择添加的其中一个格子染成黑色,问变成 $C\times D$ 的矩阵时图案的方案数。 做法一 By betrue12 B - 扩展 首先考虑以下 DP $dp[i][j]=$ 阅读全文
posted @ 2023-03-01 16:08 曹轩鸣 阅读(39) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有一个 $[0,L]$ 的数轴,分布有 $n$ 个休息站,每个休息站坐标为 $a_i$。A、B 两人速度均为 $1$,他们分别从某个休息站开始,向某个方向走,每人都遍历完两个端点后回到原地。两人只有在休息站才能交错,而不能在路上穿过。求最小时间。 首先发现一个性质:AB 一定会交错 阅读全文
posted @ 2023-03-01 16:07 曹轩鸣 阅读(39) 评论(0) 推荐(0)
摘要: 比赛传送门 A. Larger Score 因为只需要增加而不限制增加量,所以找到一对前小后大的数对,设法将它们交换即可。具体来说,所以对于 $k+1$ 到 $n$ 的一个位置 $i$,找到在前 $k$ 个当中离它最近的(最后的)、比它小的位置 $j$(取后缀 $\min$ 后用 lower_bou 阅读全文
posted @ 2023-03-01 16:07 曹轩鸣 阅读(40) 评论(0) 推荐(0)
摘要: CF1739E. Cleaning Robot 题意:有一个 $2\times n$ 的矩阵,每个格子有可能是干净的也有可能是脏的。一个机器人从 $(1,1)$ 出发,每次移动到离他的曼哈顿距离最近的脏格子并清理。如果出现曼哈顿距离相同的两个脏格子,则机器人会发生故障。在机器人出发前,你可以手动清理 阅读全文
posted @ 2023-03-01 16:06 曹轩鸣 阅读(127) 评论(0) 推荐(0)
摘要: 比赛传送门 A. Indirect Sort 题意:有一个排列 $a$,每次可以选三个不同的位置,从左到右依次为 $i,j,k$。如果 $a_i>a_k$,将 $a_i$ 加上 $a_j$,否则交换 $a_j,a_k$。问是否能将其排成非降序列。 贪心。如果第一个元素是 $1$,则一定可以:每次用 阅读全文
posted @ 2023-03-01 16:06 曹轩鸣 阅读(38) 评论(0) 推荐(0)
摘要: B. Doremy's Perfect Math Class 题意:有一个集合 $s$,初始有一些元素,每次操作可以选择两个元素并将它们的差加入集合。问若干次操作后集合内元素最多有多少个。 直觉告诉我们,集合中元素的 $\gcd$ 的倍数都能出现(前提是小于等于最大值)。证明:考虑相邻元素通过若干次 阅读全文
posted @ 2023-03-01 16:06 曹轩鸣 阅读(48) 评论(0) 推荐(0)
摘要: 题目传送门 题意:在表格中格子有两种表示方式,一种为列从 A-Z,AA-ZZ,AAA-ZZZ...,行为 1,2,3...,如 B2、BC23 等。另一种为 R+行+C+列 的形式,如 R23C45 等。你需要进行回答若干次询问,每次给出一个坐标,将其转换为另一种形式。 首先需要判断输入的是哪种形式 阅读全文
posted @ 2023-03-01 16:05 曹轩鸣 阅读(30) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有一个 $n\times m$ 的矩阵,每个格子有一个权值。每次操作会选择一个 $x\times y$ 的矩形区域,花费为“每个位置的权值减去最小权值”之和,区域之间不能重叠。每次会选择花费最小的区间,如果有重复,则优先选上面的,再优先选左边的。输出每次的区域和花费。 显然选区域不 阅读全文
posted @ 2023-03-01 16:05 曹轩鸣 阅读(35) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有一个矩阵,从最后一行开始走,每步可以向左上或右上走一步,最终走到第一行。要求沿途经过的格子权值和尽可能大且为 $K$ 的倍数。输出方案。 设 $f[i][j][k]$ 表示走到了第 $i$ 行第 $j$ 列,当前的和对 $K$ 取模为 $k$ 时的最大价值。转移采用刷表法较为简单 阅读全文
posted @ 2023-03-01 16:04 曹轩鸣 阅读(22) 评论(0) 推荐(0)
摘要: 题目传送门 题意:一副扑克牌由 54 张牌组成,包括 52 张基本牌和两张“王”。在本题中每张牌用两个字符表示: 对于基本牌,第一个字符为点数,有 '2' '3' '4' '5' '6' '7' '8' '9' 'T' 'J' 'Q' 'K' 'A' 13 种;第二个字符为花色,有 'C' 'D' 阅读全文
posted @ 2023-03-01 16:04 曹轩鸣 阅读(39) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有一个 $n$ 位的数字串,每位为 $0-9$。每次操作可以更改一位的数字,代价为新旧两位数字之差。问使字符串存在某一个数的出现次数超过 $k$ 的最小代价。如果有多种方案,输出字典序最小的。 求最小代价非常简单,枚举要让哪个数出现超过 $k$ 次,然后将所有位求出将这一位改成该数 阅读全文
posted @ 2023-03-01 16:04 曹轩鸣 阅读(54) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有一个 $n\times m$ 的矩阵,用尽可能多的“T”形覆盖它(可以旋转),使得它们之间互不重叠。 可以搜索,每次考虑当前位置放哪个角度的“T”形,转移到下一个位置。主要进行最优性剪枝:如果当前填放的数量加上之后的极大值(剩余格子数 $\div 5$)则直接返回。还有一个启发性 阅读全文
posted @ 2023-03-01 16:03 曹轩鸣 阅读(30) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有 $n$ 个物品,每个物品有权值 $a,b$,首先由 A 选择 $p$ 个物品,然后由 B 从其中再选择 $k$ 个物品。B 首先想让剩余 $p-k$ 个物品的 $b$ 的和尽可能小,在此基础上让 $a$ 的和尽可能小;A 首先想让这 $k$ 个物品的 $a$ 的和尽可能大,在此 阅读全文
posted @ 2023-03-01 16:03 曹轩鸣 阅读(42) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有一个环,每个位置的值为 0/1,初始在位置 $1$,当走到一个已经走过的格子时不需要花费,如果没走过,如果值为 1,需要花费 $b+1$,否则花费为 $1$。无论是否走过,移动到相邻的格子花费为 $a$。求花费 $\le t$ 时最多能走到多少个格子。 一个显然的结论是,走法一定 阅读全文
posted @ 2023-03-01 16:02 曹轩鸣 阅读(26) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有一个 $n$ 个点的无向完全图,边权为 $0/1$,钦定 $m$ 条边的边权,求填剩下的边的边权的方案数,满足:不存在一个三元环全为 $0$ 或二 $1$ 一 $0$。 观察第二条性质。首先显然有,如果 $a-b,b-c$ 为 $1$,则 $a-c$ 为 $1$,所以 $1$ 的 阅读全文
posted @ 2023-03-01 16:02 曹轩鸣 阅读(69) 评论(0) 推荐(0)
摘要: 题目传送门 题意:给你一个长为 $2n$ 的 01 序列 $a$,你可以选择它的一个子序列,将这个子序列循环右移一位。问是否能使得最终序列满足:可以严格分成两个完全相同的子序列。 显然,当 0/1 的个数为奇数时一定无解。于是只考虑为偶数的情况。 我们可以发现一个性质:我们选中的子序列一定是严格 0 阅读全文
posted @ 2023-03-01 16:01 曹轩鸣 阅读(26) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有一个 01 序列,每次可以选择两个元素,如果为逆序则交换,否则不变,无论是否交换都算一次操作。问排好序的期望操作次数。 容易想到使用 DP 计算,但状态并不是很好想。首先状态必须有单向性,必须有严格的 DP 顺序,于是我们可以想到用逆序对数来记录状态。然而,思考会发现并不可行。不 阅读全文
posted @ 2023-03-01 15:56 曹轩鸣 阅读(32) 评论(0) 推荐(0)
摘要: 129B. Students and Shoelaces 题意:一个 $n$ 个点 $m$ 条边的无向图,每一轮删去所有度数为 $1$ 的点,问删几轮停止。 暴力模拟每一轮即可,每次删点更新邻居度数。 {% note success code %} By exod40 #include <cstdi 阅读全文
posted @ 2023-03-01 15:55 曹轩鸣 阅读(62) 评论(0) 推荐(0)
摘要: A. Hometask 题意:一个字符串,给定 $k$ 个限制字符对 $(a_i,b_i)$,要求从原串中删除尽可能少的字符,使得不存在一个相邻的限制字符对。保证 $a_i\ne b_i$,且每个字符最多只出现在一个字符对中。 做法 1 可以设 $f[i][c]$ 表示前 $i$ 位,最后一位为 $ 阅读全文
posted @ 2023-03-01 15:55 曹轩鸣 阅读(36) 评论(0) 推荐(0)
摘要: 赛时 AC 2道题,掉大分(哭) A. Casimir's String Solitaire 题目传送门 $Problem$ 给你一个仅含 A,B,C 的字符串,每次可以删掉一个 A 和一个 B,或一个 B 和一个 C,位置、顺序不限,问能不能删完。 $t\le 1000,len\le 50$ $S 阅读全文
posted @ 2023-03-01 15:55 曹轩鸣 阅读(23) 评论(0) 推荐(0)
摘要: 没打比赛,赛后做出3道。 这场比赛题目质量很高,非常巧妙。 A. CQXYM Count Permutations $Problem$ 求有多少 $2n$ 的排列满足存在超过 $n$ 个 $i$ 使得 $p_i<p_{i+1}$,答案对 $10^9+7$ 取模。 $\sum n\le 10^5$ $ 阅读全文
posted @ 2023-03-01 15:54 曹轩鸣 阅读(40) 评论(0) 推荐(0)
摘要: VP做出来一道,补题又做出来3道。 A. Gamer Hemose $Problem$ 你有 $n$ 个武器,要打一个体力为 $H$ 的敌人,第 $i$ 个武器可以对敌人造成 $a_i$ 的伤害,每把武器不能连续使用两次,问至少需要多少次才能打败敌人。 $t\le 10^5,\sum n\le 2\ 阅读全文
posted @ 2023-03-01 15:54 曹轩鸣 阅读(19) 评论(0) 推荐(0)
摘要: 比赛传送门 赛时AC三道,补题做出一道。 A. Mathematical Addition {% note info no-icon Problem %} 给你两个正整数 $u,v$,求一对合法的 $x,y$ 使得 $\frac{x}{u}+\frac{y}{v}=\frac{x+y}{u+v}$。 阅读全文
posted @ 2023-03-01 15:53 曹轩鸣 阅读(30) 评论(0) 推荐(0)
摘要: 比赛传送门 A. Parallel Projection 题意:有一个 $w\times d\times h$ 的长方体,顶面和底面有两个点,只能走直线且不能穿过长方体,求最短距离。 显然曼哈顿距离必须要走。多出来绕弯的距离一定是选一个点,到边缘的最短距离 $\times 2$。 By cxm102 阅读全文
posted @ 2023-03-01 15:53 曹轩鸣 阅读(64) 评论(0) 推荐(0)
摘要: F. Multi-Colored Segments 题意:数轴上有 $n$ 个线段,每个区间有一个颜色 $c$,对于每个线段,求与它颜色不同的线段中与它的最短距离。距离定义为两个线段中的点集最近的两个点的距离,如果相交则为 $0$。 做法1 可以想到按颜色排序,正着扫一遍再反着扫一遍,每次维护当前颜 阅读全文
posted @ 2023-03-01 15:52 曹轩鸣 阅读(30) 评论(0) 推荐(0)
摘要: B. BAN BAN 题意:给你一个 $n$,生成一个字符串为 BAN 重复 $n$ 遍。每次操作可以选择两个位置进行交换,问至少多少次交换后可以使该串不存在 BAN 的子序列。输出方案。 显然对于每个 BAN 都至少要动一下,而每次交换可以动两位,所以答案的下界是 $\lceil\frac{n}{ 阅读全文
posted @ 2023-03-01 15:52 曹轩鸣 阅读(27) 评论(0) 推荐(0)
摘要: 比赛传送门 D. Challenging Valleys 题意:给你一个数组,判断它是否为“山谷形”。 tourist 的做法是假想在最左边和最右边插入一个极大值(结果不变)来统一情况,然后只需要判断下凹(比左右两边都低)的位置个数。如果为 $1$ 则正确。 By tourist #include 阅读全文
posted @ 2023-03-01 15:51 曹轩鸣 阅读(44) 评论(0) 推荐(0)
摘要: 比赛传送门 A. Divide and Conquer 题意:给你一个数组,每次操作可以将一个数变为它除以二下取整,求将数组的和变为偶数的最小次数。 显然如果数组本来就是偶数,则为 $0$,否则一定是选一个数一直除到改变,而其他数不动(动了显然更劣)。于是对于每个数求改变奇偶的最小次数,模拟即可。 阅读全文
posted @ 2023-03-01 15:51 曹轩鸣 阅读(17) 评论(0) 推荐(0)
摘要: 题意:给你一个由 0、1、&、|、(、) 组成的字符串,保证是一个合法的逻辑表达式。其中括号优先级最高,与运算优先级高于或运算,同级之间从左到右算。定义一次短路为,或运算的左边结果为 1,或者与运算的左边结果为 0,此时后面部分无需计算(也不统计短路)。询问该逻辑表达式的结果以及与、或运算各自的短路 阅读全文
posted @ 2023-03-01 15:50 曹轩鸣 阅读(510) 评论(0) 推荐(0)
摘要: 比赛传送门 A. Monsters (easy version) 题意:有 $n$ 个怪物,每个有 $a_i$ 滴血,每次可以选择一个怪物减一滴血,也可以“让所有怪物减一滴血,且如果杀死怪物则重复操作”。其中,第二种攻击只能使用一次。问杀死所有怪物,使用第一种攻击的最小次数。 显然要让第二种攻击发挥 阅读全文
posted @ 2023-03-01 15:50 曹轩鸣 阅读(46) 评论(0) 推荐(0)
摘要: 比赛传送门 C. Another Array Problem 题意:给你一个数组 $a$,每次可以选两个位置 $i,j(i<j)$,将 $[i,j]$ 内的所有数替换为 $|a_i-a_j|$。问最终数组的和最大为多少。 首先一个显然的结论为,任意位置最终结果都不会超过数组最大值。于是可以考虑能不能 阅读全文
posted @ 2023-03-01 15:48 曹轩鸣 阅读(41) 评论(0) 推荐(0)
摘要: 比赛传送门 C. Interesting Sequence 题意:给你 $n,x$,求最小的 $m\ge n$,使 $n&(n+1)&(n+2)&\cdots&m=x$,或判断无解。 首先每一位独立,分别考虑。与运算每一位都越来越小,所以 $x$ 的每一位都不能大于 $n$,否则直接无解。于是一位的 阅读全文
posted @ 2023-03-01 15:48 曹轩鸣 阅读(36) 评论(0) 推荐(0)
摘要: 挖个巨坑,慢慢填。 从 Nim 游戏入手 问题:有 $n$ 堆石子,第 $i$ 堆石子有 $s_i$ 个,两个人轮流取石子,每人每次只能从一堆中取任意数量的石子,可以取完,不能不取。问先手必胜还是必败。 前置知识: 异或 $\oplus$:有两个数均为 $0$ 或 $1$,若它们相等则异或结果为 $ 阅读全文
posted @ 2023-03-01 15:45 曹轩鸣 阅读(44) 评论(0) 推荐(0)
摘要: 01背包 由于01背包太过经典,所以一定要把每一个细节理解透彻! 有 $n$ 个物品和一个容量为 $m$ 的背包,每个物品有体积 $w_i$ 和价值 $v_i$,求用这个背包所能装下的最大价值。 设 $f_{i,j}$ 表示只考虑前 $i$ 个物品,体积不超过 $j$ 的最大价值。如果我们算完了前 阅读全文
posted @ 2023-03-01 15:44 曹轩鸣 阅读(38) 评论(0) 推荐(0)
摘要: 引入———十二重法 考虑对 $n$ 元集到 $m$ 元集的映射进行计数,根据一些不同的限制,引申出十二个基本的组合问题,被称为十二重法。 单射/不受限/满射 $n$ 元集中的元素是可区分还是不可区分 $m$ 元集中的元素是可区分还是不可区分 一共 $3\times 2\times 2=12$ 种限制 阅读全文
posted @ 2023-03-01 15:43 曹轩鸣 阅读(83) 评论(0) 推荐(0)
摘要: 描述:对于任意正整数 $n$,在 $(n,2n]$ 间至少存在一个质数 $p$。 首先有一个引理: 对于任意 $x>1$,$\prod\limits_{p\le x}p\le 4^{x-1}$。 证明: 考虑数学归纳法,假设对于 $x\in{2,3,\cdots,n}$ 成立,证明其对于 $n+1$ 阅读全文
posted @ 2023-03-01 15:43 曹轩鸣 阅读(177) 评论(0) 推荐(0)
摘要: A. 假期计划 题意:有一个无向图,点有点权。定义两个节点“可达”当且仅当这两个节点的最短路不超过 $k+1$。求一组互不相同的节点 ${a,b,c,d}$ 使得 $1\leftrightarrow a\leftrightarrow b\leftrightarrow c\leftrightarrow 阅读全文
posted @ 2023-03-01 15:42 曹轩鸣 阅读(315) 评论(0) 推荐(0)
摘要: A. Diverse Substring $Problem$ 定义一个字符串为多变的,当且仅当字符串中没有一个字符的出现次数严格大于 $n/2$。给定一个只由小写字母构成的字符串,问是否能找出一个多变的字串,如果能,任意输出一个。 $n\le 1000$ $Solution$ 只有两个不同字符的字符 阅读全文
posted @ 2023-03-01 15:42 曹轩鸣 阅读(29) 评论(0) 推荐(0)
摘要: 赛时AC 2道题,赛后补题做出来一道(赛时交了4发,赛后交了十几发才过,太残忍了) 总体难度比较高,可能题解会比较冗长 A. Regular Bracket Sequences $Problem$ 输入 $n$,输出 $n$ 个互不相同的、合法的、长度为 $2n$ 的括号序列。 $t\le 50,n 阅读全文
posted @ 2023-03-01 15:41 曹轩鸣 阅读(30) 评论(0) 推荐(0)
摘要: 赛时AC 3道,补题做出来一道 A. Computer Game $Problem$ 有一个 $2\times n$ 的01矩阵,1为障碍,你要从 $(1,1)$ 走到 $(2,n)$,每一步只能向右、上、下、右上、右下走,问能不能走到。 $t\le 100,n\le 100$ $Solution$ 阅读全文
posted @ 2023-03-01 15:40 曹轩鸣 阅读(38) 评论(0) 推荐(0)
摘要: 比赛传送门 做出来五道题。 A. AB Balance {% note info no-icon problem %} 给你一个只含有 a 和 b 的字符串,问怎样通过修改尽可能少的字符,使得 ab 的数量和 ba 的数量相等。 {% endnote %} 显然,ab 的数量和 ba 的数量最多差 阅读全文
posted @ 2023-03-01 15:40 曹轩鸣 阅读(30) 评论(0) 推荐(0)
摘要: 比赛传送门 A. Cowardly Rooks 题意:有一个 $n\times n$ 的棋盘,有 $m$ 个位置上有车,保证互不攻击。问是否能将一个车移动一次使得仍然互不攻击。 稍加思考可得,如果 $m\ne n$,一定可以,否则一定不可以。因为如果 $m<n$,则一定有一列是空着的,随便选一辆车移 阅读全文
posted @ 2023-03-01 15:40 曹轩鸣 阅读(21) 评论(0) 推荐(0)
摘要: A. Two Towers 题意:有两个积木塔,由红色/蓝色积木组成,你每次可以将一个塔的塔顶放到另一个塔上,问任意次操作后能否使得两座塔都是红蓝相间。 可以将一个塔全部转移到另一个塔上,那么操作相当于把“大塔”从中间分开两半。如果“大塔”中红红/蓝蓝的数量超过 $1$,则不可行,否则从那里分开即可 阅读全文
posted @ 2023-03-01 15:40 曹轩鸣 阅读(36) 评论(0) 推荐(0)
摘要: 比赛传送门 A. Average distance 题意:有一棵 $n$ 节点的带边权树,求不同点对的平均距离。 平均距离即为总距离除以数量,所以考虑总距离。显然可以树形 DP,让点对的贡献在 LCA 处统计。维护 $f[u]$ 表示以 $u$ 为根的子树内所有节点到 $u$ 的距离之和,$sz[u 阅读全文
posted @ 2023-03-01 15:40 曹轩鸣 阅读(39) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有一个 $H\times W$ 的地板和 $n$ 个矩形地毯,问是否能不重不漏地填满地板。$H,W\le 100,n\le 7$。 考虑朴素的搜索,每次考虑最左上角的没填的位置,枚举用哪块地毯覆盖(因为这个格子肯定需要被覆盖,而不可能被更左上的格子覆盖)。先检查是否可以用这块地毯, 阅读全文
posted @ 2023-03-01 15:39 曹轩鸣 阅读(32) 评论(0) 推荐(0)
摘要: 题意:平面直角坐标系上有 $n$ 个机器人,每个机器人有一个上下左右之一的方向,初始所有机器人静止。在第 $0$ 秒,你让第一个机器人开始朝它的方向移动,速度为每秒一个单位。如果一个移动的机器人碰到了一个静止的机器人,该静止机器人也开始朝它的方向移动。需要注意的是,一个移动的机器人无论是否碰到其他机 阅读全文
posted @ 2023-03-01 15:39 曹轩鸣 阅读(31) 评论(0) 推荐(0)
摘要: 题目传送门 题意:有一个矩阵,每个格子为黑色或白色。你需要向白色格子中填 $1\sim 9$ 的整整睡。从某一个黑色格子的右侧往右连续的一段极长的白色格子被称为一个 run,往下连续一段同理。在每个 run 的开始位置会标记出该 run 的数字和。除此之外要求每个 run 内填的数互不相同。求一组合 阅读全文
posted @ 2023-03-01 15:39 曹轩鸣 阅读(46) 评论(0) 推荐(1)
摘要: 题目传送门 题意:在一个矩阵上选中了若干个格子,保证连通。你需要在这些格子中填数,使得:每行每列不能重复,且这些数进行给定运算(可以认为只有加法和乘法)的结果为给定的数值。求填数的方案数。 首先考虑朴素的搜索。将选中的格子按行列排序(顺序剪枝),依次考虑每个格子填的数,中途维护每行每列的数字使用情况 阅读全文
posted @ 2023-03-01 15:39 曹轩鸣 阅读(96) 评论(1) 推荐(1)
摘要: 题目传送门 题意:有 $n$ 支球队,每两支球队之间都会进行一场较量,赢者积 $3$ 分,输者积 $0$ 分,如果平局则各积 $1$ 分。给出每支球队的最终积分,求方案数。$n\le 8$。 首先考虑常规搜索。直接搜索每两支球队的比赛结果,中途可以进行可行性剪枝:如果当前球队剩下的比赛全赢也不能超过 阅读全文
posted @ 2023-03-01 15:39 曹轩鸣 阅读(33) 评论(0) 推荐(0)
摘要: hexo的LaTeX可算把我给折腾死了。。。 问题:多行公式无法显示(hexo-renderer-marked,mathjax) 看到网上说是因为渲染引擎把\\渲染成\,然后才交给mathjax渲染公式 都说把hexo-renderer-marked换成hexo-renderer-kramed,然后 阅读全文
posted @ 2023-03-01 15:38 曹轩鸣 阅读(67) 评论(0) 推荐(0)
摘要: 比赛传送门 A. Amusing Numbers 题意:定义 $n$ 以内 $k$ 的排名为,数字大小在 $1\sim n$ 的数字中,字典序小于等于 $k$ 的数字个数。给定 $k,m$,求最小的 $n$,使得 $n$ 以内 $k$ 的排名为 $m$。$m,k\le 10^9$。无解输出 $0$。 阅读全文
posted @ 2023-03-01 15:38 曹轩鸣 阅读(62) 评论(0) 推荐(0)
摘要: B. Business Center 有 $m$ 个电梯,每个电梯有两个权值 $a,b$,初始在第 $0$ 层。你可以选择一个电梯,进行恰好 $n$ 次操作,每次要么升高 $a$ 要么下降 $b$。要求最终在第一层以上且尽可能低。 对于每个电梯 $a,b$,考虑进行几次上几次下。由于要求在第一层以上 阅读全文
posted @ 2023-03-01 15:38 曹轩鸣 阅读(32) 评论(0) 推荐(0)
摘要: 字体 default : $\color{red}123abcABC$ mathrm : $\mathrm{123abcABC}$ mathbb : $\mathbb{123abcABC}$ mathbf : $\mathbf{123abcABC}$ mathcal : $\mathcal{123a 阅读全文
posted @ 2023-03-01 15:38 曹轩鸣 阅读(251) 评论(0) 推荐(0)
摘要: ~~本篇题解献给和我一样看不懂其他题解的状压DP小白~~ 相信大家都是看了其他题解看不懂才看到这篇题解的(莫名自信),所以什么每行棋子数递减啊,每行的棋子都排在左边啊,就不用我多说了,直接切入正题(大段文字多,请耐心观看)。 轮廓线DP 没见过不用慌,我也没见过(雾 轮廓线,就是把矩阵从右上角到左下 阅读全文
posted @ 2023-03-01 15:37 曹轩鸣 阅读(56) 评论(0) 推荐(0)
摘要: 基础的DP各位大佬已经讲得很明白了,本文主要讲一讲优化 DP状态很~~容易~~想到:$f[i]$ 表示打完第 $i$ 只鼹鼠能获得的最多数量。 转移:$f[i]=\min\limits_{j<i,\ t[i]-t[j]>=dis(i,j)}f[j]+1$ ,即对于每一个打完第 $j$ 个能来得及走到 阅读全文
posted @ 2023-03-01 15:37 曹轩鸣 阅读(49) 评论(0) 推荐(0)
摘要: 这道题是线性筛的模板题,所以我们考虑怎么不用线性筛。 我们都知道有一种筛法叫埃拉托色尼筛,简称埃氏筛,它比线性筛好写,也更好理解,但它过不了这道题,那怎么办呢?我们可以用 $bitset$ 代替 bool 数组来进行优化,这造成的常数优化非常显著,以至于开了 ios::sync_with_stdio 阅读全文
posted @ 2023-03-01 15:37 曹轩鸣 阅读(35) 评论(0) 推荐(0)
摘要: 众所周知,Tarjan 可以用来求有向图的强连通分量,我们就不扯那些 dfs 生成树,前向边、返祖边之类的东西,直接步入正题。 准备工作 Tarjan 算法本质上是一次 dfs 的过程,我们用 $dfn[u]$ 记录 $u$ 结点被 dfs 到的顺序,用 $low[u]$ 记录 $u$ 能到达的所有 阅读全文
posted @ 2023-03-01 15:37 曹轩鸣 阅读(36) 评论(0) 推荐(0)
摘要: 1008. Image Encoding 题意:有一个 $10\times 10$ 的矩阵,左下角为 $(0,0)$,右上角为 $(10,10)$(平面直角坐标系)。一部分格子被涂成了黑色,保证为一个联通块。有如下两种描述状态的方式: 第一行给出黑格子的个数 $n$,接下来 $n$ 行依次给出黑格子 阅读全文
posted @ 2023-03-01 15:36 曹轩鸣 阅读(40) 评论(0) 推荐(0)
摘要: 题目列表 1225. Flags 题意:有 $n$ 个格子排成一行,你需要将每个格子染成白、蓝、红三色之一,要求不能有两个相邻的同色格子,且蓝色必须在白色和红色之间。求方案数。 令 $f[i][j]$ 表示前 $i$ 个格子,末尾状态为 $j$ 的方案数。有意义的状态共有四种:白、红、白蓝、红蓝。其 阅读全文
posted @ 2023-03-01 15:36 曹轩鸣 阅读(42) 评论(0) 推荐(0)