![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
复习
Mr_Wolfram
十年饮冰,难凉热血
展开
-
数据结构模板
线段树#include <iostream>#include <cstdio>#include <algorithm>#include <cstdlib>#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1using namespace std;const int MAXN=100005;long long sum[MAXN<<2];l原创 2017-10-17 22:01:00 · 298 阅读 · 0 评论 -
数据结构模板
线段树函数名要写上。。。 LL 在运算的时候要防溢出。#include #include #include #include #define lson l,m,rt<<1#define rson m+1,r,rt<<1|1using namespace std;const int MAXN=100005;long long sum[MAXN<<2];long lon原创 2017-11-03 16:06:19 · 243 阅读 · 0 评论 -
Mr_Wolfram还要做什么
二分借教室 营救原创 2017-10-26 16:40:28 · 227 阅读 · 0 评论 -
图论模板
常用模板原创 2017-10-09 20:41:56 · 246 阅读 · 0 评论 -
NOIP要注意什么
(https://www.cnblogs.com/shingen/p/7801970.html)原创 2017-11-09 09:09:23 · 403 阅读 · 0 评论 -
搜索有关的好题和思路
枚举等差数列(ZJOI2004)给定 n(1数列.求最长的等差数列的长度.我们首先必须对这个数列进行排序,排序我们采用 QuickSort。然后我们 就能够很快想到一系列的方法:枚举头部、第二个与尾部。 但是我们为什么要枚举三个呢?头部当然不用说,第二个是为了与第一个作 差,得出公差。然后就可以递推地去枚举到最后。 这样我们就能够得出一个O(n3)的方法,而在n时。原创 2017-10-19 21:42:52 · 184 阅读 · 0 评论 -
尺取法
尺取法: 顾名思义,像尺子一样取一段,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。之所以需要掌握这个技巧,是因为尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以尺取法是一种高效的枚举区间的方法,一般用于求取有一定限制的区间个数或最短的区间等等。当然任何技巧都存在其不足的地方,有些情况下尺取法不可行,无法得出正确答案。使用原创 2017-11-08 20:05:33 · 814 阅读 · 0 评论 -
复习
数据结构单调队列 https://www.luogu.org/problem/show?pid=1886#sub笛卡尔树 https://www.luogu.org/problem/show?pid=2659原创 2017-10-02 20:03:23 · 180 阅读 · 0 评论 -
组合数
模意义下的组合数计算直接利用Pascal公式◦ n,k ≤ 1000 ◦ 对模数没有要求定义直接算逆元◦ k较小 ◦ 模数为质数预处理阶乘逆元◦ n,k≤ 10s ◦ 模数为质数错位排列表述为:编号是1、2、…、n的n封信,装入编号为1、2、…、n的n个信封,要求每封信和信封的编号不同,问有多少种装法? 对这类问题有个固定的递推公式,记n封信的错位重排数为Dn,则D1=0,D2=1,原创 2017-11-07 20:24:13 · 722 阅读 · 0 评论 -
数论相关:同余方程与同余方程组的解法
形如a*x≡b(mod n)的式子称为线性同余方程。对于这样的式子有解的充要条件是gcd(a,n)|b.于是扩展gcd求解 将原方程化为一次不定方程 a*y+n*y=b. 利用扩展欧几里得算法求解不定方程a * x + n* y = b的整数解的求解全过程,步骤如下:1、先计算Gcd(a,n),若n不能被Gcd(a,n)整除,则方程无整数解;否则,在方程两边同时除以b/gcd(a,n)原创 2017-11-07 15:57:46 · 3442 阅读 · 0 评论 -
清北学堂复习笔记
优秀的演算法笔记day1 day2 day3 day4 day5原创 2017-10-09 20:48:15 · 452 阅读 · 0 评论 -
高精度模板
高精度GCD#include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>using namespace std;void init(int num[]){ char s[10005]={0}; scanf("%s",原创 2017-11-06 20:18:33 · 164 阅读 · 0 评论 -
一些应该注意的问题
朴素的素数筛法中bool chk(int x){ if(x==1) return 0; if(x==2)return 1;//一定要特判2 if(!(x&1)) return 0; int t=sqrt(x); for(register int i=3;i<=t;i++){ if(!(x%i)) return 0; } retu原创 2017-10-25 19:24:25 · 254 阅读 · 4 评论