随笔分类 -  快乐的一天从AC开始

每日刷题系列
摘要:打工人下班晚了,到家只剩一个小时了,做完最后两题夜宵外卖到了,前面的题先咕咕了。 F. Shifting String 题意 给定一个长度为$n$的字符串$s$和一个长度为$n$的排列$p$。 定义乘法:字符串$s_1s_2\dots s_n$乘上排列$p$等于$s_{p_1}s_{p_2}\dot 阅读全文
posted @ 2022-06-08 01:31 _Backl1ght 阅读(63) 评论(0) 推荐(1) 编辑
摘要:A和B跳过。 C - K Swap 题意 给定长度为$n$的数组$a$,每次可以从$[1, n - k]$中选择一个$i$然后交换$a_i$和$a_{i + k}$,问是否能通过有限次的操作将$a$升序排序。 其中$2 \le n \le 2 \times {10}^5$。 思路 操作可以看成:模$ 阅读全文
posted @ 2022-06-05 01:56 _Backl1ght 阅读(281) 评论(3) 推荐(2) 编辑
摘要:A. Cirno's Perfect Bitmasks Classroom 题意 给定一个数$x$,输出满足$x \operatorname{and} y > 0$且$x \operatorname{xor} y > 0$的最小的$y$。 其中$1 \le x \le 2^{30}$。 思路 就是$ 阅读全文
posted @ 2022-06-04 01:23 _Backl1ght 阅读(198) 评论(0) 推荐(1) 编辑
摘要:A就是模拟一下。 B就是曼哈顿距离。 C就是std::map搞一搞。 D就是容斥一下。 E - Distance Sequence 题意 问满足下列条件的数组$a$有多少种: 长度为$n$ 值域为$[1, m]$ 相邻元素差值的绝对值大于$k$ 其中$n \le 1000, m \le 5000, 阅读全文
posted @ 2022-05-29 01:47 _Backl1ght 阅读(177) 评论(3) 推荐(2) 编辑
摘要:A. Game with Cards 题意 两个人,每个人手上有一些牌,牌上写有数字。两个人轮流出牌,其中一个人先出,后面如果要出牌,牌上的数字必须比前一张牌要大。第一个不能出牌的人就输。 问两个人是否是先手必胜? 每个人牌的数量至多为$50$。 思路 答案只和两个人手上最大的牌有关。先手必胜当且仅 阅读全文
posted @ 2022-05-24 11:26 _Backl1ght 阅读(122) 评论(0) 推荐(1) 编辑
摘要:New Password 题意 给一个字符串,问最少几步能补到满足下列条件: 长度至少为7 至少有一个小写字母 至少有一个大写字母 至少有一个数字 至少有一个特殊符号 思路 先补充到满足后面4个条件,大概就是每种类型的字符没有的话就随便加一个。 现在只可能不满足长度条件,可以添加任意字符知道长度大于 阅读全文
posted @ 2022-05-23 01:02 _Backl1ght 阅读(114) 评论(0) 推荐(0) 编辑
摘要:A,B,C跳过。 D - Distinct Trio 题意 求满足$i < j < k$且$a_i,a_j,a_k$这3个数两两互不相等的$(i, j, k)$的数量。 \(n \le 2 \times 10^5\)。 思路 正着不好算,逆向思考一下就行。 AC代码 // Problem: D - 阅读全文
posted @ 2022-05-22 03:39 _Backl1ght 阅读(308) 评论(3) 推荐(4) 编辑
摘要:A - Right String 题意 给定一个长度为$n$的字符串$s$,每次可以修改其中一个字符至任意字符,至多使用$k$次修改。 记字符串的权重为$#{f(s, i)}$,$f(s, i)$表示将$s$循环左移$i$次。 其中$n, k \le 2000$。 思路 观察可得:答案为字符串的最小 阅读全文
posted @ 2022-05-16 01:48 _Backl1ght 阅读(297) 评论(0) 推荐(0) 编辑
摘要:A,B,C跳过。 D - At Most 3 (Contestant ver.) 题意 构造一个集合: 大小不超过$300$的集合 集合中元素大小不能超过$10^6$ 使得所有$[1,W]$中的数都可以通过任选集合中不超过$3$个元素然后加起来得到。 其中$W \le 10^6$。 思路 可以无脑输 阅读全文
posted @ 2022-05-15 15:31 _Backl1ght 阅读(126) 评论(0) 推荐(0) 编辑
摘要:A. Minimums and Maximums 题意 问同时满足下列条件的最小数组长度: 至少有$l_1$个,至多有$r_1$个元素等于最小值 至少有$l_2$个,至多有$r_2$个元素等于最大值 思路 首先肯定是只包含最小值和最大值数组长度会更小。 然后就是如果最小值和最大值相等的情况,这种情况 阅读全文
posted @ 2022-05-14 19:43 _Backl1ght 阅读(76) 评论(0) 推荐(0) 编辑
摘要:A,B,C过于简单跳过。 D - 250-like Number 题意 给定$n$,问有多少个二元组$<p, q>$满足: $p$和$q$都是素数。 \(p < q\)。 \(pq^3 \le n\)。 其中$n \le 10^{18}$。 思路 易得$q \le 106$,又$p < q$,所以所 阅读全文
posted @ 2022-05-09 13:35 _Backl1ght 阅读(104) 评论(0) 推荐(0) 编辑
摘要:A. Food for Animals 优先买前两种,再用第三种。 B. Make It Increasing 感觉自己写复杂了。 $dp_{i, j}$表示第$i$个元素使用$j$次操作的代价。 \[ dp_{i + 1, k} = \left\{ \begin{aligned} &\min_j 阅读全文
posted @ 2022-05-06 01:30 _Backl1ght 阅读(90) 评论(2) 推荐(1) 编辑
摘要:A. Number Transformation 令$a = 1$,则$b = \dfrac{y}{x}$。 B. Dictionary 暴力预处理出完整的字典,然后用std::map存单词和下标的映射。 C. Infinite Replacement 如果$t$等于a,则答案为$1$。 否则,如果 阅读全文
posted @ 2022-05-03 02:36 _Backl1ght 阅读(207) 评论(8) 推荐(3) 编辑
摘要:A - Jogging 简单模拟。 B - Perfect String 简单模拟。 C - Just K 暴力枚举。 D - Index Trio 等式等价于$A_i = A_j \times A_k$。 枚举$i$,然后$O(\sqrt{A_i})$枚举$A_i$的因子,再计数即可。 E - R 阅读全文
posted @ 2022-04-30 16:55 _Backl1ght 阅读(73) 评论(0) 推荐(1) 编辑
摘要:Infinity Area 易得操作的步数有限,直接模拟即可。 Palindromic Factors $O(\sqrt{n})$枚举因数即可。 Unlock the Padlock 观察可得:每次一定是在一个区间的基础上再向左或者向右扩展一个元素,然后将区间内的元素值都搞成新元素的值。 然后就是区 阅读全文
posted @ 2022-04-30 16:10 _Backl1ght 阅读(68) 评论(0) 推荐(0) 编辑
摘要:AC代码 Pancake Deque 贪心,队首队尾两个候选,贪心先选较小的。线性模拟一下就可以了。 Controlled Inflation 猜结论:同一个人的物品必定是非降序或者非升序。 这样输入之后,对每一个人的物品排下序,然后就可以DP了。 记$dp_{i, j}$表示前$i$个人,第$i$ 阅读全文
posted @ 2022-04-25 17:47 _Backl1ght 阅读(126) 评论(2) 推荐(0) 编辑
摘要:A. String Building 长度为$2$和$3$的可以构造出任何长度大于等于$2$的,所以将原序列分割成多段字符相同的极大子串,如果存在长度为1的则无解,反之有解。 B. Consecutive Points Segment 枚举第一个元素,然后就可以贪心了,具体就是$x_{i - 1}$ 阅读全文
posted @ 2022-04-23 01:11 _Backl1ght 阅读(200) 评论(0) 推荐(0) 编辑
摘要:A - Lacked Number 搞个数组标记一下。 B - Slimes 按照题意模拟一下,注意会爆int。 C - Dice Sum 应该DP一下就可以了。 我看数据范围小直接贴多项式板子然后生成函数搞了。 D - Range Count Query 用一个二维vector记录每一个值出现的位 阅读全文
posted @ 2022-04-17 22:11 _Backl1ght 阅读(68) 评论(0) 推荐(0) 编辑
摘要:比赛链接 A - Move Right 输入输出。 B - Unique Nicknames 循环。 C - 1 2 1 3 1 2 1 简单模拟。 D - Cylinder 注意到是一个队列的结构,然后直接模拟就可以了。 入队最多$n$次,所以出队也最多$n$次,直接模拟复杂度为线性。 E - M 阅读全文
posted @ 2022-04-11 00:02 _Backl1ght 阅读(112) 评论(0) 推荐(2) 编辑
摘要:Double or One Thing 做法1 假设当前字符比下一个字符小,那么复制一遍肯定更优。 假设当前字符比下一个字符大,那么复制一遍肯定更优。 假设当前字符和下一个字符相等,那么就看下一个不等的字符的大小,更大就这一串全复制,不然就全不复制。 做法2 从后面开始贪心,每次看是否复制,贪心的选 阅读全文
posted @ 2022-04-10 16:34 _Backl1ght 阅读(100) 评论(2) 推荐(1) 编辑