随笔分类 - 其他 - 思维题
摘要:我们发现我们可以直接让 $x_{i}=i$,然后模拟就行了. code: #include <cstdio> #include <cstring> #include <cmath> #include <vector> #include <map> #include <algorithm> #defi
阅读全文
摘要:这种多线程问题可以采用一维枚举,另一位用 dp 求解最优解来实现. 这道题和那个 ZJOI 的食堂排队的题挺像的. code: #include <bits/stdc++.h> #define ll long long #define inf 0x3f3f3f3f #define N 508000
阅读全文
摘要:code: #include <cstdio> #include <cstring> #include <algorithm> #define ll long long #define MAXN 160 #define MAXK 20 #define mod 12345678 #define set
阅读全文
摘要:第一次写这个题是好长时间以前了,然后没调出来. 本来以为是思路错了,结果今天看题解发现思路没错,但是好多代码细节需要注意. code: #include <cstdio> #include <vector> #include <map> #include <cstring> #include <al
阅读全文
摘要:A - Sasha and a Bit of Relax code: #include <cstdio> #include <map> #include <cstring> #include <algorithm> #define N 300006 #define ll long long #def
阅读全文
摘要:思路很巧妙啊 code: #include <cstdio> #include <cstring> #include <algorithm> #define ll long long #define N 1000009 #define setIO(s) freopen(s".in","r",stdi
阅读全文
摘要:这个题的思路还是十分巧妙的. 我们发现我们要查询的区域恰好构成了一个梯形. 然后用那个单调栈去维护折线,并用主席树做二维数点. code: #include <cstdio> #include <algorithm> #include <stack> #include <cstring> #incl
阅读全文
摘要:12种组合计数问题合在一起. code: #include <cmath> #include <cstring> #include <algorithm> #include <cstdio> #include <string> #define ll long long #define ull uns
阅读全文
摘要:这道题很巧妙啊. 有两个性质: 1.一个图的最小生成树的每种边权数量是相等的. 2.有 1 得,如果任意一个最小生成树中边权为 $v$ 的边都断掉,$(x,y)$ 连通性在任意 MST 中都相等. 所以我们的做法就是先求出最小生成树,然后分别将每种边权 $v_{i}$ 从最小生成树中都断掉,得到若干
阅读全文
摘要:矩阵树定理求的是 $\sum_{E} \prod_{e \in E} w(e)$ 平时我们求的大多数是方案数,所以就默认那个 $w(e)$ 是 $1$. 而如果我们想求所有生成树权值之和的话就让那个 $w(e)$ 变成边权. 我们在设置最开始的那个 (度数-邻接)矩阵的时候度数矩阵中 $S1_{i,
阅读全文
摘要:求生成树方案的话要用矩阵树定理,然后这个容斥就是常见套路了吧. code: #include <cstring> #include <cstdio> #include <vector> #include <algorithm> #define N 18 #define mod 1000000007
阅读全文
摘要:仔细观察样例解释,发现 $F(n)=2F(n-1)+[n \%2]$. 然后我们就可以推出来前 10 项左右的 $F(n)$ 的值,然后打表找规律发现 $F(n)=\frac{2^{n+1}}{3}$ (向下取整) 由于没有模数,所以需要手写一个 $FFT$ 维护高精度乘法的板子. code: #i
阅读全文
摘要:code: #include <cstdio> #include <cstring> #include <algorithm> #define M 185 #define N 10000008 #define ll long long #define setIO(s) freopen(s".in",
阅读全文
摘要:思路非常巧妙啊 code: #include <cstdio> #include <algorithm> #define ll long long #define N 5003 #define setIO(s) freopen(s".in","r",stdin) using namespace st
阅读全文
摘要:code: #include <cstdio> #include <algorithm> #define ll long long #define M 1000006 #define N 10000002 #define mod 1000000007 #define setIO(s) freopen
阅读全文
摘要:比较综合的多项式题 code: #include <cmath> #include <cstring> #include <algorithm> #include <cstdio> #include <string> #define ll long long #define ull unsigned
阅读全文
摘要:很不错的一道数数题. code: #include <cstdio> #include <algorithm> #define N 203 #define ll long long #define mod 1000000007 #define setIO(s) freopen(s".in","r",
阅读全文
摘要:十分轻松的生成函数题. code: #include <cmath> #include <cstring> #include <algorithm> #include <cstdio> #include <string> #define ll long long #define ull unsign
阅读全文
摘要:挺好的一道数数题. code: #include <cmath> #include <cstring> #include <algorithm> #include <cstdio> #include <string> #define ll long long #define ull unsigned
阅读全文
摘要:看了标签:贝尔数? 这不就是指数型生成函数模板吗..... 考虑有指数型生成函数 $F(x)$,将 $F(x)$ 分散成若干个集合的生成函数就是 $G(x)=e^{F(x)}$,来一个多项式 exp 即可. code: #include <cmath> #include <cstring> #inc
阅读全文

浙公网安备 33010602011771号