noip复习模板】的更多相关文章

我只会这么多 tarjan:codevs 1332 void tarjan(int u) { dfn[u]=low[u]=Time++; s.push(u); for(int i=head[u];~i;i=nxt[i]) { int v=to[i]; if(!dfn[v]) tarjan(v); ) low[u]=Min(low[u],low[v]); } if(dfn[u]==dfn[v]) { while(!s.empty()) { int x=s.top(); s.pop(); dfn[x…
NOIP复习篇---枚举 ---------------------------------------------------------------------------------------------------------------- 高手的切磋不在于难题,而在于SB算法....NOIP来了,决不能犯SB错误 --------------------------------------------------------------------------------------…
一.复习数据库操作 字段类型 字符串 EmailField(CharField): IPAddressField(Field) URLField(CharField) SlugField(CharField) UUIDField(Field) FilePathField(Field) FileField(Field) ImageField(FileField) CommaSeparatedIntegerField(CharField) 时间类: models.DateTimeField(null…
距离NOIP还有25天 可以去放弃一些巨难得题目去搞一些模板了 -------在校老师的原话 一·快排 虽然可以手打,最好用STL,里面有很多优化,会快很多 #include<iostream> #include<algorithm> using namespace std; struct node { int x,y; }a[maxn]; bool cmp(node a,node b) { return a.x<b.x; } int main() { sort(a+,a++…
不是很noip的知识点就不写了. dij什么的太easy就不写了. 缩点 注意\(Tarjan\)在缩边双和求强联通分量时候的区别. 一个要判断是否在栈内一个不要. 最后\(topsort\)来\(dp\),或者记忆化搜索,但是一定要记得初值为\(-1\). 考虑图不联通. 负环 考虑图不联通. 一开始\(dis=0\),判断最短路长度大于\(n\)会好一些. \(dfs\)型\(spfa\)是指数级的. ST表 注意是\(i\)到\(i+2^k-1\). 所以预处理的时候不要减1,因为已经减过…
网络流 Dinic(搭配飞行员) //Serene #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=100+10,maxs=maxn*maxn+2*maxn; int n,m,S,T; int aa…
noip一轮复习真的要开始啦!!! 大概顺序是这样的 1.数学 2.搜索贪心 3.数据结构 4.图论 5.dp 6.其他 数学 1.数论 数论被称为数学皇冠上的明珠,他的重要性主要在于它是其他学习的祖师,基本上什么代数问题都可以通过数论推导,其实有的图论也是(数学上). 我们信息中的数论主要是说对整除同余的研究~~~~~~~ ①:唯一分解定理与素数 这个之前我们先要讲素数(定义全部掠过) 素数筛法: #include<iostream> #include<cstdio> #incl…
前言        离NOIP还有一个星期,匆忙的把整理的算法补充完善,看着当时的整理觉得那时还年少.第二页贴了几张从贴吧里找来的图片,看着就很热血的.当年来学这个竞赛就是为了兴趣,感受计算机之美的.经过时迁,计划赶不上变化,现在尚处于迷茫之中,也很难说当时做的决定是对是错.然而我一直坚信迷茫的时候选择难走的路会看见更好的风景.       这篇文章简单的说了一下NOIP考试中会常用的算法,可能难度掌握的不是太好,有一部分内容不是NOIP考查范围,然而随着难度的增加,看一些更高级的算法也没有坏处…
Preface 这篇博客记录的是我联赛前虽然只有两天了的打板子记录. 只求真的能给我起到些作用吧,一般按照难度排序. 而且从这篇博客开始我会用H3的标题代替H4 为了节约篇幅,以下的代码一般均以class的形式给出,模板题均来自Luogu. 快读快输(文件操作) 这是基础中的基础吧,这个感觉敲出来还是没什么问题的(默认不读/输负数) class FileInputOutput { private: #define S 1<<21 #define tc() (A==B&&(B=(…
[模板] /*堆优化Dijkstra*/ void dijkstra() { priority_queue<pair<ll,int>,vector<pair<ll,int> >,greater<pair<ll,int> > > que;//定义大顶堆 ;i<=n;i++) vis[i]=,dis[i]=INF; dis[]=; que.push(make_pair<ll,,)); while (!que.empty())…
只是列列一些要复习的,努力复习吧,有种noip退役的赶脚. 一.模拟 (这你也不会?退役吧) 二.DP 1.基础dp 2.区间dp 3.状压dp 4.树形dp 6.概率(期望)dp 7.环形dp 8.方格dp 9.背包问题 a.01背包 b.完全背包 c.多重背包 d.二进制压缩 10.线性dp 三.搜索: 1.dfs 2.bfs 3.枚举 4.启发式搜索(a*) 5.双向搜索 6.记忆化搜索 7.hash判重 8.剪枝 9.二分查找 四.贪心 (视题目而定,没什么好讲的) 五.树 1.生成树…
//归并排序求逆序对 #include<bits/stdc++.h> #define ll long long using namespace std; ]; ll ans; ]; void merge_sort(int l,int r) { if(l==r)return; ; ,cnt=l; merge_sort(l,mid); merge_sort(mid+,r); while(i<=mid&&j<=r) { if(a[i]<=a[j])b[cnt++]=…
[SinGuLaRiTy-1047] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 质因数分解 void solve(int n) { ==) { printf(); n/=; } ;i<=sqrt(n);i+=) { ) { n/=i; printf("%d*",i); i-=; } } printf("%d\n",n); } 欧拉线性筛素数 #define MAXN 100005 #define…
[SinGuLaRiTy-1040] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 二维线段树 2D_Segment_Tree //示例:单点修改,区间求和. //注意内存限制 #include<cstdio> #include<iostream> #include<cstring> ; #define L(x) ((x)<<1) #define R(x) ((x)<<1|1) #def…
题目链接:http://files.cnblogs.com/files/candy99/%E9%A2%98%E7%9B%AE1117.pdf A n个等比数列求和公式(都感觉数列忘光了) %1e9+7要用逆元 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> using namespace std; type…
图 最短路径 #include <queue> #define N 1000 typedef long long ll; using namespace std; int d[N], w[N][N], num[N]; ll dis[N]; queue<int> que; void spfa(){ ;i<=n;i++) dis[i]=0x7fffff; que.push();d[]=;dis[]=; do{ int h=que.front(); d[h]=,que.pop();…
一.背包问题 最基础的一类动规问题.相似之处在于给n个物品或无穷多物品或不同种类的物品,每种物品仅仅有一个或若干个,给一个背包装入这些物品,要求在不超出背包容量的范围内,使得获得的价值或占用体积尽可能大,这一类题的动规方程f[i]一般表示剩余容量为i时取得的最大价值或最大占用体积.或者有多维状态,分别表示不同种物品的剩余量 1.Wikioi 1014 装箱问题 题目描写叙述 Description 有一个箱子容量为V(正整数,0<=V<=20000).同一时候有n个物品(0<n<=…
[SinGuLaRiTy-1043] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 桶排序 void bucketSort(int a[], int n, int max)//a[]为待排序数组,n为数组长度,max为数组中的最大值范围 { int i,j; int buckets[max]; // 将buckets中的所有数据都初始化为0. memset(buckets, , max*sizeof(int)); // 1. 计数 ;…
[SinGuLaRiTy-1042] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 结构体封装 //高精度运算 注意%I64d与%lld #define LL long long int struct bignum { LL num[MAXN] ; void init() { memset(num,,sizeof num); } bool operator < (const bignum &a)const { ]!=a.num[])…
[SinGuLaRiTy-1041] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 计算树的直径 //方法:任选一个点作为起点进行一次BFS,找到最远点u.再以u为起点做一次BFS,找最长路即直径. queue<int>point; void bfs(int a,int dis[]) { memset(dis,inf,sizeof dis); dis[a]=; point.push(a); int v ,u ; while(!poin…
Hash: #include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> #include <cstring> #define REP(i,k,n) for(long long i=k;i<=n;i++) #define in(a) a=read() using namespace std; inline long long read(){ ,f=…
归并排序: #include<iostream> #include<cstdio> #include<cstring> using namespace std; ],s[],n; void megre_sort(int l,int r) { if(l==r) return ; ; megre_sort(l,mid);megre_sort(mid+,r); ,k=l; while(i<=mid&&j<=r) { if(a[i]<=a[j]…
之前很多很多紫书上的东西我都忘了…… 抄题解的后果…… 做了一下裸题 https://vjudge.net/problem/UVA-10305 拓扑排序还可以来判环 #include<bits/stdc++.h> #define REP(i, a, b) for(register int i = (a); i < (b); i++) #define _for(i, a, b) for(register int i = (a); i <= (b); i++) using namesp…
逆元,即对给定\(a,p\ (a \perp p)\),求\(x\)使得\(ax \equiv 1 \ (\bmod p)\) 逆元可以看做\(a\)在模\(p\)意义下的\(a^{-1}\).因此,在模\(p\)意义下,可以用乘\(a\)的逆元的方式来代替除以\(a\)操作 求单个数的逆元 费马小定理求逆元 当\(p\)是质数且\(a\perp p\)时 $$a^{p-1}\equiv1\quad (\bmod p) $$ 方程两边同时乘\(a^{-1}\),可以发现$$a^{-1}\equi…
整数的唯一分解定理: \(\forall A\in \mathbb {N} ,\,A>1\quad \exists \prod\limits _{i=1}^{s}p_{i}^{a_{i}}=A\),其中\({\displaystyle p_{1}<p_{2}<p_{3}<\cdots <p_{s}}\)而且 \(p_{i}\)是一个质数, \(a_{i}\in \mathbb {Z} ^{+}\)(摘自维基百科) 欧拉筛通过使每个整数只会被它的最小质因子筛到来保证时间复杂度,…
\(a ^ n \bmod p\) \(a, p, n \leq 10^9\) 最普通的二进制拆分 #define LL long long LL qpow(LL a, LL n, LL p) { LL ans = 1; for (; n; n >>= 1, a = a * a % p) if (n & 1) ans = ans * a % p; return ans % p; } \(a, p, n \leq 10^{14}\) 底数变大了,直接做\(a * a\)会爆longlon…
马上就要noi了……可能滚粗已经稳了……但是还是要复习模板啊 LCT: bzoj2049 1A 7min # include <stdio.h> # include <string.h> # include <iostream> # include <algorithm> // # include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long dou…
10.10 想着自己再过一个月就要退役了,真叫人心酸.想到徐志摩的诗: "悄悄地,我走了,正如我悄悄的来,我挥一挥衣袖,不带走一片云彩." 学了这么久的OI,感觉真的就像诗里讲的一样,有一天自己也会离开,不带走一片云彩地离开.有时,看着自己每况愈下的成绩,看着旁边不管是学科还是竞赛的强手们一天一天脚踏实的扎扎实实的努力,我真的会怀疑当初自己的决定是不是足够成熟,足够睿智. "写下不忘初心四个字的时候,我的手甚至在颤抖." 也许我的累只是假象,也许我真的只是不够努力,…
NOIP爆炸游记 Day 0 Day 1 T1 T2 T3 Day 2 T1 T2 T3 最后 Day 0 复习模板 + 做真题 + 方 Day 1 早上吃了一片面包,就进了考场- T1 Exm??这不是两天前才做的NOIP2013积木城堡吗?一分钟打完代码,心惊胆战过了大样例+看了n遍题目后做下一道 CCF:我 搬 我 自 己 T2 第一眼,什么神题,看了一遍T3再回来,完全背包..好吧 T3 留了3h做第三题,然而最开始没思路,打了55分的链和菊花图后开始暴力.然而暴力不会写,突然想到正解.…
复习模板. 两两合并同余方程 $x\equiv C_{1} \ (Mod\ P_{1})$ $x\equiv C_{2} \ (Mod\ P_{2})$ 把它写成不定方程的形式: $x = C_{1} + P_{1} * y_{1}$ $x = C_{2} + P_{2} * y_{2}$ 发现上下两式都等于$x$ 所以$C_{1} + P_{1} * y_{1} = C_{2} + P_{2} * y_{2}$ 稍微移项一下,有$P_{1} * y_{1} + P_{2} * (-y_{2})…