摘要:
显然,我们可以将询问按照规定时间从小到大排序,依次处理. 那么我们显然要求合法的点中从 $n$ 号点出发到达点 $i$ 的最迟时间,我们令这个为 $f[i]$ 而 $f[i]$ 显然可以用最短路来求. 如果求 $n$ 次最短路的话显然超时,但是我们可以对于每一个节点所连边排序,然后每次枚举之前没有扩 阅读全文
摘要:
好神的一道计数题呀. code: #include <cstdio> #include <algorithm> #include <cstring> #define N 5000003 #define ll long long #define mod 998244353 #define setIO( 阅读全文
摘要:
分类讨论一下奇环和偶环的情况. code: #include <bits/stdc++.h> #define N 200006 #define setIO(s) freopen(s".in","r",stdin) using namespace std; int edges=1; int hd[N] 阅读全文
摘要:
题意:略 我们发现对于 $n$ 棵树,有用的是所有树的相对大小关系. 而随机生成 $[0,1]$ 之间的实数的相对大小关系可以等价于随机生成一个排列的相对大小关系(我们可以认为这个小数是无限长的,一定能比较出两者大小) 此问题就转化为:对于 $n!$ 种排列,权值综合为多少 $?$ 我们定义一些互相 阅读全文
摘要:
树的计数问题考虑使用 Prufer 序列,那么对于一颗合法的树有 $\sum deg[i]-1=n-2$. 对于每个点的度数都确定的情况,方案数为 $\frac{n-2}{\prod a[i]}$. 构建生成函数 $F(x)=\sum_{i=0}^{m-1} \frac{x^i}{i!}$,然后 $ 阅读全文
摘要:
这道题真的还是简单的一批..... 我当时要是参加考试的话该多好(凭这一道题就能进前 5 了) 十分显然的指数型生成函数. 令 $f[i]$ 表示有 $i$ 个点的答案. 然后显然有 $f[i]=\sum_{j=1}^{i}\binom{i}{j} \times \frac{j!}{j} \time 阅读全文
摘要:
code: #include <vector> #include <cstdio> #include <cstring> #include <map> #include <set> #include <algorithm> #define N 300005 #define MAX 320005 #d 阅读全文
摘要:
对于点对 $(x,y)$ ,考虑求出其循环节. 那么有 $(x+\frac{x}{B}) \mod A=(x+kB+\frac{x+kB}{B}) \mod A$ 其中 $\frac{x+kB}{B}$ 向下取整显然可以写成 $\frac{x}{B}+k$ 则有 $kB+k=0(\mod A)$ 解 阅读全文
摘要:
A code: #include <cstdio> #include <algorithm> #define N 1000000 #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; 阅读全文
摘要:
显然从左到右,从上到下依次处理每个格子步数是最少的. 而由于我们的顺序是固定的,每次操作等于是一个区间修改,单点查询. 利用二维差分的方式可以轻松实现. code: #include <cstdio> #include <cstring> #include <string> #include <ve 阅读全文