Loading...
博主已经退役,评论可能会审核很久才能通过。
Luogu 分析 由熟知结论,邻接矩阵的 $k$ 次幂中 $(u, v)$ 上的数表示 $u\to v$ 恰好走 $k$ 步的方案数。 然而本题有一个不动和自爆的问题。 不动的话,相当于走自环;自爆的话,减一个 $0$ 号节点,$0 \sim n$ 都向 $0$ 连一条边即可。这样子保证了自爆后就没有后继了。 代码 #include <bits/stdc++.h> #define...
Luogu 分析 将方程左边通分 代码 #include <bits/stdc++.h> #define re register typedef int mainint; #define int long long using namespace std; const int MOD=1e9+7; inline int read() { int X=0,w=1; c...
Luogu 分析 设 $f_{i, j}$ 表示还剩 $i$ 个人时第 $j$ 个人的获胜概率。 考虑转移。首先枚举庄家抽到的卡牌 $k$,从而得到这一轮被淘汰的人的位置 $c$。 如果 $c \neq j$,则无法转移。否则第 $c$ 个人被淘汰之后,剩下的 $i-1$ 个人要组成一个新的环,庄家为第 $c$ 个人的下一个。容易算出,当 $c > j$ 时,第 $j$ 个人是新的环里...
Luogu 分析 首先我们是没有必要每次给所有蚯蚓加 $q$ 的,只需要维护一个变量 add 表示所有蚯蚓长了多少即可。 那么一个显然的想法是用一个大根堆维护所有蚯蚓,然后直接模拟一下就好了。这样子就有 $85$ 分了。 注意到每次分出去的蚯蚓一定会成为最短的两条蚯蚓(想一想,为什么?),那么只需要开三个队列维护就好了。 注意一下输入进来的长度没有排好序,自己要排一下。 代码 #inclu...