题意:一列经过1000000个站点的火车上最多同时乘坐 K 个人,有 Q 个乘客按照题目给出的顺序去买票,输出所有购票成功的乘客做法:RMQ线段树 + 区间更新 1 #include "bits/stdc++.h" 2 using namespace std; 3 #define lson l...
分类:
其他好文 时间:
2015-07-29 19:00:58
阅读次数:
95
描述 南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较,计算出两个人的杀敌数差值,用这种方法一方面能鼓舞杀敌数高的人,另一方面也算是批评杀敌数低的人,起到了很好的效果。所以,南将军经常问军师小工第i号士兵到第j号士兵中,杀敌数最高的人与杀敌...
分类:
编程语言 时间:
2015-07-29 18:47:52
阅读次数:
202
题意:给一个序列,然后求出连续的序列中最大和最小值之差小于k的。思路二分+ST
二分下标,然后找一个最大的区间满足区间内最大最小值相差小于k,当前这个位置对于答案的贡献就是这个区间长度。
求一个静态数组的区间最大最小值,用ST算法就好了。参考code:/*
#pragma warning (disable: 4786)
#pragma comment (linker, "/STACK:0x8...
分类:
其他好文 时间:
2015-07-28 23:09:14
阅读次数:
131
Bob’s Race
Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2753 Accepted Submission(s): 888
Problem Description
Bob wants to hol...
分类:
其他好文 时间:
2015-07-28 21:20:20
阅读次数:
124
PS:介绍:http://blog.csdn.net/liang5630/article/details/7917702RMQ算法。是一个高速求区间最值的离线算法,预处理时间复杂度O(n*log(n))。查询O(1)。所以是一个非常高速的算法,当然这个问题用线段树相同可以解决。1、求区间的最大值和最...
分类:
其他好文 时间:
2015-07-27 14:46:43
阅读次数:
126
Sliding Window
Time Limit: 12000MS
Memory Limit: 65536K
Total Submissions: 46507
Accepted: 13442
Case Time Limit: 5000MS
Description
An array of size n ≤ 106 is ...
Balanced Lineup
Time Limit: 5000MS
Memory Limit: 65536K
Total Submissions: 39046
Accepted: 18291
Case Time Limit: 2000MS
Description
For the daily milking, Farme...
分类:
其他好文 时间:
2015-07-26 17:27:48
阅读次数:
107
RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值,也就是说,RMQ问题是指求区间最值的问题。...
分类:
其他好文 时间:
2015-07-25 21:37:41
阅读次数:
125
http://poj.org/problem?id=3264#include#include#include#include#include#define M 1000000 + 50using namespace std;int a[M];int maxs[M][100];int mins[M][...
分类:
其他好文 时间:
2015-07-25 18:02:55
阅读次数:
129
题目链接:5289 Assignment
题意:给出n和K,表示有一串n个数的序列,存在多少个区间,该区间中任意两个数的差小于k
思路:
1.区间任意两个数的小于K 等价于 区间max-min
2.最后暴力枚举区间必定要超时,发现随着区间的扩大max-min的值也在变大(非递减),有单调性就容易想到二分,所以是枚举左端点,二分找右端点。
AC代码:
#include
#incl...
分类:
其他好文 时间:
2015-07-25 10:46:11
阅读次数:
222