这也是当初卡了很久的一道题题意:从左上角的格子出发选一条路径到右上角然后再回到左上角,而且两条路径除了起点和终点不能有重合的点。问所经过的格子中的最大和是多少状态设计:我们可以认为是从左上角出发了两条路径,然后同时到达右下角。容易看出,第k个阶段所有可能到达的格子构成一条斜线而且满足x1 + y1 ...
分类:
编程语言 时间:
2014-08-31 10:24:31
阅读次数:
260
还是五月湘潭赛的题目,当时就是因为我坑。。。连个银牌都没拿到,擦。这个题目枚举区间是不可能的,明显是要考虑每个数对全局的影响,即找到每个数最左和最右能满足是最大的位置 以及 最小的时候,相乘即为该数字影响的区间总数。当时想到的是用线段树,建树的时候求出最大和最小值,然后在每个数往里面搜索,比赛的时候...
分类:
其他好文 时间:
2014-08-31 09:12:40
阅读次数:
417
二叉查找树的基本操作包括搜索、插入、删除、取最大和最小值等都能够在O(h)时间复杂度内实现,因此能在期望时间O(lgn)下实现,但是二叉查找树的平衡性在这些操作中并没有得到维护,因此其高度可能会变得很高,当其高度较高时,而二叉查找树的性能就未必比链表好了,所以二叉查找树的集合操作是期望时间O(lgn),最坏情况下为O(n)。
红黑树也是一种二叉查找树,它拥有二叉查找树的性质,同时红黑树还...
分类:
其他好文 时间:
2014-08-28 00:58:48
阅读次数:
314
当创建一个窗口在其中绘图时,还必须制定要使用的坐标系,以及如何把制定坐标映射为物理屏幕上的像素(x*y)。窗口在物理上是以像素数为测量的,在进行绘画前,必须指明“如何把指定的坐标对转换为屏幕坐标”,为此,先指定修剪区(指定窗口在笛卡尔坐标系中占据的区域)。1、在二维空间中,修剪区是窗口内最大和最小的...
分类:
其他好文 时间:
2014-08-27 00:13:47
阅读次数:
214
题目链接:uva 1400 - "Ray, Pass me the dishes!"
题目大意:给定一个长度为n个整数序列,对m次询问作出回答,对于每次询问(a,b),找到两个下标x,y使得x到y的连续和为区间a,b中最大的连续和,如果存在多解优先x小,然后y小。
解题思路:线段树,对于每个节点维护三个线段值:
max_sub:区间连续最大和max_prefix:区间连续前缀最大...
分类:
其他好文 时间:
2014-08-24 23:52:43
阅读次数:
405
题意:给你n个球排成一行,初始都为黑色,现在给一些操作(L,R,color),给[L,R]区间内的求染上颜色color,'w'为白,'b'为黑。问最后最长的白色区间的起点和终点的位置。解法:先离散化,为了防止离散后错误,不仅将L,R离散,还要加入L+1,L-1,R+1,R-1一起离散,这样就绝不会有...
分类:
其他好文 时间:
2014-08-24 11:30:52
阅读次数:
206
枚举。 枚举每个分段有多少个科目,对每个枚举的状态判断是否满足条件,对满足条件的取其中最大和最小值。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const double eps=1e-8;...
分类:
其他好文 时间:
2014-08-21 10:59:03
阅读次数:
209
菜鸟系列之C/C++经典试题(二)
求子数组的最大和...
分类:
编程语言 时间:
2014-08-20 21:09:42
阅读次数:
300
题目链接:点击打开链接
维护区间左起连续的最大和,右起连续的和。。
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define N 50050
#define Lson(x) tree[x].l
#define Rson(x) tree[x].r
#defi...
分类:
其他好文 时间:
2014-08-18 23:35:33
阅读次数:
272
Codeforces Round #261 (Div. 2)
题目链接
A:给定两点找正方形其他两点。
分在一条线和对角线的情况判断即可
B:一个序列选出最大和最小的数字,问差值很有几种选法。
有不同数字的情况就是两数个数相乘,只有一个数字就是C2n
C:n个学生,k辆车,d天,要求学生两两之间不能在同一辆车一起d天,问怎么一个安排的方案
对于每个学生而言,在d天的坐...
分类:
其他好文 时间:
2014-08-16 15:10:00
阅读次数:
268