题意:数轴上有n个闭区间[ai, bi],选择尽量少的区间覆盖一条指定线段[0, m]算法:[start, end]为已经覆盖到的区间这是一道贪心把各个区间先按照左端点从小到大排序,更新start为end,如果区间1在start的右端,则无解,因为其他区间更不可能覆盖到然后在剩下的能覆盖到start...
分类:
其他好文 时间:
2014-09-01 19:08:13
阅读次数:
257
题目大意:。。。。。有点长自己看吧
首先既然是排序后的序列字典序最小,那么一定要选尽量小的数字走
然后T是1~m*n的序列 所以不存在重复(一开始我居然把这个条件看漏了)
好的这题贪心
每次选择没有被标记的最小点,然后把左下方和右上方都标记掉(记得标记重复时break,不然就挂了)
注意5000*5000的数组开两个int就是极限了 开多了妥妥MLE 所以T数组记得重复利用
暴力跑了3...
分类:
其他好文 时间:
2014-09-01 17:55:53
阅读次数:
347
题目大意:
每个人要办理签证都必须到大使馆中办理三种手续,而且这三种手续办的顺序是固定的。给出办理每种手续的窗口有多少个,办理每个手续花费的时间,有多少人会来办理手续,一级每个人会在什么时间来。要求的是所有人分别在大使馆待的最长时间是多少。
做法:
一种贪心的做法,由于只有三种手续,那么每个人进入办理的时候,保证选办理同种手续的所有窗口中最早等待的那一个窗口(为什么会有等待?因为该窗...
分类:
其他好文 时间:
2014-09-01 15:42:43
阅读次数:
204
因为,这两题有着似乎一样的解法所以将其放在一起总结比较,以达到更好的区分二者的区别所在。
一、区间DP
uva的Cutting Sticks是一道典型的模板题。
题目描述:
有一根长度为l的木棍,木棍上面有m个切割点,每一次切割都要付出当前木棍长度的代价,问怎样切割有最小代价。
区间DP的定义:
区间动态规划问题一般都是考虑,对于每段区间,他们的最优...
分类:
其他好文 时间:
2014-09-01 12:37:43
阅读次数:
298
题干一堆废话。。
题目大意:给定n次操作(与,或,异或),在0~m中选择一个数,使这个数经过n次操作后得到的值最大
丰年好大水 AC如土分如铁。。
这尼玛根本就是水题好不 枚举选择数字的每一位 分三种情况讨论:
1.该位取0时经过n次操作结果取1 这自然是最理想的情况 必须选择0
2.情况1不满足 该为取1时经过n次操作结果取1 且取1后值不超过m 这样我们也选择1
3.上两种情况不满...
分类:
其他好文 时间:
2014-09-01 10:49:53
阅读次数:
271
初级: 一.基本算法: (1)枚举. (poj1018,poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法. (4)递推. (5)构造法.(poj3295,poj3239)(6.1)模拟法.(poj1008,poj1068,poj2632,...
分类:
其他好文 时间:
2014-08-31 21:19:41
阅读次数:
425
题目转换成,每个水龙头在横坐标方向上覆盖的长度区间,转换后的问题就有点像会场安排问题了,然后接下来选的方案依据贪心,我们队这些个区间进行排序,依照区间的左端点按从小到大排序,然后从左往右选取,条件是当前区间的左端点在覆盖范围内,又端点最远。如果一次循环覆盖范围没有加大,就证明不能覆盖。 1 #inc...
分类:
其他好文 时间:
2014-08-31 17:00:51
阅读次数:
198
Best Time to Buy and Sell StockTotal Accepted:14044Total Submissions:45572My SubmissionsSay you have an array for which theithelement is the price of ...
分类:
其他好文 时间:
2014-08-31 14:30:51
阅读次数:
249
这个贪心的行为在算法中也成为了一种指导思想,也就是说贪心算法所作出的选择在当时的环境下是最好的,说深一点就是它只是某种意义上的局部最优解,但不一定是全局最优解,此时往往接近于最优解。一: 优点 前面也说了,贪心只是求的当前环境下的最优解,而不是追究整体的最优解,所以贪心就避免了为求的整体最优解而枚....
分类:
其他好文 时间:
2014-08-30 20:19:39
阅读次数:
253
题意:二维坐标系里有 n 个点 (i, ai), ai >= 0,从 (i, ai)到(i, 0)划竖线,共有 n 条竖线。
找出两条竖线,使得它们构成的矩形的面积最大,矩形的高取决于最短的竖线。
思路:贪心
从首尾两个下标head 和trail 处开始扫描,用一个变量 maxArea 保持当前最大的矩形面积。
如果head 指向的竖线短于 trail 的,则右移 head
否则左移 trail
计算面积,更新 maxArea
复杂度:时间O(n),空间O(1)
int maxArea(vector<in...
分类:
其他好文 时间:
2014-08-30 16:27:49
阅读次数:
223