Tirck总结

Trick 总结一般题的时间限制是 $1$ 秒或 $2$ 秒。在这种情况下,C++代码中的操作次数控制在 $10^7 \sim 10^8$ 为最佳。 下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: $n \le 30$, 指数级别, d...

数论

数论定理欧几里得算法已知两个数 $a,b$,记它们的最大公约数为 $\gcd(a,b)$ ,则有: 递归求解,当 $b=0$ 时 $\gcd(a,0)=a$。 时间复杂度 $O(\log a)$ 123456int gcd(in...

莫队

莫队基础莫队适用范围:已知 $[l,r]$ 的答案,可以 $O(1)$ 的得出 $[l-1,r], [l,r-1], [l+1,r], [l,r+1]$ 的答案,时间复杂度 $O(n \sqrt n)$ 例题:P1972 [SDOI2009] HH的...

扩展欧几里得算法

扩展欧几里得算法裴蜀定理对于任意正整数 a,b,那么一定存在整数 x,y,使得 ax+by=(a,b) 扩展欧几里得首先看欧几里得算法的步骤: 123456int gcd(int a,int b){ if(!b){...

数据结构技巧总结

P4513 小白逛公园 线段树求连续区间问题可以在每个点上增加 mx,mxl,mxr,分别表示当前区间的最大值,包含左端点的最大值和包含右端点的最大值

图论技巧总结

floyd : 1234567for(int k=1;k<=n;k++){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ ...

高精度

高精度存储方式:数组(可用vector,自带size函数),由低位向高位存各位数字 运算方式:模拟 高精度加法例:$123+89$ 0 1 2 3 A 3 2 1 0 B 9 8 0 0 C 2 1 2 0 思路: 输入两...

高斯消元

高斯消元在$O(n^3)$的复杂度下求解形如:$$\left{\begin{matrix} a_{1,1}x_1+a_{1,2}x_2+\cdots+a_{1,n}x_n=b_1\ a_{2,1}x_1+a_{2,2}x_2+\cdot...

队列和栈

队列和栈栈定义:后进先出 存储: 1int stk[N],tt;//stk存储栈的元素,tt存储栈顶位置 插入: 1stk[++tt]=x; 删除: 1t--; 判断栈是否为空: 123bool empty(){ return ...

链表

链表单链表作用:存储图和树 存储: 12int head,ne[N],e[N];int cnt; 插入(头节点): 12345void insert_h(int x){ e[++cnt]=x; ne[cnt]=head; ...

1237