先把位于凸包的点求出,然后n^2枚举每两个点x,y,接着左右边找个离线最远的点。可以知道,当x不变y单调递增时,两边距离最远的两点也在单调递增。于是可以使用旋转卡壳。#include #include #include #include #include #include #include #def...
分类:
其他好文 时间:
2015-05-05 21:38:48
阅读次数:
136
简单问题时间限制:1000ms | 内存限制:65535KB难度:2描述给你一个n*m的矩阵,其中的元素每一行从左到右按递增顺序排序,每一列从上到下按递增顺序排序,然后给你一些数x,问这些书在不在这个矩阵中,若在,输出其列号最大的元素坐标。输入多组测试样例,首先两个数n,m(0using names...
分类:
其他好文 时间:
2015-05-05 16:16:49
阅读次数:
127
一开始,看到这题,以为是最大连续子序列和的问题,写出了代码,提交了,WR,找了一些测试数据,结果发现这个算法并不能将所以的序列的解求出,只是满足一部分序列。
百度了一下,知道了要用单调队列来求解。
单调队列,也就是队列中必然是单调递减的或者递增的。而这题使用的是单调递增的队列。
单调队列使用的是双向队列,队尾队头都可以删除元素,只能从队尾插入元素。
比如求解一个数列{1 ,2 ,5 ,...
分类:
其他好文 时间:
2015-05-05 14:35:54
阅读次数:
173
分析:最长公共递增子序列,把数据反向存储一遍,求正反两组数据的LCIS。另外注意边界的条件判断。还有如果取出的新队列有奇数个人或偶数个人要单独判断。
#include
using namespace std;
#define max(a,b) ((a)>(b)?(a):(b))
int dp[202];
int a[202];
int b[202];
int LCIS(int n)
{
i...
分类:
其他好文 时间:
2015-05-05 14:28:29
阅读次数:
150
题意:给定2行n列的长方形,然后把1—2*n的数字填进方格内,保证每一行,每一列都是递增序列,求有几种放置方法,对1000000007取余;思路:本来想用组合数找规律,但是找不出来,搜题解是卡特兰数,而且还有一个难点在于N的范围是1000000,卡特兰数早已数千位,虽然有取余;解决方法就是用在求卡特...
分类:
其他好文 时间:
2015-05-04 23:39:26
阅读次数:
143
参考《算法导论第二版P222页)一,如何把现实的问题转变成数学问题?即数学建模的思路?1,问题描述:现有一组相互竞争的活动,如何调度能够找出一组最大的活动(活动数目最多)使得它们相互兼容?2,问题转化:首先,按活动的结束时间单调递增进行排序。那么,为什么要按结束时间排序呢?这个问题留到后面解释。其次...
分类:
编程语言 时间:
2015-05-04 23:33:04
阅读次数:
164
output_example.c 中AV同步的代码如下(我的代码有些修改),这个实现相当简单,不过挺说明问题。音视频同步方法:选择一个参考时钟,参考时钟上的时间是线性递增的,生成数据流时依据参考时钟上的时间给每个数据块都打上时间戳(一般包括开始时间和结束时间)。在播放时,读取数据块上的时间戳,同时参...
分类:
其他好文 时间:
2015-05-04 17:42:56
阅读次数:
262
ipairs 和pairs在lua中都是遍历tbale的函数但是两者有区别1.pairs遍历table中的所有的key-vale 而ipairs会根据key的数值从1开始加1递增遍历对应的table[i]值a = {[1] = "a1", [2] = "a2", [3] = "a3", [5] = ...
分类:
其他好文 时间:
2015-05-04 11:49:52
阅读次数:
124