随笔分类 - [A] 解题报告(codeforces)
记录codeforces的题解
摘要:source 题解 设$s(l,r)$为$s$区间$(l,r)$的子串,$s_p$代表$s$在$p$处的字符。通过观察(小数据/推导/瞎猜/看题解)可以发现,如果最优解中含有$s(l,r)$,那么$s(l,n)$必然包含在最优解中。 证明: 假设答案中包含相邻的$s(i,r_i)$和$s(j,r_j
阅读全文
摘要:A - Two Subsequences(语言基础) 最小字符+剩余部分 B - Divine Array (暴力) 看题解操作次数上界是$O(\log n)$的,但是$O(n^2)$能过。直接暴力。 C - Array Elimination(思维) 如果要把某一位全部减为0,那么就是把这一位为1
阅读全文
摘要:题目 给$n$个括号序列,可以对这些序列任意排列,然后连接成一整个括号序列。求一个排列,使得连接成的括号序列的真前缀是合法括号序列的个数最多。\(n\le 20\) 题解 观察性质,发现括号序列的balance一旦小于0,后面无论是什么都不会使得当前前缀的合法。合法括号序列的前缀的个数即balanc
阅读全文
摘要:source A - CQXYM Count Permutations(思维) 对于排列$p$,如果它的对数是$k$,那么可以构造${2n-p_i}$,使得它的对数变为$2n-1-k$。如果$k\ge n$,就有$2n-k-1 < n$。即每个对数大于等于$n$的排列都可以构造一个小于$n$的排列,
阅读全文
摘要:D - The Number of Imposters(2-sat) 每个人分成T,F两种结点,分别代表这人是诚实的还是不诚实的。然后连边,例如$a$说$b$是T,那么就有如果$a$是T推出$b$是T,于是连一条双向边:\(aT \Leftrightarrow bT\),以此类推。然后直接dfs跑,
阅读全文
摘要:source C - Bakry and Partitioning(贪心) 假设所有点的异或和为$x$,然后被拆成了$m$个联通块,由于各个联通块的异或值都相同,有 \[ x_1 \oplus x_2 \oplus ... \oplus x_m = x \] 可得每个联通块的值必须都相等。所以如果$
阅读全文
摘要:题目 给定$n$个质数,设$S$代表这些质数的乘积所代表的数的所有正因子。对于一个有限正整数集合$D$,如果任意$a\in D$,\(b\in D\),\(a\neq b\),都满足$a\nmid b$,那么$D$就是好的。问$S$最大好子集是多大。 题解 假如这$n$个质数互不相等,显然答案就是$
阅读全文
摘要:题目 有$n$个数,每个数至多只有7个因子。问从中最少取多少个数相乘结果为完全平方数。 题解 完全平方数就是质因子数幂次都为偶数。对于每个数$p_1^{c_1}...p_k^{c_k}$,可以把幂次对2取模,这样就可以写成$p_1...p_k$。由于至多只有7个因子,所以每个数至多只有2个质因数。如
阅读全文
摘要:题目 给定数列$a$,求$a_i|(a_j & a_k)$的最大值,其中$i<j<k$。 题解 很容易想到预先处理$a_j & a_k$。由于$a$的值域为$2\times 10^{6}$,所以可以求出每个数的是否能被与表示出来。对于某个值$i$,如果有$i=j&k$,那么必有$i\in j$以及$
阅读全文
摘要:题目 给定数组$a$,对于某个元素$a_i$和区间$[l,r]$满足$l\le i \le r$。如果将$a_l,a_{l+1},...a_r$排序后,原$a_i$在排序后的新位置为$j$(值相同是可以任意排序),那么$a_i$的奇异值为$|j-\lfloor\frac{l+r+1}{2}\rflo
阅读全文
摘要:题目 在一维坐标轴上,有$n$个点和$m$线段。每次可以花费1移动任意点向左或向右移动一个单位距离。问让每个线段均被至少一个点访问的最小代价。只要有点和线段有交集,该线段就被访问过。 题解 有两个比较简单的处理: 如果某些点在线段内,该线段就可以被删除。 如果线段内含了更小的线段,那么较大的线段可以
阅读全文
摘要:题意 有一段长为$l$的线段,有$n$个区间,左右端点在$[0,l)$间均匀随机(可能不是整数) 求被至少$k$段区间覆盖的长度的期望,对998244353取膜 题解 首先先令$l=1$,最后答案再乘回去即可。 故题目变为在长度为1的线段中被至少k个随机区间覆盖的区域长度。等价于在$[0,1)$中随
阅读全文
摘要:题意 定义一个图的生成树是以节点 \(s\) 为根的 BFS 树,当且仅当对任意节点$t$,图中 \(s\) 到 \(t\) 的最短路径长度等于树上 \(s\) 到 \(t\) 的最短路径长度。 对于一个图,定义 \(f(x, y)\) 为该图满足「同时是以节点 \(x\) 为根的 BFS 树和以节
阅读全文
摘要:题目 有一个长度为$n$的排列$a$,$m$次操作交换顺序执行,操作$(i,j)$代表交换$a_i,a_j$的值。每次操作等概率发生或不发生。问$m$次操作后逆序数对的期望是多少。 题解 经典的转求贡献的问题。只要定义好dp状态就很容易。设$dp[i][j]$代表$a_i>a_j$的概率。然后转移方
阅读全文
摘要:题目 给定一个$n\times m$的01矩阵,你每次可以翻转一行或一列任意次。问操作若干次后矩阵中最少的1是多少?\(n\le 20\),\(m \le 100000\) 题解 $n$很小,所以可以将每一列状压为$a_i$。若干次操作后,行操作集合相当于一个掩码,列操作相当于是否对掩码取反然后异或
阅读全文
摘要:题目 $a_i$在范围$[l_i, r_i]\(等概率取值,求序列\){a_i}$非递增的概率。\(n\le 50\),\(l_i\le r_i \le 998244351\) 题解 即求序列非递增的方案数。 由于区间范围非常大,而区间数又很少。因此可以离散化端点,给区间分段。这样分下来总段数就是$
阅读全文
摘要:题目 交互题,你有一个${1,...,n}$的集合,你想要找出其中一个数$x$,有3个操作: A a:询问当前集合中有多少元素是$a$的倍数。 B a:询问当前集合中有多少元素是$a$的倍数,然后从集合中将$a$的倍数的数全部删去,除了$x$。$x$永远不会被删除,即使它是$a$的倍数。注意这个操作
阅读全文
摘要:题目 给定一个01串,问有多少连续子串中1的个数大于0且可以整除其长度。 题解 问题等价于$r-l=k(pre[r]-pre[l])$,即$r-k\cdot pre[r]=l-k\cdot pre[l]$。假设固定一个值$T$,当$k<T$时,可以枚举$k$统计有多少相同数对,时间复杂度$O(nT)
阅读全文
摘要:题意 [sourse](Problem - 1278F - Codeforces) 你有一副扑克牌,包含$m$张牌,其中只有1张鬼。每次操作会将牌打乱一次,然后查看最顶部的牌是否是鬼(打乱是完全随机打乱,即$m!$种排列中等概率选一种)。设$n$次操作后其中有$x$次是鬼,求$x^k$的期望,答案模
阅读全文
摘要:题目 有$n$盏灯排成一排,初始时所有的灯是灭的。每次会等概率随机点亮一个灭的灯。如果存在连续$k$盏灯中有大于1盏灯是亮的,则结束。给定$n$和$k$,问期望的灯的数量是多少。 题解 假设有$i$盏灯被点亮,那么它们的间隔均大于等于$k$。故$i$盏灯被点亮的顺序不重要,确定了这$i$盏灯的位置,
阅读全文

浙公网安备 33010602011771号