自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(50)
  • 问答 (1)
  • 收藏
  • 关注

转载 解决ubuntu下codebolcks无法从media外的盘运行文件

转载至:http://blog.sina.com.cn/s/blog_6101010301013mtg.html其实就两个命令:安装:sudo apt-get install ntfs-config设置:sudo ntfs-config

2012-10-20 16:08:13 573

原创 poj 1273 入门级最大流

很基本的最大流问题,注意重边就好……自己写了个EK模板,重边部分没有处理好,WA了好几次。hdu 1523也是一样的题目(不过忘记杭电用I64d,poj用lld这个问题了……于是TLE了好几次……)/****裸最大流问题EK算法1004K 0MS C++ 3768B 2012-10-18 16:13:15Ps:一开始Max = 1000 flow、lim数组

2012-10-18 15:56:17 553

原创 hdu 3074 线段树模板题

线段树经典题目……/*线段树单点更新 节点记录元素个数查找第K元素所在*/#include #include #include #include #include #include #include #define lson l , mid , dex<<1#define rson mid + 1 , r , dex<<1|1#define havemid int m

2012-09-30 07:05:28 898

转载 lower_bound 和 upper_bound

转至:http://blog.csdn.net/niushuai666/article/details/6734403函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置举例如下:一个数组number序列为:4,10,11,30,69,70,96,100.设要插

2012-09-29 20:39:55 565

原创 poj 3461 字符串-KMP

昨晚本来想看一下数据结构的作业……突然发现第三章有KMP算法,抱着慕名已久的心态一看就入迷……(突然发现吉大的数据结构书貌似还不错)看完理解算法的步骤之后开始写自己实现代码。。。期间虽然偷偷瞄过几眼书上那ADT代码,绝大部分还是自己写得。鉴于这道题是KMP水题(只是用来看看自己写得KMP对不对……)我就不解释什么了。自己上网看懂KMP教程就ok。照旧:不建议观摩他人代码=。

2012-09-28 13:25:11 362

原创 hdu 4417 离线 + 树状数组

这道题目可以用线段树也可以用树状数组,还可以用划分树(不会T T),前两者要离线完成,划分数不太清楚=。 =先吐槽一下:由于树状数组今天才刚刚会没多久……于是悲剧的由于update的上限弄错而WA了一版…查错查了N久N久……题解:根据队里面讨论,离线也有两种做法。先讲第一种做法:先把所有数据都进来,之后把出现的障碍物的高度(包括n个障碍物以及m个查询的跳跃高度h)全部离散化,否

2012-09-26 01:09:45 487

原创 poj 1195 二维树状数组

貌似是第一道传说中的二维的题目。二维就是把单行数组变成了矩形数组引用一下别人的图片:下面这个图片是更新(1,1)这个点所引发的树状数组的变化由此我们不难看出,二维只是在一维的基础上向上拓展了一维。更新和求开头到某一坐标的矩阵和和一维的操作差不多,只是多了一重循环在求子矩阵和的时候则不能简单的右上矩阵和减左下矩阵和。具体求子矩阵和的思路可以自己想想,不懂看下面输出函数的代

2012-09-25 07:57:12 394

转载 树状数组题海

转:http://hi.baidu.com/vfxupdpaipbcpuq/item/915764070c200393a3df43dbPs:LZ的题解被去掉……树状数组学习系列2 之 OJ题目大汇总——czyuan原创      上一篇我们对树状数组进行了一些分析(详见树状数组学习系列1 之 初步分析——czyuan原创http://hi.baidu.com/c

2012-09-24 11:16:12 551

转载 树状数组教程2

转载:http://hi.baidu.com/vfxupdpaipbcpuq/item/b14bff6ab6ffd093c5d249db树状数组学习系列1 之 初步分析——czyuan原创       其实学树状数组说白了就是看那张图,那张树状数组和一般数组的关系的,看懂了基本就没问题了,推荐下面这个教程:http://www.topcoder.com/tc?mod

2012-09-23 21:01:19 397

原创 poj 1410 joj 1131 实心矩形 与 线段相交

本题为英文题……陷阱1:The terms top left and bottom right do not imply any ordering of coordinates.陷阱2: The rectangle consists of four straight linesand the area in between然后,其他正常判断相交即可陷阱翻译:

2012-09-22 11:35:20 622

原创 poj 2653 线段相交

题意就是给你一堆线段,按顺序扔下,输出最后在最上层的是哪几个线段题解:给每条线段赋一个id,用一个队列维护目前所有在顶层的线段,每次加入一条线段的时候,判断这条线段是否与队列的线段相交,如果相交则队列里的那个线段出队,新的线段入队。否则两条一起再次入队列。#include #include #include #include #include #include #define

