
NOIP范围浅谈
文章平均质量分 53
pretend_fal
In me the tiger sniffs the rose.
展开
-
NOIP2015 信息传递
题目描述有n个同学(编号为1到n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别人口中得知自己的生日时,游戏结束。请原创 2017-08-09 09:47:34 · 1195 阅读 · 0 评论 -
网络流24题 圆桌聚餐
原题位置: http://cogs.sxysxy.org:8080/cogs/problem/problem.php?pid=729(这个有SPJ)这个题是一个裸的网络流板子题,都说网络流难在建图,我只能说+1;这个题的建图方式有两种,但大同小异;<1> 超级源,超级汇,拆点,拆出的两个点之间为代表数(桌子数),代表和桌子之间的边是1,超级源(汇)与代表(桌子)之间是正无穷; <2> 超级源,超级原创 2017-09-29 17:21:46 · 276 阅读 · 0 评论 -
MST (最小生成树)
我们有一个无向图,然后要求生成一棵边权之和最小的树首先,我们可以暴力,枚举每一条边选不选,然后计算边权和,更新答案,必定会TLE,这是显然的;那么我们需要一种较为高效的算法来解决这种问题,这时候,我们就可以学一下MST(最小生成树)的Kruskal算法了这个算法用到了一些贪心的思想,就是我们每次选当前待选的边权最小的那条边,如果这条边符合性质,我们就把它加入到树中,否则,我们换下一条边,一直重复这个原创 2017-08-01 21:37:33 · 8260 阅读 · 0 评论 -
并查集
并查集,顾名思义,就是把元素并到一个集合里,然后还可以查找某个元素在哪一个集合里;这其实就是并查集了,思想很简单,而且很好写,不过很少会有题专门考并查集,但是,不可否认的是,并查集是一个极为有用的辅助算法,或者说是思想,再或者是一种实现方式;并查集有几个主要操作:<1> 初始化:我们会把每一个点放入一个单独的集合,即fa[x]=x,代表x所在的这个集合的代表元素是x;<2> 查询:我们每一个集合的表原创 2017-08-02 21:49:42 · 233 阅读 · 0 评论 -
luogu P1970 花匠 (NOIP)
题目描述花匠栋栋种了一排花,每株花都有自己的高度。花儿越长越大,也越来越挤。栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较别致。具体而言,栋栋的花的高度可以看成一列整数h1,h2..hn。设当一部分花被移走后,剩下的花的高度依次为g1,g2..gn,则栋栋希望下面两个条件中至少有一个满足:条件 A:对于所有g(2i) > g(2i-1)原创 2017-08-03 21:26:29 · 481 阅读 · 0 评论 -
Tarjan 求割边割点
Tarjan是多种算法的总称,因为Tarjan这个人太牛*了,那我们今天就来看一看Tarjan神的算法之一 :Tarjan求割边割点;首先我们要清晰什么是割边割点:割点:首先我们有一张连通图: 对于这张图,显然它是一张联通图,那么割点的定义就是:“某一个点A,若删除这个点并且删去这个点所练的边,那么这张图的强联通分量增多”;所以我们可以根据定义来推断出上图中的点3和点4是该图的割点,因为原图中的一原创 2017-08-02 20:31:16 · 1127 阅读 · 0 评论 -
gcd&exgcd
其实这个东西可以背板子的;所以我打算直接上板子:———————————–begin———————————–gcdII gcd(R II a,R II b){ while (b) { R II c=b; b=a%b; a=c; } return a;}——————————–fen a~ fen a~ fen ge xian——————————原创 2017-09-24 16:50:40 · 605 阅读 · 0 评论 -
luogu P2709 小B的询问
这道题是莫队,据说在离线区间查询上,莫队无敌,但是感觉还好吧;首先这道题是一个用来练手的好题,因为这是板子题;所以主要就是排序,然后while查询;至于排序方式 :首先 ,应用分块思想,以查询左端点所在块为第一关键字, 以右端点为第二关键字 ,均从小到大排序;然后就没有然后了;———————–分割线啊——————————–#include<iostream>#include<cstdio>#in原创 2017-09-25 08:41:08 · 299 阅读 · 0 评论 -
素数筛
好像有叫做线性素数筛的东西,而且我不知道我的是不是;至于为怎么写这篇文章,其实就是背不过,然后以后复习用;鉴于以上目的,我就直接上代码了,挺好背的,背过就好了;———————————biu biu biu————————————-#include<iostream>#include<cstdio>#include<algorithm>#define II int#define R regis原创 2017-09-24 07:46:26 · 336 阅读 · 0 评论 -
NOIP总结
动态规划:线性dp,区间dp,树形dp*,线段树优化,前缀和优化,单调队列优化,滚动数组优化内存。(状压dp,数位dp,斜率优化,矩阵乘法加速)数据结构:堆、栈、队列、双向链表(约瑟夫环),树状数组,线段树。(树剖,主席树,平衡树,树套树,kd-tree,动态树)图论:MST,最短路,Tarjan(强联通分量,割点割边),并查集,拓扑排序,2-sat,差分约束,二分图(判定是否是二分图,二分图最大匹原创 2017-08-02 21:15:48 · 484 阅读 · 0 评论 -
ST表
求最大值#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#define II int#define R register#define I 123456using namespace std;II f[I][30];II n,q;int main(){ scanf("%d%d",&n原创 2017-10-17 16:25:56 · 316 阅读 · 0 评论