随笔分类 - [A] 训练赛&区域赛
记录训练赛和区域赛补题情况
摘要:Floppy Cube 题解 Pólya定理用于计算在置换下的所有本质不同的方案数。 可以发现,操作产生的所有置换都可以通过横向旋转90度,纵向旋转180度,左侧一列转动180度这三个置换产生。只需bfs,通过这三个置换搜索出所有可能的置换,假设这个置换的集合是$G$,颜色数为$c$,答案即为 \[
阅读全文
摘要:题目 source 题解 首先考虑暴力怎么做。直观感觉就是选择最小的后缀拼起来。但是当前的选择会受到后面字符串的影响。因此,考虑从后往前选择。假设当前选到第$i$个串(\(s[i]\)),第$i+1$到$n$后缀拼接的最小字符串为$t$。那么如果考虑到当前第$i$个串,最优选择就是字符串$s[i]+
阅读全文
摘要:A B C D E F G H I J K L 1 0 2 1 0 2 2 0 2 0 0 1 0:未完成 1:赛时做出 2:赛后补 总结: 3题铁牌。比赛时负责C和G,想法的方向是正确的,但是想的过于浮于表面,没有深入地去优化。签到题常规题基本都是 复杂度高做法+使劲优化 = 正解。想好写的做法,
阅读全文
摘要:题意 求长度为$n$且满足以下条件的排列有多少: \(p_i \mod p_{i+1} \le 2\),其中$p_{n+1}=p_1$。 题解 可以将排列分为两个段,一段以1为结尾,一段以2为结尾。这两段序列必须满足递减且满足条件。 那么相当于求,需要将$n$~$3$递减的数依次分别填入这两个段中合
阅读全文
摘要:题目 source 题解 分针的转速为$w_1=\frac{2\pi }{M}$,时针的转速为$w_2=\frac{2\pi}{MH}$。因此经过时间$T$后,角度差为 \[ \Delta \theta=T(w_1-w_2) \mod 2\pi=\frac{2\pi (H-1)T}{MH} \mod
阅读全文
摘要:题目 Problem - H - Codeforces 给定一个整数序列${a_i}\(满足\)-1\le a_i\le 1$,给定$k$个约束条件$(l,r,d)\(代表\)\sum\limits_{i=l}^{r}{a_i}\ge d$。你需要将${a_i}$中所有为0的位置的值替换为-1或1,
阅读全文
摘要:题目 Access Points 给定n个点坐标,编号1~n。让你重新安排这n个点坐标,满足编号小的横纵坐标均小于等于编号大的横纵坐标,同时让每个点偏移的距离平方和最小,输出最小值。 题解 显然,x和y坐标独立,可以分开处理。 问题变成一维问题。因为最终坐标要按照编号从小到大递增。编号连续的点肯定要
阅读全文
摘要:题目 给定$n$和$k$,求小于$n$且不被前$k$个素数整除的个数,\(n\le 10^{18},k\le 16\)。 题解 很容易想到用容斥来解决,但$T\cdot 2^{16}$太大,得想办法经可能预处理。 前8个素数乘积很小数量级为$107$,可以预处理前$107$的答案,从而可以O(1)查
阅读全文
摘要:题目链接 J-Tree_2021牛客暑期多校训练营8 (nowcoder.com) 题解 将Toilet-Ares简称为$\rm T$,将Unidentified-person简称为$\rm U$。 在$s$到$t$的路径中,如果离开路径,那么玩家能走的最远距离就是他走进的子树的最远距离。以$t
阅读全文
摘要:来源 B - Boxes(思维) 最多只需问一次。开箱顺序一定是根据代价从小到大开的。当你开箱到某个位置i,i之后的球都是同色,那么你一定能知道剩余球的情况,可以提前结束。因此答案就是 $\sum\limits_{i< n}({\rm P(位置i之后都同色)}\times cost_i)$。
阅读全文
摘要:来源 B - Sample Game(dp) $dp_i$代表在位置$i$时还有多少步结束的期望值。 因为期望具有线性性,根据下一个位置$j$,有两种情况: \(j<i\),说明下一步就结束了,有$dp_i=p_i \times 1$ $j>=i$,则说明还有$dp_j$步才能结束,有$dp_
阅读全文
摘要:来源 C - Minimum grid(最大匹配) 想要代价最小,填的数当然是越少越好。对于一个位置,如果它所在的行和列的最大值为x,那么这个位置填x是最优的。如果填的数比x大,矛盾;如果比x小,相当于没填,白白浪费一个位置。 将数组b、c的数称为限定数,那么对于每个x,它有n'个行限定数,m'个列
阅读全文
摘要:来源 F- Xor sum (字典树) 我明白了,以后遇到异或就想字典树! 先求异或前缀和,然后从左到右遍历区间右端点,用字典树维护答案,求字典树中与当前右端点最近的、异或和大于k的那个位置! 假设当前右端点为i,i之前的值都插入了字典树,字典树每个结点存储最大的下标。在查询时,访问logk个结点就
阅读全文
摘要:来源 G - League of Legends(dp+双端队列优化) 类似斜率dp的思想吧,用一个双端队列维护。 首先预处理,如果存在一个大区间包含了一个小区间,可以把大区间拿出来。因为这个大区间要么单独成为一个组,要么加入小区间所在的组,对最优解没有影响。预处理完后剩下的就是互不包含的若干区间。
阅读全文
摘要:来源 A - Alice and Bob (sg函数打表) 暴力打表,时间复杂度为O(n^3logN)。可以发现后手胜的状态数非常少:如果某堆石头数量是i,另一堆石头最多只有一种数量满足后手胜。 反证法:假设 (i, p) 和 (i, q) 都是后手必胜,且 q > p。那么在状态 (i, q) 时
阅读全文
摘要:题目 source 题解 由于$998241383=673 \times 937 \times 1583$,故最多枚举1583项后剩余的f值为0,直接暴力算,时间复杂度O(1583n) 不能用逆元!本来想分解质因数后算完用CRT合并,但是忘记了最多1583项后结果出现0,导致逆元出错。调了巨久。阶乘
阅读全文
摘要:题目 source 题解 将区间[L,R]视作坐标系中的点(L,R),那么添加线段[L,R]就是在坐标系上添加点(L,R);查询[L,R]就是查询范围{(l,r)|l >= L and r ⇐ R}对应的矩形范围内的最大值和最小值的差值。由于只有添加没有删除,可以使用二维树状数组;或者使用树套树,支
阅读全文
摘要:题目 source 题解 一眼看出是kmp+数位dp,然后就掉坑里了。。。 数位dp显然时间会爆。观察数据范围,发现k长度最多为5,加上mod11的11个余数,最多有55个状态,可以使用矩阵快速幂。 假设$f_{i,j}$代表余数为i,当前匹配位置为j的结果。任意写出递推式,直接套矩阵快速幂。初始只
阅读全文
摘要:题目 source 题解 方法一: 可以知道,最多35位Fibonacci数列就可以表示1e7的数。可以发现,前23位表示的数存在大量重复。因此可以先预处理出前23位的结果,然后剩下12位和预处理结果暴力卷积。前23位预处理最大的数为75024,剩下4096的需要处理,故最多计算75024*4096
阅读全文
摘要:source H - Guessing the Dice Roll 题意 n个人分别猜一个由数字1~6组成长度为L的字符串t。主持人也生成一个由数字1~6组成的字符串s,每次等概率从1~6中取一个数字插入到字符串末尾。当某人猜的字符串成为了s的后缀,就胜利,游戏结束。问每个人获胜的概率。 思路 显然
阅读全文

浙公网安备 33010602011771号