![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
>知识整理<
文章平均质量分 65
MaywrILoi
这个作者很懒,什么都没留下…
展开
-
滚动数组
滚动数组简而言之就是让数组滚动起来,因为在DP或递推过程中前面的解往往可以舍去,每次都只使用固定的部分存储空间,达到对大量数据的压缩和节省储存空间的目的。 仅节省空间,对时间复杂度没有影响。原创 2017-10-17 10:24:47 · 210 阅读 · 0 评论 -
考试注意事项
NOIP2017复赛考试时间,11月11,12日,也就是大后天。 出发时间:11月10日早8:30,记得带身份证。 考试注意事项:1.来着学长的教导: 在NOIP前一天试机的时候,记得将键盘上的每一个键都按一遍,确保能用并且好用,键盘鼠标等硬件设备的问题尽量在考试之前解决。 监考老师你你和校方沟通的唯一渠道,切记利用。他还有最重要的一个用途 检查文件存放格式!在交卷之前,一定一定要让他帮你看看原创 2017-11-08 21:45:09 · 894 阅读 · 0 评论 -
STL及各种技巧
数据生成: #include#include#include#includeusing namespace std;int main(){ srand(time(0)); int n=rand()%100+1; printf("%d\n",n); for(int i=1;i<=n;i++) { int a=rand()%10原创 2017-11-05 07:01:37 · 449 阅读 · 0 评论 -
OI知识总结表
———— ————原创 2017-10-24 18:36:41 · 281 阅读 · 0 评论 -
二分姿势
牢记二分姿势:while(r-l>1){ int mid=(l+r)>>1; if(check(mid)) l=mid; else r=mid;}原创 2017-10-21 15:55:56 · 335 阅读 · 1 评论 -
欧几里得及扩展欧几里得算法详解
欧几里得算法 有两个数 a b,现在,我们要求 a b 的最大公约数,有欧几里得算法: gcd(a,b) = gcd(b,a%b) 若b>a,则第一步先完成了交换,再开始了求最大公约数的过程。 代码: 为什么要在b = 0时回溯呢? 对于两个数a b,显然在辗转相除的过程中一定会得到一个状态一个数非0,一个数为0。 简单的证明: 上图为欧几里得算法分部过程。 观察最后的a%原创 2017-10-27 07:05:20 · 455 阅读 · 0 评论 -
背包问题整理
准确一点说是对背包九讲的学习笔记 …思想和方法:在学习过程中了解的求解DP问题的思想,以及部分细节方法1.DP初始化为一已知的合法解 2.滚动数组优化 3.”拆分物品”的思想和方法 4.当发现由熟悉的动态规划题目变形得来的题目时,在原来的状态中加一维以满足新的限制是一种比较通用的方法01背包问题: 有N件物品和一个容量为V的背包,第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入原创 2017-10-31 21:17:09 · 293 阅读 · 0 评论 -
快速幂模板及应用
实现原理: a^b mod c = ((a^2)^b/2)mod c,b为偶数, a^b mod c = ((a^2)^b/2 * a)mod c,b为奇数。代码:#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<ctime>using namespace std;typedef原创 2017-11-01 12:59:31 · 239 阅读 · 0 评论 -
数论知识整理
最大公因数gcd和最小公倍数lcm:代码ll gcd(ll a,ll b){ return b==0?a:gcd(b,a%b);}ll lcm(ll a,ll b){ //return a*b/gcd(a,b); return a/gcd(a,b)*b;//防止a*b炸ll }扩展欧几里得算法exgcd:代码ll exgcd(ll a,ll b,ll &x,ll &原创 2017-11-04 09:22:16 · 692 阅读 · 0 评论