随笔分类 - OJ-Atcoder
摘要:"C 2D Plane 2N Points" 题意 二维平面上有$N$个红点,$N$个蓝点,一个红点和一个蓝点能配成一对当且仅当$x_r define F(i, a, b) for (int i = (a); i (b); i) define dF2(i, a, b) for (int i = (a
阅读全文
摘要:"题目链接" 题意 给定一个字符串$S$,允许修改其中至多$k$个字符变为$T$。 记$T$的反转为$T'$,求$T$与$T'$的最长公共子序列。 "题解" 结论 $T$与$T'$的最长公共子序列的长度 = $T$的最长回文子序列的长度 证明 part. 1 先证:$T$与$T'$的最长公共子序列的
阅读全文
摘要:"题目链接" Description For a positive integer $n$, let us define $f(n)$ as the number of digits in base $10$. You are given an integer $S(1≤S≤10^8)$. Coun
阅读全文
摘要:"C Candies" 题意 求左上角走到右下角最大的数字和。 思路 直接$dp$ Code include define maxn 110 using namespace std; int a[3][maxn], dp[3][maxn]; typedef long long LL; int mai
阅读全文
摘要:"A. Scarborough Fair" 题意 对给定的长度为$n$的字符串进行$m$次操作,每次将一段区间内的某一个字符替换成另一个字符。 思路 直接模拟 Code include using namespace std; typedef long long LL; int main() { i
阅读全文
摘要:"题目链接" 题意 灯有$m$个亮度等级,$1,2,...,m$,有两种按钮: 1. 每次将亮度等级$+1$,如$1\rightarrow 2,2\rightarrow 3,...,m 1\rightarrow m,m\rightarrow 1$ 2. 初始时有一个设定值$x$,按下该按钮能够从任意
阅读全文
摘要:"C Bugged" 题意 给$n$个数,找其中的一个子集,使得其和最大,且不是$10$的整数倍。 思路 先对$n$个数求和, 1. 如果本身即不被$10$整除,则即为答案。 2. 否则,如果本身被$10$整除,则找到这$n$个数中最小的不被$10$整除的数,减去它即为答案。 3. 如果不存在这样的
阅读全文
摘要:"题目链接" 题意 给定一个字符串(长度$\leq 2e5$),将其划分成尽量少的段,使得每段内重新排列后可以成为一个回文串。 题解 分析 每段内重新排列后是一个回文串$\rightarrow$该段内至多只有一个字符出现过奇数次 考虑 哈希 到一个$26$位的$01$串,出现过奇数次的元素位置上的值
阅读全文
摘要:"题目链接" 题意 给定字符串$s$,可以在其中任意位置插入字符$x$. 问能否得到一个回文串,若能,需插入多少个$x$. 思路 首先统计出现次数为奇数的字符$cnt$. $cnt\geq1$ 显然无解 $cnt==1$ 则回文串长度为奇数。找到中间位置,向两边check. $cnt==0$ 则回文
阅读全文
摘要:"题目链接" 题意 $A+B$个球排成一行,左边$A$个为红球,右边$B$个为蓝球。 最开始可以选择两个数$s,t$,每次操作可以取左起第$1$或$s$或$t$个球。问有多少种不同的取球序列。 Sample Sample Input 1 3 3 Sample Output 1 20 Explanat
阅读全文
摘要:"题目链接" 题意 对于一个$01$串,如果其中存在子串$101$,则可以将它变成$010$. 问最多能进行多少次这样的操作。 思路 "官方题解" 转化 倒过来考虑。 考虑,最终得到的串中的$'1'$的 来源 所以,最终的$'1'$对应着最初的串中的 1. $1$ 2. $111...11101$
阅读全文
摘要:"题目链接" 题意 给定一个无向图,$n$个点,$m$条边($n,m\leq 1e5$). 重复如下操作: 选择相异的两点u,v满足从点u出发走三条边恰好能到达点v。在这样的u,v点对之间添一条边(如果已经存在则无需再次添加)。 问最多能添加多少条边。 我的思路 (是写给自己看的读者老爷可以跳过去的
阅读全文