小c的岛屿 题解
简单题还能写挂,感觉没救了啊 /fd /fd /fd题解由于保证每个点至少有一个出边,所以操作次数等于走的边数+1。由于这个步数可能到达 $\infty$,对于这种问题算期望的一种方法是:对于所有还没有停止的情况,算它们的概率的和。所以考虑一个暴力的 dp:设 $f_{i,j,k}$ 表示当前走了 $i$ 步(注意这里的步是指尝试加入了几次边,而不是走过的边数,最后答案减一即可),已经加入了...
简单题还能写挂,感觉没救了啊 /fd /fd /fd题解由于保证每个点至少有一个出边,所以操作次数等于走的边数+1。由于这个步数可能到达 $\infty$,对于这种问题算期望的一种方法是:对于所有还没有停止的情况,算它们的概率的和。所以考虑一个暴力的 dp:设 $f_{i,j,k}$ 表示当前走了 $i$ 步(注意这里的步是指尝试加入了几次边,而不是走过的边数,最后答案减一即可),已经加入了...
题意问有多少个 $n$ 个点的完全图,满足所有边权在 $[1,K]$ 内,并且最小生成树只有一个。答案对质数 $p$ 取模。$n \leq 50,K \leq 10^9,\max(n,K)+1 \leq p \leq 10^9$。题解先考虑如何求最小生成树:将所有边从小到大排序,按照顺序选择两个端点不在一个联通块的边,并合并这两个联通块。所以我们可以考虑按照权值去考虑这些边:设 $f_{n,...
题意有一条长度为 $n+1$ 的村庄,编号依次为 $0\ldots n$。最初,在 $i$ 和 $i+1$ 之间有双向通行的铁路。现在有两个铁路公司(A 和 B)要争夺这些村庄。$0$ 和 $n$ 这两个村庄同时被两个铁路公司占有,$[1,n-1]$ 内的村庄会被其中一个铁路公司占有。假设某个铁路公司占有的村庄按顺序排序为 $a_1,a_2,\ldots,a_m$,那么在 $(a_1,a_2...
A先将其压成二进制数,考虑两个人 $(i,j)$ 他们不可能拥有相同的通过数当且仅当它们不同的位的数量是奇数,也就是 $x\text{ xor } y$ 有奇数个 $1$。然后我赛时直接冲了个 FWT 过了稍微分析一下,发现两个数不同,当且仅当一个是 $1$ 一个是 $0$,我们只考虑这些不同的位置,发现恰好一个 $1$ 的数量是奇数一个是偶数。反过来也是对的。所以统计一下有奇数个 $1$ ...
A把 $b$ 都提到最前面就好了。#include <bits/stdc++.h> #define fi first #define se second #define db double #define U unsigned #define P std::pair<int,int> #define LL long long #define pb push_back...