- 博客(28)
- 资源 (24)
- 收藏
- 关注
原创 CF 7C Line(拓展欧几里得求线性方程)
链接:http://codeforces.com/problemset/problem/7/C题目大意:给方程Ax + By + C = 0. 其中A,B,C为已知, 求x,y。分析与总结:拓展欧几里得算法的模板题。这个算法在数论书或者网上都可以找到。该算法求出线性方程Ax + By = gcd(A, B); 然后,这个方程可进行转换:
2012-11-29 01:16:47 1655
原创 HDU 2063 过山车(匈牙利算法模板)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2063分析与总结:这题是裸的二分匹配,用来验证模板的代码:1. DFS#include#include#includeusing namespace std;const int MAXN = 505;int Nx,Ny; int G[MAXN][MAX
2012-11-18 18:33:35 815
原创 Ural 1019 A Line painting(线段树,成段更新离散化)
链接:http://acm.timus.ru/problem.aspx?space=1&num=1019题目大意:一条线段上有点0~10^9. 初始时全部都是白色。 然后会有一些操作:把【a b】区间染成白色,或者把【a,b】区间染成黑色。最后,求最长的一段白色。分析与总结:线段树成段更新染色。当然,由于数据量小,也可以直接暴力。1. 在离散化问题上
2012-11-16 17:08:26 1184
原创 CF 6E Exposition(RMQ | 线段树,二分)
链接:http://codeforces.com/problemset/problem/6/E题目大意:给n个数,然后找出最长的一段子序列(不需要连续),使得这段子序列中的最大值与最小值之差不超过k。找出有几个子序列满足,并且输出他们的开始位置与结束位置。分析与总结:枚举所有子序列的起点位置,然后再二分终点位置,使得起点与终点的距离最大,并且这个区间内的最大
2012-11-16 14:33:31 1258
原创 poj 2528 Mayor's posters(线段树,离散化,成段更新染色)
链接:http://poj.org/problem?id=2528题目大意:在长度为10000000的墙上贴海报,海报的高度和墙的高度一样,不同的海报覆盖在不同的区域。如果有重叠位置,则后面贴的海报会把之前贴的海报覆盖掉。问最终有几张海报可以看到?分析与总结:又一道成段更新的线段树染色问题来喽。1. 用map来离散化,结果TLE了。。。然
2012-11-15 15:06:16 1063
原创 zoj 1610 Count the Colors(线段树,成段更新染色)
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1610题目大意:在一条长度为8000的线段上染色,每次把区间[a,b]染成c颜色。显然,后面染上去的颜色会覆盖掉之前的颜色。求染完之后,每个颜色在线段上有多少个间断的区间。分析与总结:这题是成段更新lazy标记的题,并
2012-11-15 12:54:09 6982 5
原创 poj 3468 A Simple Problem with Integers(线段树|成段更新,区间查询)
链接:http://poj.org/problem?id=3468题目大意:有N个整数:A1, A2, ... , AN。 然后对这个整数序列有两种操作:1. C a b c : 把Aa, Aa+1, ... , Ab所有元素都加上c2. Q a b : 查询Aa, Aa+1, ... , Ab之和。分析与总结:经典线段树题目
2012-11-14 20:58:43 835
原创 HDU 1556 Color the ball (线段树|树状数组,区间更新)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1556题目:Problem DescriptionN个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a Input每个测试实例第一行为一个整数N,(N 当N = 0,输入结束。 Ou
2012-11-14 18:53:04 872
原创 HDU 1698 Just a Hook(线段树,成段更新)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698分析与总结:我的第一道线段树成段更新题... 看刘汝佳大白书+傻崽的代码学习的代码:#include#include#include#include#define mid ((left+right)>>1)#define lson rt<<1,left
2012-11-14 18:45:36 708
原创 poj 2299 Ultra-QuickSort(线段树,离散化求逆序数)
题目链接:http://poj.org/problem?id=2299分析与总结:一看到这题的第一反应就觉得是求逆序数 = =|先用归并排序求逆序数AC之,这应该是速度最快的一种求逆序数方法,391MS然后用树状数组做,因为每个元素范围0 ≤ a[i] ≤ 999,999,999, 太大了,所以我用map离散化了,结果超时了...后来发现,其实不需要用map来映射
2012-11-13 22:00:33 1382
原创 poj 3067 Japan(线段树 | 树状数组)
链接:http://poj.org/problem?id=3067题目大意:在Japan的东西两边都有海岸线,且都是南北方向的。两边分别有n,m个城市,他们的编号分别都为1....n, 1....m.要在东西海岸的城市间建立一些高速路,求所有的交点有多少个(一个交点保证只有两条路穿过)。分析与总结:这题并不难想,把所有路按照以东海岸变为起点u,西海岸为终
2012-11-13 01:24:01 1686
原创 poj 2481 Cows(树状数组 | 线段树)
链接:http://poj.org/problem?id=2481题目大意:给n个区间,对于两个区间【Si,Ei】和【Sj, Ej】,如果Si Ej - Sj, 就说区间i比区间j“强大”。也就是区间i要严格包含区间j。求每个区间i,有多少个区间比i“强大”,并输出。分析与总结:昨天的CF的B题Big Segment也是和这题的区间包含的处理相似,
2012-11-13 00:02:26 1009
原创 poj 2352 Stars(树状数组 or 线段树)
链接:http://poj.org/problem?id=2352题目大意:在坐标上有n个星星,如果某个星星坐标为(x, y), 它的左下位置为:(x0,y0),x0按照y递增,如果y相同则x递增的顺序给出n个星星,求出所有level水平的数量。分析与总结:因为输入是按照按照y递增,如果y相同则x递增的顺序给出的, 所以,对于第i颗星星,它的level就
2012-11-12 17:21:34 8264 2
原创 HDU 2795 Billboard(线段树)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795题目大意:给一个h*w的公告牌,h是高度,w是宽度,一个单位高度1为一行,然后会有一些公告贴上去,公告是1*wi大小的长纸条,优先贴在最上面并且最左边的位置,如果没有空间贴得下,就输出-1,可以的话,就输出所贴的位置(第几行)。分析与总结:叶节点【x,x】表示b
2012-11-08 13:56:23 948
原创 HDU 1394 Minimum Inversion Number(线段树,逆序数)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394题目大意:给一个n个数的序列a1, a2, ..., an ,这些数的范围是0~n-1, 可以把前面m个数移动到后面去,形成新序列:a1, a2, ..., an-1, an (where m = 0 - the initial seqence)a2, a3, ...,
2012-11-08 12:08:30 1214
原创 线段树 | 树状数组 【怒学习怒刷ing...】
因为线段树和树状数组很多题目用这两种方法都可以解决,所以决定这两种数据结构同步交叉进行学习和刷题资料:NotOnlySuccess博客《树状数组》--吴豪《线段树和树状数组》--郭炜单点更新 HDU 1166 敌兵布阵 线段树 | 树状数组。HDU 1754 I Hate It 线段树,求区间求最大/
2012-11-07 20:52:13 1356
原创 HDU 1754 I Hate It(线段树,区间最大值)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754分析与总结:线段树求区间最大值,好像也没什么可讲的。代码:#include#include#include#define lson(x) (x<<1)#define rson(x) (lson(x)|1)using namespace std;
2012-11-07 20:45:08 874
原创 HDU 1166 敌兵布阵(线段树,区间求和)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166分析与总结:我的第一道线段树,留做纪念。。学习过程中,主要是遇到了一个问题:在输入初始化线段树时,有的是直接在build函数里面输入,有的是在外面先全部输入到一个数组里面,然后才build,代码如下:1. int build(int cur, int le
2012-11-07 20:25:59 1342
原创 HDU 3695 Computer Virus on Planet Pandora(AC自动机)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3695题目大意:给出n个匹配串,然后给一个长串S,找出S中有多少种匹配串。注意匹配串在S中正反出现的顺序都算是出现。S可能会有些段是压缩过的,格式为【qx】,q是一个数字,x是一个字母,代表有q个x。 假设 把B【3A】DE“解压缩”之后,就是BAAADE分析与总
2012-11-04 21:26:07 1539
原创 HDU 2896 病毒侵袭(AC自动机)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896题目:Problem Description当太阳的光辉逐渐被月亮遮蔽,世界失去了光明,大地迎来最黑暗的时刻。。。。在这样的时刻,人们却异常兴奋——我们能在有生之年看到500年一遇的世界奇观,那是多么幸福的事儿啊~~但网路上总有那么些网站,开始借着民众的好奇
2012-11-04 13:37:23 919
原创 AC自动机【整理ing...】
今天开始刷AC自动机, 慢慢添加整理这个专辑。鉴于目前还未开始系统地学习dp,AC自动机计划分两个阶段做,第一阶段是刷到中等的,第二阶段是刷带dp的难的AC自动机。学习资料:刘汝佳《算法入门经典-训练指南》 P214http://www.cs.uku.fi/~kilpelai/BSA05/lectures/slides04.pdfhttp://www.cppblog
2012-11-04 13:30:57 1308
原创 HDU 2222 Keywords Search(我的第一道AC自动机,模板题)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222分析与总结:作为著名的AC自动机入门题,已经给说烂了,我也没什么好说的了。 用来测试自己学了AC自动机之后写的代码的。话说这模板也有两种形式的,一种是用静态数组的,刘汝佳的大白书上就是那种,还有一种是我采用的这种指针形式的(但也是先静态开辟数组节点,然后分配数组空间上的给指
2012-11-04 13:21:37 1419
原创 HDU 3613 Best Reward(拓展KMP求前缀回文串)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3613题目大意:给个字符串S,要把S分成两段T1,T2,每个字母都有一个对应的价值,如果T1,T2是回文串(从左往右或者从右往左读,都一样),那么他们就会有一个价值,这个价值是这个串的所有字母价值之和,如果不是回文串,那么这串价值就为0。问最多能获得多少价值?分析与总结:
2012-11-03 00:08:30 2929 1
原创 CF 126B Password (KMP,利用next数组)
链接:http://www.codeforces.com/problemset/problem/126/B题目大意:给定一个字符串S, 找到一个子串t,使得这个子串既和S的前缀相同,又和S的后缀相同,但是t不能是S的前缀或后缀。分析与总结:利用和理解next数组的好题,首先可以找到所有与前缀相同的后缀的长度, 另len=|S|, 那么next[len] 就是
2012-11-03 00:06:43 1662
原创 XDU 1154 大黄的选票(KMP)
链接:http://acm.xidian.edu.cn/land/problem/detail?problem_id=1154题目:Description 说,学校要驱除流浪狗是的原因是在某次让大家投"好庄严"一票的选举中,选西电大黄的选民太多了...为了避免类似情况再次发生..学校决定采用新的投票方法:1.每人只能在选票上写一个字母!2.按某
2012-11-02 10:50:05 998
原创 CF 182D Common Divisors(KMP最短循环节,循环周期)
链接:http://codeforces.com/problemset/problem/182/D题目大意:假设字符串也有因数,一个字符串S的因数是a,当且仅当S是由k个a连续组成的。 例如S="abababab", 那么"ab"和"abab"都是S的因子。给两个字符串,求它们的公因数有多少个。分析总结:先看看一个数的因子有什么性质。如果知道了一个最
2012-11-02 00:05:13 1256
原创 CF 149E Martian Strings(KMP)
链接:http://codeforces.com/problemset/problem/149/E题目大意:给出字符串S, 然后再给m个字符串T,判断有几个T是可以在S中找到坐标a, b, c, d, (1 ≤ a ≤ b c ≤ d ≤ n),使得S【a...b】+S【c...d】 = T.分析与总结:先找T的前缀,要找所有长度的前缀的最后一个字
2012-11-02 00:03:54 1280
原创 zoj 3587 Marlon's String(拓展KMP+dp)
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3587题目大意:给字符串S,T, 找到所有的tetrad (a,b,c,d), Sa..b + Sc..d = T , a≤b and c≤d.其实就是把T分成两段,这两段都由S中的子串组成的,求有多少中组合方式(S中的两个子串可重叠)。
2012-11-01 00:04:18 1515
黑客与画家pdf
2013-08-02
Visual C++数据库开发典型模块与实例精讲pdf.part2
2013-01-30
Visual C++数据库开发典型模块与实例精讲pdf.part1
2013-01-30
系统分析与设计 中文版 第7版pdf part3
2013-01-30
系统分析与设计 中文版 第7版pdf part2
2013-01-30
系统分析与设计 中文版 第7版pdf part1
2013-01-28
Effective C++中文第三版.pdf
2013-01-28
C++编程思想(Thinking in C++)完美版pdf
2013-01-28
设计模式 可复用面向对象软件的基础
2013-01-19
图论算法理论、实现及应用 高清带书签pdf
2013-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人