2012-09-22 10:31:27 892

原创 poj 1269 直线相交 + 平行

刚开始做这道题貌似很纠结的样子,在纠结了更纠结的题目之后回来看这道题就是小case了不过竟然把题目当成是判断线段相交了。于是WA…………………………………………自己弱弱的写了一个判断平行的代码,其他直接用模板……#include #include #include #include #include using namespace std;#define infinity

2012-09-22 10:26:28 385

原创 joj 1016 map + floyd

只要把数据稍微弄弄就是比较裸的算法题,就不解释了#include #include #include #include #include using namespace std;const int Max = 20;int Edge[Max][Max];void Floyd(int n){ for(int i=1; i<=n; i++) {

2012-09-21 00:27:16 322

原创 poj 1556 线段相交 + 最短路

这道题思路很简单,但是不知道为什么我实现的时候觉得极其恶心……于是憋了一天一夜,终于憋出来了,心情舒畅题解:很明显我们最后要跑的是最短路,所以现在的目标是构建一个无向\有向图(随意有无向)图的构建:枚举起点 + 终点 + 题目给出的所有点 之间的任意两点间是否存在路径。枚举的时候还要判断这条边是否被堵。最后就是跑一遍最短路关于实现:主要就是建图的问题。我为了方便自己理解分别

2012-09-18 18:04:52 396

原创 poj 3304 线段与直线相交判断

别人的题解很详细,我就不献丑了,下面题解的连接:http://hi.baidu.com/cloudayc/item/243f3c4c2a687aaadf2a9fb7证明:坐标系内若干线段,是否存在一条直线与每条线段都有交点转成叉积计算线段和直线是否相交,注意重点转自discuss上的证明:from hanjialong首先题中的要求等价于:存在一条直线l和所有的线段

2012-09-16 07:42:57 581

原创 poj 2528 线段树-区间更新 离散化

这道题很久以前就尝试做了,后来因为那时候离散化一窍不通于是退而却步。之后做到扫描线必须用到离散化,于是才狠下心来把离散化端了。引用Accepted的博客的一句话“你若不想做,你会找借口;你若想做,你会找办法”。首先讲离散化,所谓的离散化,在我看来,就是把题目中有意义的点的值抽取出来,过滤掉无意义的点,以达到节省空间甚至时间的目的。例如我们这道题直接开数组是impossibl

2012-09-08 07:29:28 1833

原创 poj 3264 求区间最值

每个节点保存区间的最大最小值水题不解释╮(╯▽╰)╭#include #include #include #include #define lson l , mid, dex<<1#define rson mid+1, r, dex<<1|1#define havemid int mid = (l+r)>>1#define LL long longusing namespa

2012-09-07 15:00:15 494

原创 zoj 1610 线段树-区间更新

稍微解释一下第一组测试数据:50 4 40 3 13 4 20 2 20 2 30 4 4不能理解为0~4这5个节点,而应该理解为0~1;1~2; 2~3; 3~4这4个线段颜色涂为4这样就能解释1 1这个output了#include #include #include #include #define lson l,mid,dex<<1

2012-09-07 12:01:15 409

原创 poj 2777 线段树-区间更新

