- 博客(8)
- 收藏
- 关注
原创 快速沃尔什变换(FWT)介绍
快速沃尔什变换(FWT)介绍众所周知,FFT可以有效地解决如下的问题A=(a1,…,an)B=(b1,...,bn)C=(c1,...,cn)ck=∑i+j=kai∗bjA=(a_1,\dots,a_n)\\B=(b_1,...,b_n)\\C=(c_1,...,c_n)\\c_k=\sum_{i+j=k}a_i*b_j\\A=(a1,…,an)B=(b1,...,bn)C=(c1,...,cn)ck=i+j=k∑ai∗bj但事实上,把求和号里的条件里的“+”换成与、或、
2020-07-24 15:19:56
4910
原创 HDU1402 A * B Problem Plus (FFT)
题目HDU1402思路把数字转化成∑ai∗10i\sum a_i*10^i∑ai∗10i的形式,然后用FFTFFTFFT代码#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <cstdlib>#incl...
2019-10-12 15:51:39
152
原创 CS:APP 第三版 第二章家庭作业
2.73int saturating_add(int x, int y) { int z, f1, f2, ans; z = x + y; f1 = ((x >> 31) && (y >> 31) && ~(z >> 31)) || (~(x >> 31) && ~(y >...
2019-09-20 20:14:25
285
原创 CF26D Tickets (非降路径计数)
题目CF26D参考Catalan数介绍代码int main() { int n, m, k; db ans = 1; ans = 1; scanf("%d%d%d", &n, &m, &k); if (n + k >= m) { for (int i = 0; i <= k; i++) { ...
2019-09-19 16:14:47
338
原创 CF83D Numbers (容斥 筛法)
题目CF83D思路注意到kkk为合数时答案为000k<72k<72k<72的时候容斥,k>72k>72k>72的时候用EulerEulerEuler筛时空好紧,开小了RE,开大了MLE,调大用容斥的范围还会TLE……代码typedef long long ll;typedef double db;const int maxn=(int)3e7...
2019-09-18 20:20:31
254
原创 BUAAOJ989 御坂御坂 约瑟夫环
题目BUAAOJ989参考以下内容来自糖老师令f(n)f(n)f(n)表示考虑只剩nnn个人时的队伍序列,这里把下一个要处决的人放在第一个位置,他被标号成000,然后其他人按顺序依次标号111到(n−1)(n-1)(n−1),在这种情况下我们要询问的人对应的下标,那么有f(n)=询问id−1f(n)=询问id-1f(n)=询问id−1if f(n) = 0, 下一个该处决的就是询问的人...
2019-09-18 17:07:14
7301
原创 CF802F Marmots (hard) 概率分布模型判断
题目CF802F参考代码typedef long long ll;typedef double db;typedef pair<int, int> pll;const int maxn = (int) 250 + 9;const int M = 30;const ll mod = 1000000007;const db eps = 1e-14;int v;i...
2019-09-18 16:44:07
431
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人