题意:h,w,n:有一个h*w尺寸的木板,n张1*wi的海报,贴海报的位置尽量高,尽量往左,问每张海报贴的高度
看到1
关键在怎么建树,这里我们对h进行分割,每个高度都有等长的w,我们从上往下贴,如果当前高度
(在同一高度上l==r)的长度可以满足wi则可以贴,否则继续往下寻找。
#include
#include
#include
#include
...
分类:
其他好文 时间:
2014-06-28 08:13:53
阅读次数:
205
一、前言画线与画点基本上代码是相同。区别在于glBegin()的参数。绘制的框架代码可以使用Delphi下OpenGL2d绘图(01)-初始化中的代码。修改的部份为 Draw 函数的内容。二、画线GL_LINES:把每一个顶点作为一个独立的线段,顶点2n-1和2n之间共定义了n条线段,总共绘制N/2...
分类:
其他好文 时间:
2014-06-27 12:01:06
阅读次数:
188
线段问题描述 Description有N条线段,已知每条线段的起点和终点(50000以内),然后有M个询问,每次询问一个点(50000以内),求这个点在多少条线段上出现过?输入格式 InputFormat第一行N线段条数接下来N行,每行两个数,线段的起点和终点第N+2行一个数M询问个数接下来M行,每...
分类:
其他好文 时间:
2014-06-25 13:36:01
阅读次数:
200
题目链接:点击打开链接
题意:
给定n个点,m个询问的无向树(1为根)
下面n个数表示每个点的权值
下面n-1行给出树
操作1:x点权值+v, x的第 i & 1 的儿子-v, 第 !(i&1) 的儿子+v
操作2:询问x点权值
dfs把树转成序列
根据深度把点分成2组
分别用线段树维护。。
然后Y一下
#include
#include
#include
#include
...
分类:
其他好文 时间:
2014-06-25 08:41:42
阅读次数:
239
Description
现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。 2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数...
分类:
Web程序 时间:
2014-06-25 07:37:25
阅读次数:
298
Intersection
大意:给你一条线段,给你一个矩形,问是否相交。
相交:线段完全在矩形内部算相交;线段与矩形任意一条边不规则相交算相交。
思路:知道具体的相交规则之后题其实是不难的,但是还有个坑点就是题目里明明说给的是矩形左上角跟右下角的点,但实际上不是,需要重新判断一下...真坑。
struct Point
{
double x, y;...
分类:
其他好文 时间:
2014-06-24 23:49:48
阅读次数:
446
Intersecting Lines
大意:给你两条直线的坐标,判断两条直线是否共线、平行、相交,若相交,求出交点。
思路:线段相交判断、求交点的水题,没什么好说的。
struct Point{
double x, y;
} ;
struct Line{
Point a, b;
} A, B;
double xmult(Point p1, Point...
分类:
其他好文 时间:
2014-06-24 21:16:40
阅读次数:
155
Treasure Hunt
大意:在一个矩形区域内,有n条线段,线段的端点是在矩形边上的,有一个特殊点,问从这个点到矩形边的最少经过的线段条数最少的书目,穿越只能在中点穿越。
思路:需要巧妙的转换一下这个问题,因为从一个点到终点不可能“绕过”围墙,只能穿过去,所以门是否开在中点是无所谓的,只要求四周线段中点到终点的线段与墙的最少交点个数即可。更进一步,实际上,只需判断四周围...
分类:
其他好文 时间:
2014-06-24 19:44:38
阅读次数:
196
本题就是要往墙上贴海报,问最后有多少可见的海报。
其实本题的难点并不是线段树,而是离散化。
因为数据很大,直接按原始数据计算那么就会爆内存和时间的。
故此需要把数据离散化。
比如有海报1 6 7 9 20 100 5 1000的原始数据,直接计算需要1-1000的内存,离散化之后只需要8内存,因为只有4组数据8个数。
本题更进一步高级一点的离散化就是需要把不相邻的两个数据插入一...
分类:
其他好文 时间:
2014-06-24 15:47:53
阅读次数:
222