题目描述 维护一个集合,集合中的元素与点u的最短距离已经确定,求出集合内元素所能到达的点到点u的距离,取最短的距离对应的点加入集合直到集合包含点v。 每次更新距离只与新加入集合的点有关。#include #include #include #define N 1005 unsigned w[N][N...
分类:
编程语言 时间:
2015-06-01 00:39:09
阅读次数:
161
题目描述 之前提到过,线段树之所以更新查询快,是因为区间更新有lazy标记使得不需要每次都操作到叶子节点。 但是如果要操作一个节点时,其父节点上的lazy标记应当被释放,否则该节点无法得到最新的正确结果。 因而lazy标记下放的策略是在需要操作某个节点的子节点时,将该节点的lazy标记全部下放。见第...
分类:
其他好文 时间:
2015-05-31 23:10:29
阅读次数:
120
题目描述 区间覆盖问题,区间绝对位置并不重要,重要的是各个更新的区间段之间的相对位置关系。 举例而言,离散化将区间更新[1,100], [2, 50]更换为区间更新[1,4], [2,3]。 离散化可以将空间复杂度从O(L)降到O(N),进而也降低了更新和查询操作的复杂度。 用一个map来记录绝对位...
分类:
其他好文 时间:
2015-05-31 12:13:26
阅读次数:
97
题目1 : 拓扑排序·一时间限制:10000ms单点时限:1000ms内存限制:256MB描述由于今天上课的老师讲的特别无聊,小Hi和小Ho偷偷地聊了起来。小Ho:小Hi,你这学期有选什么课么?小Hi:挺多的,比如XXX1,XXX2还有XXX3。本来想选YYY2的,但是好像没有先选过YYY1,不能选...
分类:
编程语言 时间:
2015-05-26 23:17:25
阅读次数:
133
拓扑排序·一时间限制:10000ms单点时限:1000ms内存限制:256MB描述由于今天上课的老师讲的特别无聊,小Hi和小Ho偷偷地聊了起来。小Ho:小Hi,你这学期有选什么课么?小Hi:挺多的,比如XXX1,XXX2还有XXX3。本来想选YYY2的,但是好像没有先选过YYY1,不能选YYY2。小...
分类:
编程语言 时间:
2015-05-26 15:53:12
阅读次数:
155
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
由于今天上课的老师讲的特别无聊,小Hi和小Ho偷偷地聊了起来。
小Ho:小Hi,你这学期有选什么课么?
小Hi:挺多的,比如XXX1,XXX2还有XXX3。本来想选YYY2的,但是好像没有先选过YYY1,不能选YYY2。
小Ho:先修课程真是个麻烦的东西呢。
小Hi:没错呢。好多课...
分类:
编程语言 时间:
2015-05-26 10:45:28
阅读次数:
146
题意 中文
简单的Topo排序 用vector实现邻接表比较方便
#include
using namespace std;
const int N = 1e5 + 5;
vector e[N];
vector::iterator it;
int n, m, ideg[N];
bool topo()
{
int cur;
queue q;
for(int i ...
分类:
编程语言 时间:
2015-05-25 09:58:06
阅读次数:
154
#1170 : 机器人
时间限制:2000ms
单点时限:1000ms
内存限制:256MB
描述
小冰的N个机器人兄弟排成一列,每个机器人有一个颜色。现在小冰想让同一颜色的机器人聚在一起,即任意两个同颜色的机器人之间没有其他颜色的的机器人。
假设任意相邻的两个机器人可以交换位置,请问最少需要多少次交换?
输入
第一行为一个整数T,为数据...
分类:
其他好文 时间:
2015-05-23 01:20:18
阅读次数:
221
题意:给出几堆石子数量,每次可以取走一堆中任意数量的石头,也可以将一堆分成两堆,而不取。最后取走者胜。思路:先规矩地计算出sg值,再对每个数量查SG值就可以了。最后求异或和。 1 #include 2 using namespace std; 3 const int N=105, limit=20....
分类:
其他好文 时间:
2015-05-19 18:35:50
阅读次数:
100
Tarjan算法适用于离线批量处理多个查询请求。基本思想是以深度优先搜索的顺序访问这颗树,给这棵树的结点染色,一开始所有结点都是白色的,而当第一次经过某个结点的时候,将它染成灰色,而当第二次经过这个结点的时候——也就是离开这棵子树的时候,将它染成黑色。...
分类:
编程语言 时间:
2015-05-19 14:54:36
阅读次数:
169