自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

segtree的博客

自己选择的路,就算是跪着也要走完!!!

  • 博客(15)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 网络流初步之最大流(增广路算法)

网络流是一个联通图;网络流有如下三个性质:1.一条边上容量恒大于流量。2.斜对称性,f(u,v)=-f(v,u);3.对于非源点和汇点有sigema(i,j){i,j属于E}=0;为了更方便算法的实现,一般根据原网络定义一个残量网络。其中r(u,v)为残量网络的容量。r(u,v) = c(u,v) – f(u,v)*反向边也有r!!!!增广路是指一条源点到汇点的

2017-02-10 22:51:37 691

原创 Dark的项链(树链剖分)

P2272 - Dark的锁链Description无向图中有N个节点和两类边,一类边被称为主要边,而另一类被称为附加边。Dark有N – 1条主要边,并且Dark的任意两个节点之间都存在一条只由主要边构成的路径。另外,Dark还有M条附加边。你的任务是把Dark斩为不连通的两部分。一开始Dark的附加边都处于无敌状态,你只能选择一条主要边切断。一旦你切断了一条主要

2017-02-10 14:11:47 308

原创 树链剖分

定义: siz[]数组,用来保存以x为根的子树节点个数top[]数组,用来保存当前节点的所在链的顶端节点hson[]数组,用来保存重儿子drep[]数组,用来保存当前节点的深度fa[]数组,用来保存当前节点的父亲id[]数组,用来保存树中每个节点剖分后的新编号两遍dfs求出以上信息,连边成重链,按照新的编号建树(有的题目这一步可省略);剩下全是线段树的操作查询或修改

2017-02-10 08:38:05 271

原创 树型DP

树型DP不同于普通的的DP之处在于:通过递归找出儿子的信息,在回溯的过程中DP,计算结果(似乎很像记忆化搜索。。。。。。)然后处理相关信息,回答询问》》》》》》》经典应用:点分治中求重心,树链剖分中求重儿子,等等。。。。。。。。。

2017-02-08 21:15:19 308

原创 点分治。。。。。

点分治,就是在树上分治,讲得很高大上。。。。。。。。实际上就是findroot,answer两个操作;根据分治的处理方法:分成若干个子问题因此,在每次dfs都要查找root;据说这样就是优化。。。。

2017-02-07 11:53:47 224

原创 巧克力

在某年某月某日,小D莫名其妙的得到一块超级大的魔法巧克力,于是他决定将这块巧克力切成若干块送给幼儿园的其他小朋友。这是一块n*m的矩形巧克力,所以小D准备将它切成n*m块。由于这块巧克力是一块魔法巧克力,所以必须按照特殊的方法进行切割。巧克力上共有n-1条横线和m-1条竖线,每次小D可以沿着其中的一条线切开某一块。而且这样切一次的代价只跟所切的线有关,而与所切的长度无关。沿着每条横线切一次的代

2017-02-06 16:08:40 1088

原创 离散化初步

离散化初步:离散化对于处理数据值较大,数组无法存储,而值又与所求结果关系不大时有妙用这里利用系统标准模板库STL实现,考场上建议用STL,手写会很麻烦的。。。。。。。。。1.sort(a,a+n)排序。。。。这个不用说2.unique(a,a+n)去重,返回最后那个完成去重的点的位置,好像是地址,所以减一个a;3.lower-boud(a,a+n,x)返回a[0]-a[n-

2017-02-04 22:21:20 521

原创 NOI全国赛(1998)——围巾裁剪

裁缝有一块非常珍贵的丝绸围巾。可惜的是,围巾的某些部分已经被蛀虫给咬坏了。裁缝当然不愿意就这么把围巾给丢了,于是,他想把围巾给裁成两块小围巾送给他的两个女儿。自然,两块小围巾的面积之和越大越好。 这块围巾是一个正三角形,三条边被均匀地分成了N段,即这个正三角形被均匀地分成了N2个单元,每个单元是一个面积为1的正三角形。图一所 示为一个N=5的围巾,图中带阴影的单元表示被蛀虫咬坏的部分。从上往下

2017-02-03 21:55:01 734

原创 关于Tarjan(3)——离线LCA

LCA(最近公共祖先),指对于一棵树上任意两个节点往上走最早都能到达的节点。求LCA有两种方法,一种是倍增,另一种则是Tarjan。。。。。。。。Tarjan巧妙利用并查集的思想;这里的Tarjan是离线算法先Tarjan下去;首先有fa[NUM]=num; 回溯时将子节点的fa变为num如果对于num的询问中另一个点已经访问;那他们的LCA为另一个点的find(f

2017-02-02 20:11:37 228 3

原创 丑数(USACO)

这个题是一个动态规划加优化的经典题1246 丑数 USACO 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond题解题目描述 Description对于一给定的素数集合 S = {p1, p2, ..

2017-01-29 23:37:24 1110 2

原创 NOI全国赛(2001)--食物链

今天写了道并查集的题,看来并查集的题刷少了,,,,,用法好神奇啊!!!开三倍并查集用i表示自己,i+n存天敌,i+2*n存可以克制de,再逻辑判断一下即可。所以,要意识到并查集的分类处理可以开不同倍数的空间来适应题目要求。1074 食物链 2001年NOI全国竞赛 时间限制: 3 s 空间限制: 64000 KB 

2017-01-25 16:28:03 309

原创 HNOI(湖南省选试题)——永无乡

今天写了一道十分巧妙的数据结构题———永无乡(看的题解。。。。。。)永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛 a 出发经过若干座(含 0 座)桥可以到达岛 b,则称岛 a 和岛 b 是连通的。现在有两种操

2017-01-23 22:13:03 318

原创 关于Tarjan(2)

Tarjan有第二个神奇的用法,求强连通分量!!!!!!!!!!!!!!!!!!!同样利用了dfn:dfs序,low:能回到的最早祖先的dfn;废话少说 上板子#include#include#include#include#include#include#include#include//栈的stl需要头文件 #includeusing namespace std;

2017-01-23 10:26:14 174

原创 关于Tarjan(1)

众所周知,Tarjan这个人特别调子,在图论等方面有重大成效,如离线求LCA,强连通分量,割点等。这里只对求割点进行代码剖析。所以上板子void tarjan(int now){//now当前节点 int num1=0;//dfn为时间戳,low为时间戳最小的祖先 dfn[now]=low[now]=++num; vis[now]=true; for(int i=

2017-01-22 19:06:10 288

原创 关于Trie KMP AC自动机

个人认为trie,KMP,AC自动机是思想非常明确的,AC自动机的性质是与KMP的思想类似的(失配后跳转)而KMP是线性的,AC自动机是在tire树上跑KMP,为方便那些不会用指针的小朋友(我也不会。。。。)我的tire树,kmp的next,AC自动机的fail全是用数组实现的!!!!(还有谁???!!!)所以上板子1,KMPvoid make() {//建立next数组

2017-01-20 09:20:33 453 2

flappy_bird_final.zip

上个学期数逻课做的flappybird大作业

2021-05-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除