- 博客(11)
- 资源 (10)
- 收藏
- 关注
原创 POJ 1151 Atlantis 扫描线+离散化+线段树
/** * @file main.cpp * @brief 扫描线+离散化+线段树,题意是要求一堆矩形的总面积,需要处理矩形相交 * ac这道题着实让我为难了很久,第一次写扫描线,第一次接触离散化 * * 基本思路是这样: * 1. 构建平行于x轴的扫描线并进行排序 * 这样,任意两条扫描线之间的宽度乘以在高方向上的有效
2013-06-14 16:29:58 502
原创 POJ 2886 Who Gets the Most Candies? 线段树
/** * @file main.cpp * @brief 线段树+反质数理论 * 基本思路是模拟约瑟夫环问题,求出第p个出圈的小朋友 * 而p的值是小于等于小朋友总数n的最大的反质数 * * 不对反质数理论尽心更深探究,因为现在进行线段树以及树状数组专题训练 * * 基本算法是树状数组,每一个区间用以表示该区间内还剩下多少个
2013-06-13 15:01:15 452
原创 POJ 2828 Buy Tickets 线段树
/** * @file main.cpp * @brief 线段树 * 题意大致为:知道插队的每个用户将插到的位置,以及其附带的编号 * 需要还原最终的排队序列 * * 做法是从最后一个人倒过来往前处理 * 对于最后一人他所谓的插队位置i表示前面有i个空位置需要空出来 * 一次从后往前处理完就得到了最终序列 *
2013-06-09 20:01:24 463
原创 POJ 2528 Mayor's posters 线段树
/** * @file main.cpp * @brief 离散化+线段树 * 1.离散化,源数据的范围是1-10000000,直接使用线段树求解会超内存,也不优雅 * 数据个数只有10000,离散化后只有20000个点 * 2.线段树求解,我感觉的线段树的精髓在于插入/染色的时候把父节点的值传递给子节点这个操作,在代码中已经特别注释出来
2013-06-09 17:59:22 461
原创 POJ 2777 Count Color 线段树
/** * @file main.cpp * @brief 线段树,注意几点: * 1.输入数据中有可能有a>b的情况,需要做特殊处理 * 2.cin会超时,使用scanf * 3.线段树染色/插入的时候注意 * 如果待插入区间等于线段树区间,直接插入 * 递归处理子区间之前,需要把父亲节点的染色(
2013-06-09 16:25:33 424
原创 POJ 1391 Erdos Numbers 最短路径
/** * @file main.cpp * @brief 求单源最短路径 * 大致题意:Erdos, P.多产的数学家,论文很多 * 现在需要计算任意一人到他的距离,这个距离定义为 * 如果和他合作过论文,距离为1 * 如果没有和他合作过论文,但和与他合作过论文的人合作过,距离为2 * 依次类推 * *
2013-06-08 23:42:39 608
原创 POJ 3169 Layout 差分约束系统
/** * @file main.cpp * @brief 差分约束系统,题意很简单 * 一堆的奶牛,有的两两希望距离x以上,有的希望距离x以下 * 求1到n号奶牛的最大距离,同时注意输出不连通-2以及负环无解-1 * * 设s[i]表示i号奶牛的绝对距离,则有以下约束: * 1. s[b] - s[a] <= d *
2013-06-07 23:14:46 400
原创 POJ 1364 King 差分约束系统
/** * @file main.cpp * @brief 差分约束系统,题目意思为: * 国王给出m组假设,计算满足所有假设的数组是否存在 * 假设分两种: * 1. 从si开始的连续ni+1个数字相加小于ki * 2. 从si开始的连续ni+1个数字相加大于ki * * 令s[i]表示a[0]+a[1]+..
2013-06-07 22:00:13 435
原创 POJ 3159 Candies 差分约束系统
/** * @file main.cpp * @brief 差分约束系统,题意大致如下: * 1号小孩叫snoopy,N号小孩叫flymouse * N号小孩希望自己的糖果要比1号小孩尽量的多 * 但是需要满足特定约束: * * 设s[i]为i号小孩的糖数,对于约束(a,b,c)的含义是 * s[b] - s[a
2013-06-07 01:05:46 403
原创 POJ 1716 Integer Intervals 差分约束系统
/** * @file main.cpp * @brief 差分约束系统,也可以用贪心来做 * 贪心的方法是按照[a,b]的b进行排序,然后贪心 * * 差分约束条件为 * 1. s[b] - s[a] >= 2 * 2. s[i] - s[i - 1] >= 0 * 3. s[i] - s[i - 1] <=
2013-06-06 23:00:03 377
原创 POJ 1201 Intervals 差分约束系统
/** * @file main.cpp * @brief 差分约束系统,基本不等式如下,求s[n] * 1. s[b] - s[a] >= c 直观理解是s[b] - s[a - 1] >= c,s[x]表示集合中选自[0,x]的数字总数,程序对下标做了处理 * 2. s[i] - s[i - 1] >= 0 * 3. s[i - 1] - s
2013-06-06 00:25:00 391
Windows服务程序中实现对U盘的监控
2011-02-10
C实现windows服务
2011-02-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人