最近又忙又颓.............时间抓不紧....下学期开始就要准备考研了.......就2个月左右可以做自己喜欢的事了....争取把紫书和白书没做的,做过的。。来一次完整的总结 训练指南上面的5个例题+后面15个习题是第一阶段 vjudge训练地址 http://vjudge.net/con ...
分类:
其他好文 时间:
2016-11-29 07:34:19
阅读次数:
224
【算法】点双连通分量 【题解】详见《算法竞赛入门竞赛入门经典训练指南》P318-319 细节在代码中用important标注。 #include<cstdio> #include<algorithm> #include<vector> #include<stack> #include<cstring ...
分类:
其他好文 时间:
2016-11-11 22:46:05
阅读次数:
345
看了LRJ的训练指南上连通有关的介绍,写得挺好,但是有些位置逻辑跳跃比较大,还有一些留给读者思考的位置,在此做个总结. 1.DFS框架 2.连通分量 3.二分图判定 4.无向图的割顶和桥 5.无向图的双连通分量 6.有向图的强连通分量(Tarjan算法) 1.DFS框架 连通图很多都是跟DFS框架里 ...
分类:
其他好文 时间:
2016-10-28 20:42:39
阅读次数:
386
题目大意: 给出n个数,要求将其分成最少的递增序列,保证序列最少的同时要使得序列长度的最大值最小。 n<=10000 题解: 1.我是直接看着《训练指南》里的中文题面的,lrj似乎忘记提“保证序列最少的同时要使得序列长度的最大值最小”这个条件了,WA到死。。我的做法是统计每个数出现的次数,然后每次尽 ...
分类:
其他好文 时间:
2016-09-16 23:00:53
阅读次数:
339
p275 d(i)是以Ai为结尾的最长上升子序列的长度 《算法竞赛入门经典-训练指南》p62 问题6 提供了一种优化到 O(nlogn)的方法。 在O(nlogn)的算法分析中(从“假设已经计算出的两个状态...”开始), 用g(i)表示d值为i的最小状态编号,状态编号就是数组下标 g(1) <= ...
分类:
其他好文 时间:
2016-08-22 19:42:07
阅读次数:
128
Dijkstra单源最短路径算法 Dijkstra可以计算出发点到每个点的最短路,及单源最短路径(SSSP)。这一特点使得Dijkstra常常用来进行其他算法的预处理。用Dijkstra算法计算最短路的代码如下: 注:代码注释参见《算法竞赛入门经典——训练指南》(刘汝佳) Bellman-Ford算 ...
分类:
其他好文 时间:
2016-08-13 06:35:01
阅读次数:
226
原理可以看hihocoder上面的讲解,很清楚,不多说了。 模板抄lrj训练指南上面的。 例题: 上面hihocoder的例题,这个代码是照着讲解自己写的 //Treap.cpp #include <stdio.h> #include <string.h> #include <stdlib.h> c ...
分类:
其他好文 时间:
2016-08-11 22:42:13
阅读次数:
282
Uva 11796: 甲和乙两条狗分别沿着一条折线奔跑。两只狗的速度位置,但已知他们同时出发,同时到达,并且都是匀速奔跑。你的任务是求出甲和乙在奔跑过程中的最远距离和最近距离之差。 分析:这里分析两只狗在运动过程的距离问题,我们这里面临如下两个困难: (1) 两只狗都在动。 (2) 狗的运动路线是折 ...
分类:
其他好文 时间:
2016-08-06 01:49:11
阅读次数:
294
修水管问题: 话说最近柴小俊迷上了一款战略经营游戏《部落冲突》,他在修建筑的时候面临这样一个问题,他的军营被夹在两条河流之间,现在它想在两条河流的边上修筑供水点,并且需要用水管将两个供水点分别与军营连接起来(两个供水点之间也要相连),那么身为Acmer的你,能否当一次参谋,告诉柴小俊他最少需要准备多 ...
分类:
其他好文 时间:
2016-08-05 13:59:15
阅读次数:
142
LA3263: 题目大意:给出一个一笔画图形,它包含n个点。先给出其n个点坐标之后,求解这个图形把平面分成了几个区域。 分析:这里要求的是面的个数,显然连直接暴力进行求解的方法都没有,因此这里就需要进行一定的转化,已知信息是点的坐标,那么我们应该能够想到平面几何中的欧拉定理(我们将图形看成图论当中的 ...
分类:
其他好文 时间:
2016-08-03 06:42:29
阅读次数:
118