随笔分类 -  cf 题解

1
摘要:G. Maximize the Remaining String 题意 给定一个字符串 如果某个字符在字符串中出现了超过两次 就删掉其中一个字符 直到最后字符串中包含的字符都只出现一次为止 求操作后最大字典序字符串 (若某个字符串是另一个字符串的前缀 那么规定该字符串比另一个字符串大) 思路 首先用 阅读全文
posted @ 2023-01-02 11:26 Yaqu 阅读(51) 评论(0) 推荐(0)
摘要:E. Tick, Tock 题意 给定一个n * m的矩阵,每个格子都有一个钟表,但只有有些格子中的时钟刻度已知,一次操作可以选定一行或一列将该行或该列的所有闹钟时刻都加1 每个钟表最大刻度是h,刻度取值范围是[0, h),操作后的钟表数字是(原数 + 1)%h,最后的目标是将所有格子的钟表的刻度都 阅读全文
posted @ 2022-12-31 12:53 Yaqu 阅读(43) 评论(0) 推荐(0)
摘要:E. Cross Swapping https://codeforces.ml/problemset/problem/1713/E 题意 给定n * n的矩阵 每次可以选定第k行和第k列交换位置 操作次数不限 求最小字典序的矩阵 思路 让i代表第i行不变 i + n代表第i行和第i列交换 如果a[i 阅读全文
posted @ 2022-12-31 12:01 Yaqu 阅读(65) 评论(0) 推荐(0)
摘要:F. Teleporters https://codeforces.com/problemset/problem/1661/F 题意 一条路上0 $a_1 a_2...a_{n}$的位置上有传送门 要从x位置的传送门到y位置的传送门要花费$(x - y)^2$ 给定m 问从0位置到$a_n$位置 花 阅读全文
posted @ 2022-12-29 20:20 Yaqu 阅读(48) 评论(0) 推荐(1)
摘要:B2. Palindrome Game (hard version) https://codeforces.com/problemset/problem/1527/B2 题意 给定一个长度为n的二进制串 两人博弈 每次可以做下面两个操作的一个: 1.将二进制串中的一个0翻转 花费代价 1 2.如果当 阅读全文
posted @ 2022-12-29 10:55 Yaqu 阅读(63) 评论(0) 推荐(0)
摘要:F. Edge Queries https://codeforces.ml/contest/1763/problem/F 题意 n个点m条边的无向图,保证一个点不会存在多个连通分量中,q次询问,问对于从u到v的所有路径上的边,删掉一条边不影响u和v的连通性,问这样的边有多少条 思路 先进行边双缩点, 阅读全文
posted @ 2022-12-25 11:02 Yaqu 阅读(59) 评论(0) 推荐(0)
摘要:cf1771 Hossam and (sub-)palindromic tree https://codeforces.ml/contest/1771/problem/D 题意 给出一颗n个节点的树,树上的每个节点都代表一个小写英文字母,求所有的$s(u, v)$(u到v的一条简单路径)中是回文串的 阅读全文
posted @ 2022-12-25 10:25 Yaqu 阅读(52) 评论(0) 推荐(0)
摘要:C. DFS Trees https://codeforces.ml/contest/1707/problem/C 题意 $findMST(i)$ 代表从点i开始,按照一下算法,生成的生成树(不一定是最小生成树)。 问i取1~n,findMST(i)是否是最小生成树 输出01串,0代表不行 1代表行 阅读全文
posted @ 2022-11-09 20:43 Yaqu 阅读(22) 评论(0) 推荐(0)
摘要:D1. Xor-Subsequence (easy version) https://codeforces.ml/problemset/problem/1720/D1 题意 给你长度为n的数组a 让你找出a最长的子序列满足 $a_b_p * b_p+1 < a_b_p+1 * b_p$ 即这个子串相 阅读全文
posted @ 2022-10-07 12:51 Yaqu 阅读(47) 评论(0) 推荐(0)
摘要:F. Almost Permutation https://codeforces.ml/problemset/problem/863/F 题意 有一个长度为n的数组,其中的每个数都在1~n范围内,给q个限制($1<=n<=50, 0<=q<=100$) 限制有两种类型: 1 l r v 数组[l, 阅读全文
posted @ 2022-10-02 21:47 Yaqu 阅读(23) 评论(0) 推荐(0)
摘要:G2. Passable Paths (hard version) https://codeforces.ml/contest/1702/problem/G2 题意 给你一个树 q次询问 每次询问一个集合,有m个数 $a_1...a_m$ 问这些点组成的路径是否是一条简单路径。 思路 一条简单路径 阅读全文
posted @ 2022-09-30 22:46 Yaqu 阅读(33) 评论(0) 推荐(0)
摘要:C. Binary String https://codeforces.ml/contest/1680/problem/C 题意 给你一个01字符串 可以选择再最前面和最后面删除若干个0或1 然后取剩余的0的个数和删去的个数中较大的那个数作为答案 求最小答案 思路 二分 + 双指针 也可以直接双指针 阅读全文
posted @ 2022-05-16 14:50 Yaqu 阅读(260) 评论(0) 推荐(0)
摘要:C. Palindrome Basis https://codeforces.ml/contest/1673/problem/C 题意 给你一个数 问你一共有多少种不同的组合 可以实现若干个回文数字相加得到这个数 思路 数据不超过4e4 而对于4e4之内的回文数字 最多不超过500 (一位数回文数有 阅读全文
posted @ 2022-05-02 10:07 Yaqu 阅读(77) 评论(0) 推荐(1)
摘要:D. Cyclic Rotation 题意: 给你两串数 你可以对第一串数多次操作: 选择l r满足a[l] == a[r] 将序列a[l]...a[r] 变成 a[l + 1] ... a[r] a[l] 判断最终a能否变成b (b是a的一个排列) 思路: 可以逆向思考 就相当于在b中有连续的 就 阅读全文
posted @ 2022-04-26 07:56 Yaqu 阅读(248) 评论(0) 推荐(1)
摘要:I. Palindrome Pairs 题意: 给你n个字符串 将这两个字符串拼接在一起 字母间可以换位子 求有几对字符串能拼接后能组成回文串 思路: 对于每个字符串如果一个字母出现偶数次就就可以直接消掉 因为它可以在两边各放一个字符串来构造字符串 如果出现奇数次 那么通过两边各放一个的操作 最后会 阅读全文
posted @ 2022-04-24 11:16 Yaqu 阅读(37) 评论(0) 推荐(0)
摘要:B. Integral Array 题意: 对于一个序列a 如果对于任意ai aj [ai / aj] 也在序列中 就称为好数组 思路: 数据可达到1e6 显然暴力会超时 利用前缀和可以O(1) 地判断数字是否存在 序列中 记录每个数字的出现次数存到b数组中 然后再遍历1-c每次把b[i-1]加到b 阅读全文
posted @ 2022-03-08 19:41 Yaqu 阅读(132) 评论(0) 推荐(0)
摘要:C - Weird Sum 题意: 给定n*m的矩阵 求相同的数的曼哈顿距离和 思路: 曼哈顿距离 : disi -> j=|xj - xi| + |yj - yi| 可以发现x和y可以分开计算 我们先把多个x 和y升序排列 对于第i个x(y) 它需要被加i-1次被减n-i次 故就很好写代码了 #i 阅读全文
posted @ 2022-03-07 21:24 Yaqu 阅读(133) 评论(0) 推荐(0)
摘要:F - Zero Remainder Sum 题意: 给你n行每行m个元素 每行可以选择不超过(m/2) 个元素 最后将选择的元素 加到一起 余数为零的最大和 思路: 四维dp dp[i][j][w][u] 代表 第i行 到第j个元素 已经选了w个元素 余数为u 的最大和 第j个数 由第j-1个数转 阅读全文
posted @ 2022-03-07 20:05 Yaqu 阅读(71) 评论(0) 推荐(1)
摘要:G - Reducing Delivery Cost 题意: 给你n个点和m条边以及每条边的权值 允许让一条边的权值变成0 然后有q次询问 求q次询问的xi到yi的最小路径和 思路: 显然是最短路的题 但是直接套最短路模板 枚举每条免费的边然后再dij每个点 来求 时间复杂度 是 n* m * k 阅读全文
posted @ 2022-03-07 13:51 Yaqu 阅读(44) 评论(0) 推荐(1)
摘要:1634B - Fortune Telling 题意 : t组数据 每组数据给定n x k 下一行在给定包含n个整数的一串数组a 求 x和x+3 那个数通过与数组a中的数进行加法或亦或运算后可以得到k 题目保证两个数中有且只有一个成功 思路 : 我们可以发现异或运算和加法运算有一个共同点 就是一个数 阅读全文
posted @ 2022-02-07 12:58 Yaqu 阅读(78) 评论(0) 推荐(0)

1