摘要: 题目 Description 小 s 要在 \([0,2^n)\) 中选一个整数 \(x\),接着把 \(x\) 依次异或 \(m\) 个整数 \(a_1 \sim a_m\),他想要最大化 \(x\) 的最终取值。 然而问题并没有这么简单,小 r 想要干预小 s 的选择。 在小 s 选出 \(x\ 阅读全文
posted @ 2020-10-30 20:23 Arextre 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 补一个数据范围: 测试点编号 $n\le $ 1 \(1\) 2 \(2\) 3 \(5\) 4 \(10\) 5 \(50\) 6 \(100\) 7 \(300\) 8 \(500\) 9 \(1000\) 10 \(3000\) 题解 必备芝士1 必备芝士2 我也不知道哪个才是真 阅读全文
posted @ 2020-10-06 21:30 Arextre 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 题目让你求 \[ \sum_{i=1}^n{n\choose i}i^k \] 这道题地重点其实是在于 \(i^k\) 可以怎么表示,先给出结论: \[ \newcommand{\string}[2]{\genfrac{\{}{\}}{0pt}{}{#1}{#2}} i^k=\sum_{j=0}^k 阅读全文
posted @ 2020-10-05 19:13 Arextre 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 这道题的重点以及难点其实在将问题转化到图上. 首先有一个十分简易的特判——将所有数求和,得到 \(sum\),如果 \(k\nmid sum\),那么无解. 否则,我们可以得到一个平均值 \(aver=\frac{sum}{k}\),对于组 \(i\),我们设它原本的和为 \(s 阅读全文
posted @ 2020-10-04 18:41 Arextre 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 最小树形图的模板题,主要是存一发朱刘算法的模板. 代码 #include<cstdio> #include<queue> #include<cstring> #include<cmath> using namespace std; namespace IO{ #define re 阅读全文
posted @ 2020-09-24 21:44 Arextre 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 这道题在考场上还是卡了我一些时间 导致我 T3 没时间写了 首先,这道题很显然是让我们求一个式子: \[ \prod_{i=1}^n {c_i \choose x_i} \pmod p \] 如果 \(p\) 可以保证是一个素数,显然这道题是很好做的,只需要预处理阶乘及逆元即可. 阅读全文
posted @ 2020-09-13 15:56 Arextre 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 首先,最高的建筑是两边一定都看得到的,我们先考虑把它放在中间. 剩下的 \(n-1\) 个建筑如何放置?由于左边和右边是等价的,我们先只考虑左边的情况. 左边除开最高的建筑,我们还需要看到 \(f-1\) 个建筑,注意到这 \(f-1\) 个建筑可以不相邻,我们可以理解为这 \( 阅读全文
posted @ 2020-09-09 09:33 Arextre 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 考虑将 ( 理解为向右走,而 ) 理解为向左走,那么这道题就转化为: 指定走前几步,问此时能走到右上角且不经过对角线的方案数是多少. 这是卡特兰数的其中一个意义,我们可以利用分析卡特兰数递推式的相似的思路分析这个问题. 记我们还需填 \(a\) 个 ( 与 \(b\) 个 ),那 阅读全文
posted @ 2020-09-09 09:18 Arextre 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 每个数对答案的贡献单独考虑. 对于一个数 \(a_p\),它的贡献只和它后面填的第一个加号的距离有关,当第一个加号的位置出现在离它的距离为 \(i\),它的贡献就固定了,为 $10^i\times a_p$,而其他的加号可以在除了从 \(p\) 到 \(p+i\) 这一段的任意空 阅读全文
posted @ 2020-09-08 20:41 Arextre 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 错排,显然的容斥. 记我们要填入的数字有 \(s\) 个,其中可以任意填的数字有 \(q\) 个,现在对这个问题进行分析. 总方案数显然 \(s!\),那么如何去重? 考虑用错排的经典思路,减去至少不合法,加上两个不合法,减去三个不合法,加上四个不合法... 容斥式就可以得出 \ 阅读全文
posted @ 2020-09-08 10:38 Arextre 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 给我们了柿子,我们也只能推柿子咯...... 考虑对原式进行如下变换 \[ \begin{aligned} F(n) &= \sum_{i=1}^n (i \times \sum_{j=i}^n C_j^i) \\ &= \sum_{j=1}^n\sum_{i=1}^j i\ti 阅读全文
posted @ 2020-09-08 10:09 Arextre 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 容斥好题. 由于行列问题相似,我们考虑先解决只有行的时候的答案. 记 \(\text{Ans}_1(i)\) 为有至少 \(i\) 行为黑色时的答案,那么我们考虑其容斥为“先选出 \(j\) 行染黑,其他行任意染色”,那么容斥式子就比较显然,有 \[ \text{Ans}_1(i 阅读全文
posted @ 2020-09-08 09:10 Arextre 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 这道题可以转化为一个模型,即在网格上求解不相交的路径数,解决这个问题的方法有一个经典的 \(\text{LGV}\) 引理,此题用到了引理的最简单的版本。 首先我们需要明白此题应该用总方案数减去相交路径的方案数,接下来要问的就是如何求解有多少路径相交。 我们假设左右分别有 \(A 阅读全文
posted @ 2020-09-07 19:32 Arextre 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 设原数组的第 \(i\) 位经过 \(j\) 次变换之后得到的数字为 \(f[i][j]\),那么显然有 \[ f[i][j]=f[i-1][j]\oplus f[i][j-1] \] 考虑单独一个数对于最终的答案序列哪些位置有贡献: 对于数字 \(i\),显然他在第一次变换之后 阅读全文
posted @ 2020-09-07 09:25 Arextre 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 补充一个数据范围: 对于 $30%$ 的数据,保证 \(n\le 10^3\); 对于 $50%$ 的数据,保证 \(n\le 10^4\); 对于 $70%$ 的数据,保证 \(n\le 10^5,1\le d,x,a \le 10^6\); 对于所有数据,保证 \(n\le 10^ 阅读全文
posted @ 2020-08-26 19:36 Arextre 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 这道题对选手对于树的性质的掌握要求较高。 首先,有一种暴力思路,对于每一次加进俩点之后,跑一次 \(bfs\) 或者是树 \(DP\) 求直径,这样时间复杂度是 \(\mathcal O(qn)\) 的,显然有问题。 考虑换一种思路,有一种贪心地求树直径的方法: 从树上任意一点 阅读全文
posted @ 2020-08-24 15:30 Arextre 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 思维好题. 必须明白,一个数 \(x(x\le 10^{18})\) 在反复执行除以某个数下取整,即反复 \(x=\lfloor \frac{x}{t} \rfloor(t\ge 2)\) 超过 $60$ 次之后必定为 $0$,因为 \(\log _210^{18}<60\),所 阅读全文
posted @ 2020-08-24 14:45 Arextre 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 我们应该明白的第一件事——所有的花费只会全部花在一条边上,这是这道题的基础 虽然我知道也没第一时间做出来 下文称这条边为“\(JZM\)”. 然后,随便找一个 \(MST\),然后我们对于这条 \(JZM\) 应该会出现在哪里分类讨论: 出现在树边上,显然 \(JZM\) 应该是 阅读全文
posted @ 2020-08-24 11:53 Arextre 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 这类题目,不多说可以直接上树剖板子,时间复杂度 \(\mathcal O(n\log ^2n)\),此处不作过多赘述,毕竟重点不是这个方法。 实际上我们有比树剖的俩 \(\log\) 更优的解法,但是还是利用线段树。 分析这道题实际要我们干的事是什么: 能够任意改边的颜色; 询问 阅读全文
posted @ 2020-08-24 11:44 Arextre 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 对于 NO 和 CAN 的情况我们其实很好判断,只需要在正向、逆向跑一边 dijkstra 得到从 \(s,t\) 到某边两点的距离,然后进行判断即可。 最难的情况其实是 YES 的情况,我们想一想这种情况出现的情景——在所有的最短路中,这条边没有可以替代的边,即没有其他相同长度 阅读全文
posted @ 2020-08-21 16:09 Arextre 阅读(204) 评论(0) 推荐(0) 编辑