QAQ 由于并没有数据,而且没有A掉的是提交答案题目,所以并没有修改 QAQ 只能放题解了,代码还没有拿到,不过在清华听了一波习题讲评的安利 第一题 成绩单 先说暴力分 对于单调序列来说最优决策一定是把原序列分成若干段,DP即可 对于单峰序列来说最优决策一定是类似于"汉堡抽肉"一样的东西,即每次从中 ...
分类:
其他好文 时间:
2016-06-08 21:44:37
阅读次数:
288
Old Sorting Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Submit Status Practice LightOJ 1166 Old Sorting Submit Status Practice ...
分类:
其他好文 时间:
2016-04-20 19:49:32
阅读次数:
224
这个题意是给你n个数,然后寻找一个区间,区间的最大值与最小值的差要小于k并且大于m
思路:
用两个单调序列维护这个序列,显而易见用当前者两个单调序列的列首相减如果大于k的话那么,我们就要寻找列首在序列位置比较小的那个往后面加1。这个题目的难点在于题目意思是区间,我理解错了。以为是那种最长公共子序列那种。
#include
#include
#include
using namespac...
分类:
其他好文 时间:
2015-07-17 18:54:39
阅读次数:
128
把每一段单调序列分成一组可以接近最优质。
然后在此基础上讨论这一段的单调序列的两个端点该分到哪个序列里面,记录一下最优值。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(linker,"/...
分类:
其他好文 时间:
2015-01-15 22:10:12
阅读次数:
236
在分析插入排序的算法性能的过程时知道,当数组规模较小或者存在较多的有序子序列时,插入排序将会在很短的时间内完成数组的排序,为此可以设计一个单调序列h[n],将数组分为多个小的序列,然后这些小的序列使用插入排序。h[n]={1,4,7,10,13,16,19……,3*x+1}。
算法实现:
void sort::shell_sort(int* a, const int n)
{
int h =...
分类:
编程语言 时间:
2014-11-12 22:59:51
阅读次数:
224
此书的22章讲到了鸽笼原理,其中一道题挺有意思
在任何一个大小为mn+1的序列,a1, a2,..., 每个实数各不相同。要么存在一个大小为m+1的递增序列,要么大小为n+1的递减序列,或者同时存在。
下面是书中给出的解答:
先做个定义:对于某个ai,都有一个ti代表了以ai为起始点的最大上升序...
分类:
其他好文 时间:
2014-08-31 17:21:31
阅读次数:
158