题意:给一些建筑物,x表示横坐标,h表示高度,然后查询某些坐标x,问从该点看向天空的最大张角是多大。解法:离线操作,读入所有数据,然后按x升序排序,对每一个查询的x,先从左到右,依次添加x坐标小于x的建筑物,加入一个建筑物的条件:1.此建筑物高度大于栈中的前一个,这个必然是最优的。2.加入这个建筑物...
分类:
其他好文 时间:
2014-09-22 00:55:01
阅读次数:
306
题意:
给出N幢摩天大楼的位置和高度,有Q次查询,问在某点处能看见天空的角度范围。
分析:
一开始的想法是维护一个单调栈,首先离线数据并排序排序,然后左右扫两边。单调栈内大楼的高度要递减,然后判断栈顶元素是否比它的前一个更优,如果不是则出栈。但是如果栈顶元素比它前一个优,并不能保证是全局最优的。
正确的维护方法是保证单调栈内的大楼高度递减,而且要使得这些大楼的最高点构成一个类似凸包的形状,或者说是凸包的一部分,然后再判断栈顶元素和它前一个比是否更优,如果不是则出栈。这样最后的栈顶元素就是待查询点在某方向的视...
分类:
其他好文 时间:
2014-09-21 23:18:21
阅读次数:
307
http://acm.hdu.edu.cn/showproblem.php?pid=50332014 ACM/ICPC Asia Regional Beijing Online B 1002BuildingTime Limit: 10000/5000 MS (Java/Others)Memory L...
分类:
其他好文 时间:
2014-09-21 20:56:41
阅读次数:
314
Feel Good
Time Limit: 3000MS
Memory Limit: 65536K
Total Submissions: 9778
Accepted: 2652
Case Time Limit: 1000MS
Special Judge
Description
Bill is developing...
分类:
其他好文 时间:
2014-09-11 20:57:32
阅读次数:
252
Problem Description
For an array, the range function is defined below: Range(A)=Max(A)-Min(A)+1; For example, suppose A={1,2,3,4,5}, then Range(A)=5-1+1=5. Now, given an array A(length≤100000), you a...
分类:
其他好文 时间:
2014-09-03 22:42:27
阅读次数:
266
#include #include #include using namespace std;int a[100100],q[100100],l[100100],r[100100];int main(){ int i,n,cnt; while(scanf("%d",&n),n!=0) ...
分类:
其他好文 时间:
2014-08-28 22:34:16
阅读次数:
224
题目链接:点击打开链接
题意就是求最大面积
枚举每个柱子作为起点
然后二分两边长度。 求个区间最值。
#include
#include
#include
using namespace std;
#define ll long long
#define N 100100
inline bool rd(int &n){
int x = 0, tmp = 1;
...
分类:
其他好文 时间:
2014-08-16 18:34:41
阅读次数:
228
POJ 2796 Feel Good题意:给出一个长度为n(n<100000)的序列,求出一个子序列,使得这个序列中的最小值乘以这个序列的和的值最大。思路:枚举每一个点,然后算出以这个点为最小值的区间能向左向右扩展到哪里,然后选择最优的就行。SOJ3085: windy's cake V题意:和PO...
分类:
其他好文 时间:
2014-08-11 17:35:32
阅读次数:
578
题意:
给一个0和1组成的序列a,要构造一个同样长度的序列b。b要满足非严格单调,且
值为0到1的实数。最后使得 sum((ai-bi)^2)最小。
算法:
首先a序列开始的连续0和末尾的连续1是可以不考虑的。因为只要b序列对应开头为0、
末尾为1,既不影响单调性又能使对应的(ai-bi)^2=0。
然后,
先找111100、11100、10这样以1开始以0结束的序列块。每...
分类:
其他好文 时间:
2014-08-10 10:28:10
阅读次数:
237
Problem Description
PM Room defines a sequence A = {A1, A2,..., AN}, each of which is either 0 or 1. In order
to beat him, programmer Moor has to construct another sequence B = {B1, B2,... , BN} of...
分类:
其他好文 时间:
2014-08-09 21:34:09
阅读次数:
365