随笔分类 - ICPC-数学
摘要:FWT 是求多项式位元算卷积的一种高效方法 最常见的有 or、and、xor 这三种操作 void FWT(LL f[], int n, int op) { int mx = 0; while((1LL<<mx) < n) mx++; for (int i = 1; i <= mx; ++i) {
阅读全文
摘要:FFT 实际是 DFT 的一种快速实现方法 可以将多项式的乘法从 O(n^2) 优化到 O(nlogn) 暂时没有看到很好的科普文章、原理自行百度吧 #define L(x) (1 << (x)) const double PI = acos(-1.0); const int maxn = (1<<
阅读全文
摘要:题意 : 求两个大数相乘的结果 分析 : 可以将数拆成多项式的形式 例如 12345 (1 * x^4) + (2 * x^3) + (3 * x^2) + (4 * x^1) + (5 * x^0) 其中 x == 10 那么两个数的相乘就可以变成两个多项式的相乘 可以利用 FFT 来优化 注意最
阅读全文
摘要:题目链接 题意 : 给你一个a数组和b数组,构造出A[i][j]矩阵(A[i][j] = a[i xor j]) 给出等式 A * x = b ( mod p ) n等于4的时候有: A[0][0]*x[0] + A[0][1]*x[1] + A[0][2]*x[2] + A[0][3]*x[3]
阅读全文
摘要:卡特兰数参考链接 ( 里面有关于其在一些题目的应用 ) 1、前三十项卡特兰数表 [1,1,2,5,14,42,132,429,1430,4862,16796,58786, 208012,742900,2674440,9694845,35357670,129644790, 477638700,1767
阅读全文
摘要:参考链接 C(n, m) 代表 从 n 个物品中取 m 个的方案数 1、n ≤ 1e3 、m ≤ 1e3 利用组合递推公式打表就行了 const int C_maxn = 1e3 + 10; LL Comb[maxn][maxn]; inline void Comb_init() { for(int
阅读全文
摘要:题目链接 题意 : 就是让你求个自然数幂和、最高次可达 1e6 、求和上限是 1e9 分析 : 题目给出了最高次 k = 1、2、3 时候的自然数幂和求和公式 可以发现求和公式的最高次都是 k+1 那么大胆猜测幂为 k 的自然数幂和肯定可以由一个最高次为 k+1 的多项式表示 不会证明,事实也的确如
阅读全文
摘要:题目链接 题意 : 分析 : 分析就直接参考这个链接吧 ==> Click here 大体的思路就是 求和顺序不影响结果、故转化一下思路枚举每个最大值对答案的贡献最后累加就是结果 期间计数的过程要用到容斥和多项式求和 ( 利用拉格朗日求即可 ) 具体参考给出的链接 #include<bits/std
阅读全文
摘要:LL inv[maxn];inline void inv_init(){ inv[0] = inv[1] = 1; for(int i=2; i<maxn; i++) inv[i] = (LL)(mod - mod / i) * inv[mod % i] % mod;}
阅读全文
摘要:题意 : 题目链接 分析 : Tutorial 讲的很清楚 至于为什么这样去考虑 算是一个经验问题吧 如果一个问题要你给出模意义下的答案 就多考虑一下答案是要用逆元构造出来 也就说明有除法的存在 那么可以去考虑等比数列或者等差数列求和公式等 #include<bits/stdc++.h> #defi
阅读全文
摘要:题意 : 给出数 x (1 ≤ x ≤ 10^12 ),要求求出所有满足 1 ≤ n ≤ x 的 n 有多少个是满足 n*a^n = b ( mod p ) 分析 : 首先 x 的范围太大了,所以使用枚举进行答案的查找是行不通的 观察给出的同余恒等式,发现这个次方数 n 毫无规律 自然想到化成费马小
阅读全文
摘要:题意 : 给出四个点,问你第四个点是否在前三个点构成的圆内,若在圆外输出"Accepted",否则输出"Rejected",题目保证前三个点不在一条直线上。 分析 : 简单的计算几何问题,如果能够知道圆心和半径(Radius)以及第四个点和圆心的距离(Distance),我们就能够判断第四个点是否在
阅读全文
摘要:题意 : 小K手中有n(1~1000)张牌, 每张牌上有一个一位数的数, 这个字数不是0就是5。小K从这些牌在抽出任意张(不能抽0张), 排成一行这样就组成了一个数。使得这个数尽可能大, 而且可以被90整除。注意:① 这个数没有前导0。② 小K不需要使用所有的牌。 分析 : 能被9整除的数, 其各个
阅读全文
摘要:题意:给出n个在直角坐标系上的点,问你能不能找出一条竖轴(即垂直于x的轴)使得所有的点根据这条轴对称,能则输出YES,否则输出NO 分析:首先需要找到对称轴的值,将所有n个点的x轴的值加起来然后去除以n便可得(证明在下方)。对于各个点的处理就是将每一个点的x,y组成一个pair丢到set里面去让其自
阅读全文

浙公网安备 33010602011771号