上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 31 下一页
摘要: POJ各题算法分类和题目推荐KMP算法: 2752、1961、2406二分图最大匹配:1274、2536、2239、1466、3041、2771、1469Kruskal和Prim: 2485、1251、1258、1861、3255、1679、1372、2031最大子段和: 1050、2593、2479DP: 1205、3452、1025、2059、2241、2663、2250、23922151、2018、1609、1157、1088、1745、1837、3211、12763624、1260、3267、1159、1952、1958、2033贪心:2325、3258、3122、3273、2393、 阅读全文
posted @ 2012-07-28 00:13 何解一直犯相同错误? 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 题意:一个hotel,有n个连续的房间,开始时均无人住宿共有3种操作1 a b 从a开始连续b个房间全部旅客住宿 [a,a+b-1];2 a b 从a开始连续b个房间全部旅客离开 [a,a+b-1];3 查询最长连续空房间思路:线段树,记录每个节点,左边,右边各最多连续空房间lmax,rmax; 以及这个区间内最多空房间max#include<iostream>#include<cmath>using namespace std;#define MAXN 16001struct node{ int lmax,rmax,max; int left,right; int f 阅读全文
posted @ 2012-07-28 00:12 何解一直犯相同错误? 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 线段树。题意是给出一个长为N的区间,不断进行三中操作:1.插入一个区间,所有被插入的地方都表示占有;2.删除一个区间,所有删除的地方都表示释放;3.询问整个范围内最长的连续的空区间的长度。很明显的线段树,可惜我想错了,以为入区间的最大值可以独立的从两个子区间中寻找,忘记了两个子区间合并后可能得到一个更长的区间,尝试好多数据都对,提交就是WA,看网上的做法跟我的差别很大,也没心情看。搁置了好几天,今天终于发现原来自己从开始就把算法想错了,而不是代码的问题,白查了那么久,理解还是不够深啊。#include<iostream>#include<string>#include& 阅读全文
posted @ 2012-07-26 17:52 何解一直犯相同错误? 阅读(141) 评论(0) 推荐(0) 编辑
摘要: #include<iostream>#include<fstream>usingnamespacestd;structe{intl,r,cnt,cntl,cntr;intstate;};e tree[48001];intn,m;voidbuild(ints,intt,intp){inti,j,k;tree[p].l=s;tree[p].r=t;tree[p].state=-1;tree[p].cnt=tree[p].cntl=tree[p].cntr=t-s+1;if(s==t) return;else{k=(s+t)>>1;build(s,k,2*p);b 阅读全文
posted @ 2012-07-24 12:56 何解一直犯相同错误? 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 题意:一个hotel,有n间连续的房间,现在有m组操作:type 1: '1, a, b': 第a个房间起的b个房间有旅客入住。type 2:'2, a, b': 第a个房间起的b个房间的旅客离开。type 3: '3': 问最长的连续空房间有多少间。思路:线段树。这道题很好的利用线段树递归的性质,加深了对线段树递归的理解。复习了一下延迟的操作,学会了与延迟操作相反的操作,即利用递归,在递归回来的时候,由于左右子结点性质的改变,即时对父结点信息进行相应的更改,这个要注意。源代码:(944K 3282MS)#include<iostream& 阅读全文
posted @ 2012-07-24 12:56 何解一直犯相同错误? 阅读(180) 评论(0) 推荐(0) 编辑
摘要: Area of Simple PolygonsTime Limit:1000MSMemory Limit:65536KTotal Submissions:2404Accepted:1207DescriptionThere are N, 1 <= N <= 1,000 rectangles in the 2-D xy-plane. The four sides of a rectangle are horizontal or vertical line segments. Rectangles are defined by their lower-left and upper-rig 阅读全文
posted @ 2012-07-24 01:08 何解一直犯相同错误? 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 时间限制:2000ms内存限制:65536kB描述A number of rectangular posters, photographs and other pictures of the same shape are pasted on a wall. Their sides are all vertical or horizontal. Each rectangle can be partially or totally covered by the others. The length of the boundary of the union of all rectangles is 阅读全文
posted @ 2012-07-23 04:14 何解一直犯相同错误? 阅读(153) 评论(0) 推荐(0) 编辑
摘要: unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除。他是c++中的函数,所以头文件要加#include<iostream.h>,具体用法如下:int num[100];unique(num,mun+n)返回的是num去重后的尾地址,之所以说比不真正把重复的元素删除,其实是,该函数把重复的元素一到后面去了,然后依然保存到了原数组中,然后返回去重后最后一个元素的地址,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。#include <iost 阅读全文
posted @ 2012-07-19 02:41 何解一直犯相同错误? 阅读(273) 评论(0) 推荐(0) 编辑
摘要: /** * Accelerated C++ 笔记 **/sort()函数定义在头文件<algorithm>中,它把容器中的数据重新排序成非递减序列。我们之所以用非递减而不用递增是因为,容器中的某些数据元素可能会与其他元素相等。doublex;vector<double>numbers;typedefvector<double>::size_typevec_size;vec_szsize=numbers.size();while(cin>>x)numbers.push_back(x);sort(numbers.begin(),numbers.end 阅读全文
posted @ 2012-07-18 07:50 何解一直犯相同错误? 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 摘要: POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177在做本题之前,必须先了解什么是线段树和离散化,请看前一篇博文线段树(segment tree),里面对线段树和离散化的说明相对比较清楚了。对 ...POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177在做本题之前,必须先了解什么是线段树和离散化,请看前一篇博文线段树(segment tree),里面对线段树和离散化的说明相对比较清楚了。对于这题,我们的思路步骤如下(代码和下面的文字解释结合着看):1.对于输入 阅读全文
posted @ 2012-07-17 23:57 何解一直犯相同错误? 阅读(270) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 31 下一页