
模板
Marcus-Bao
这个作者很懒,什么都没留下…
展开
-
各种模板 长期更新
大数模板#include #include #include #include #include #include #include using namespace std;//const int maxn = 1e6; //大数位数#define MAXN 9999#define MAXSIZE 10#define DLEN 4class BigNum{原创 2017-07-22 21:16:42 · 422 阅读 · 0 评论 -
hdu 6053 TrickGCD 筛法+莫比乌斯函数+分块处理
题目链接题意:给你n个数字,每个位置的数字可以小于等于a[i],求所有gcd(l,r)都满足大于等于2的情况数;思路:首先,比较好想到的就是枚举gcd,那么每个ai,都有ai/gcd 的选择,然后n个数累乘.但是我们发现,比如 6 6 的时候 2 3 都计算了6 ,6也算了6.有很多重复的情况没法处理,所以想到了容斥,可是当时真的不知道怎么去容斥原创 2017-07-28 13:41:28 · 469 阅读 · 0 评论 -
HihoCoder - 1527 Fast Multiplication 二幂拆分问题
题目链接题意:在写代码时,我们经常要用到类似 x × a 这样的语句( a 是常数)。众所周知,计算机进行乘法运算是非常慢的,所以我们需要用一些加法、减法和左移的组合来实现乘一个常数这个操作。具体来讲, 我们要把 x × a 替换成:(xa0) op1 (xa1) op2 (xa2) ... opn (xan) 这样的形式,其中opi 是+或者-。举原创 2017-07-11 00:10:57 · 759 阅读 · 0 评论 -
数论模板总结
1.离散对数 ax≡b(modp)那么x≡loga(b)(modp)a^x \equiv b (mod p ) 那么 x \equiv log_a(b) (mod p) 那么现在我们就来求解这个x. 朴素baby step giant step要求p必须为质数. 整体的复杂度为O(n√)\sqrt n)). //Hash + 扩展欧几里得 +拆分思想 /* 求解模方程a^x=原创 2017-09-08 16:14:50 · 803 阅读 · 0 评论