区间更新 + 二进制小优化每个key值表示当前节点存在的颜色的种类个数(因为T#include #include #include #define lson l, mid, dex<<1#define rson mid+1, r, dex<<1|1#define havemid int mid = (l + r)>>1using namespace std;const int

2012-09-07 11:57:51 496

原创 hdu 2191 小规模多重背包 转化0-1解决,待用多重解决

背包不懂请先百度大牛的背包九讲,一开始可能看不懂,可以看一下:http://blog.csdn.net/cclsoft/article/details/4602734的帖子,把0-1理解了,后面的理解问题就不大了。#include #include #include using namespace std;const int mx = 200*20;int dp[mx];int c

2012-09-06 11:44:00 360

转载 优先队列教程

转载!优先队列好东西原网址:http://blog.csdn.net/dooder_daodao/article/details/5761550探索之美——接触优先队列~分类: ACM~搜索2010-07-24 16:42 6177人阅读 评论(14) 收藏 举报优先队列:顾名思义,首先它是一个队列,但是它强调了“优先”二字,所以,已

2012-09-03 16:52:49 1059

转载 线段树分类

转自小媛博客:http://blog.csdn.net/zxy_snow/article/details/6952046题解注释转自小媛……(膜拜小媛已经全刷完了T T)**为已处理题目,题号链接至题目,文字注释链接至相应代码小题海:(后面又加了一下小媛没有的也是线段树的题目)Ps:简易题解有点碍眼……就删除了。。之前没删加了链接的懒得处理……╮(╯Д╰)╭**zoj 1610

2012-09-01 09:58:23 469

原创 hdu 3308 线段树——区间合并

线段树——区间合并练习题题目要求求区间内连续最长的递增序列曾尝试用数组的风格写……后来合并查询区间的时候实现不了叻……于是又换了就得那种用结构体的风格的代码。#include #include #include #define lson l,mid,dex<<1#define rson mid+1,r,dex<<1|1#define havemid int m

2012-08-29 17:50:06 581

原创 zoj 3633 Alice's present YY系列

先用一个数组(设为vis)储存从左往右遍历,储存离当前元素最近的在其左边的相同元素的位置。之后从左往右遍历,当vis[i-1]>vis[i]的时候,用vis[i-1]替换vis[i]  //这时候,vis就表示当前元素的左边按题目要求出现的第一对相同元素的第一个元素的位置(例如 1 2 3 3 2 1,vis[4]=vis[5]=vis[6]=3,3为位置3的元素)之后查询的之后判断区间最

2012-08-27 23:10:28 694

原创 joj 1002 最短路-Floyd

貌似很多人看不懂题意,我解释一下一组数据估计就懂了32 2 4 3 52 1 2 3 62 1 2 2 2表示有3个股票经纪人第一行表示第一个股票经纪人的联系人,第一个2表示有2个联系人,2 4表示与第二个联系人有联系,传播到第二个联系人需要4(单位(/ □ \)),3 5表示传播到第三个联系人需要5(单位)下面同上。由于是同时传播,所以用最短路找某一点与任一点的

2012-08-27 23:02:38 338

原创 zoj 3635 Cinema in Akiba 线段树-单点更新

zoj月赛……只水了一道线段树的题目= =第一题是很像线段树的YY题………虽然觉得区间合并貌似还是能做出来,不过区间合并还不是很懂= =!!比赛的时候明明就看出来本质不是线段树的说……可是还是想用线段树做出来。。。单点更新小变形,每个节点存区间里面还没被拿走的门票的个数,不懂可以刷一下http://www.notonlysuccess.com/index.php/segment

2012-08-27 22:57:10 556

原创 poj 3667

线段树之区间合并之前多校整过一道,整了两天才弄懂= =……现在整了半个上午……而且还严重参考了大牛代码=    =以后还得再做一次,经典题目多做有益身心╮(╯▽╰)╭贴代码:(和大牛代码基本一样= =,只是变量名字不同)#include #include #include #define lson l,mid,dex<<1 /*******************

2012-08-27 13:13:53 760

原创 hdu 4263

这道题目的意思的解释解释:题目给出n个节点,m条边(小于n*n,使得n个节点都连通),k值。要求我们判断能否只用k条蓝色边(外加给定的任意条红色边)使得所有节点形成一个生成树(n-1条边把n个节点全部连起来)题解:在比赛的时候想出了一个错误的做法= =!结果一下午WA……正确的是将蓝边和红边分别跑一边最小生成树(Kruscal算法),跑的时候记录有多少条边加了进来。设c

2012-08-25 23:37:21 533

原创 hdu 2795

线段树专辑之单点更新4题意略。在做题前我首先注意到了数据的范围。w和h均为10^9,如果开4倍这么大的数据,必超无疑。所幸,大牛给的例题没有用到离散化。根据题目的意思我们知道最多只有n个广告,而每个广告注定只有1单位长。而n的范围只有200,000. 撑死也就200000行,一开始先比较一下h和n的值,之后选取较小的进行建树即可。线段树每个节点的key值储存区间内的所有子节点中的最大宽

2012-08-22 22:24:03 417

原创 hdu 1394 线段树

线段树专辑之单点更新第三题!题意想了挺久,在此解释一下。题目给出一个0~n-1的序列,这个序列有n种变化(分别将前n(0~n-1)个数移到数列最后一个数的后方),对于每一种序列都有一个逆序数。我们要求所有序列中逆序数最小的值。逆序数:对于样例1 3 6 9 0 8 5 7 4 21~9的逆序数为0,0的逆序数为4,8的为1,5的为3,7的为2,4的为5,2的为7,共22. 换序后有一种

2012-08-22 13:58:31 409

hdu 1394 线段树

线段树专辑之单点更新第三题!题意想了挺久,在此解释一下。题目给出一个0~n-1的序列,这个序列有n种变化(分别将前n(0~n-1)个数移到数列最后一个数的后方),对于每一种序列都有一个逆序数。我们要求所有序列中逆序数最小的值。逆序数:对于样例1 3 6 9 0 8 5 7 4 21~9的逆序数为0,0的逆序数为4,8的为1,5的为3,7的为2,4的为5,2的为7,共22. 换序后有一种

2012-08-22 13:49:36 72

原创 hdu 1754

单点替换线段树。注意区间保存的是该区间最大值即可。线段树基本结构请参照代码。推荐线段树文章:http://www.notonlysuccess.com/index.php/segment-tree-complete/#include #include #include using namespace std;const int maxx = 200010;struct

2012-08-21 18:07:35 326

原创 poj 2823 单调队列

单调队列入门题目先附上例题解析:最大队列保证队列中各个元素大小单调递减(即,最大元素在对头,最小的在队尾),同时每个元素的下标单调递增(按校标递增的顺序添加这点可以不用考虑)。这样便保证队首元素最大,而且更新的时候队首永远是当前最大。因此,这个队列需要在两头都可以进行删除,在队尾插入。维护方法:在每次插入的时候,先判断队尾元素,如果不比待插入元素大就删除,不断删除队尾直到队尾元素大于待

2012-08-20 10:11:02 402

原创 CodeForces Ice Skatin

先贴题目:A. Ice Skatingtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputBajtek is learning to skate on ic

2012-08-18 22:18:40 472

原创 poj 1386 欧拉回路

由于题目的单词个数太大,不可能也没必要记录每个单词。所以只要记录首尾两个单词即可。又由于只有26个点(a~z),而且是判断有向的欧拉回路\欧拉通路so,用in,out数组分别记录每个点的出入度,然后结尾比较所有出现的点的出入度是否相等,或者有除首位两个点(出度入度之差分别为1和-1)外其他点都相等即可。由于懒得将小写字母的ASCII码转化为0~25,于是直接开了300的数组(其实1

2012-08-17 15:26:02 3768

原创 hdu 4370 0 or 1(最短路+最小花费环)

一道非常巧妙的题目,引用别人博客的话就是“将完全没有思路的一道题目一下子编程了简单的最短路”当然,最短路还不是问题的全解,后来众牛发现除了最短路还有一个最小花费环的情况。贴一下官方的题解:(http://page.renren.com/601081183/note/866168965)//////1001  (已更新)显然,题目给的是一个0/1规划模型。解题的关

2012-08-17 13:37:04 743

原创 4371 Alice and Bob

题解:(转载出题人,因为已经很很很详细了)结论:在所有的d中,选择最小的d,这里记作dmin,Alice和Bob每次都选择+dmin(写下的数是在原来的那个数上加上dmin),按照这样的策略最后的结果就是全局的结果。 可以这样考虑正确性,不妨假设按照以上策略是Alice获胜,那么Alice并不会主动改变策略;假设Bob在某一步突然改变策略,即没有选择+dmin,那么就必然选择了某个

2012-08-16 19:26:10 382

转载 单调队列

单调队列hello kity posted @ 2011年4月09日 17:10 in未分类 , 832 阅读源地址: http://xuyemin520.is-programmer.com/posts/25964一直弄不明白单调队列是什么,在网上也找不到易懂的介绍。最后结合别人博客上的介绍和程序看才理解是怎么回事。我们从最简单的问题开始:给定一个长度为N的

2012-08-15 16:40:38 272

原创 hdu 4365 Palindrome graph

第七次比赛中最水的一道题之一,当场没做出来。思路堵塞。看完题解后还是不解。后来baidu了别人的做法总算茅塞顿开了。题意照旧不解释,注意数据范围和矩阵的起始为0.根据题意我们知道,矩阵必须对角线对称 + 十字对称(就是矩阵纵向横向的中线对称)。所以,只要填充了矩阵的四分之一 又 一半的格子后,就可以通过各种对称变换把矩阵弄出来。自己写的时候把其他象限变换的过程弄成超级大模拟

2012-08-15 13:26:04 511

原创 USACO1.4 Mother's milk

很久以前遗留的模拟题……完全无节操手动模拟…于是代码N冗长主要就两种操作,一个是从有牛奶的a瓶倒向b瓶子和c瓶子另一个是从有牛奶的a瓶倒向b瓶子或c瓶子用一个vis数组记录a b c的状态,如果这个状态没有出现过的话就继续搜,否则跳出。注意题目要求,开始是C瓶子是满的,A B是空。求当A是空瓶子的时候C还有多少牛奶/*ID: jim_jim1PROG: mi

2012-08-14 09:56:09 580

空空如也

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

TA关注的人

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