题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1053
这个题很有意思,虽然代码很短,但是思路非常巧妙。
首先这个题问不超过N的最大的x,使得任何比x小的数的约数个数都比x的约数个数少。其实说到底就是求[1,n]中约数个数最多的数,如果有多个这样的数,取最小的(因为题目要求任何比x小的数的约数个数都必须小于x的约数个数,不能取...
分类:
其他好文 时间:
2014-11-30 21:32:33
阅读次数:
212
nlogn求出最长上升子序列长度。对每次询问,贪心地回答。设输入为x。当前数a[i]可能成为答案序列中的第k个,则若 f[i]>=x-k && a[i]>ans[k-1] 即可。f[i]表示以a[i]开头的最长上升子序列长度。但这个东西难以统计。so 我们将原序列反序,求f[i] 表示以 a[i]为...
分类:
其他好文 时间:
2014-11-22 21:23:31
阅读次数:
156
http://www.lydsy.com/JudgeOnline/problem.php?id=1052首先膜拜题解orz,表示只能想到二分。。。贪心就是每一次找到一个最小的能包围所有点的矩阵,然后枚举四个角放正方形。不会证QAQ然后被sb错吊打了半小时。。。又是自以为的开全局变量没想到局部改变。。...
分类:
其他好文 时间:
2014-11-21 20:10:41
阅读次数:
200
题目大意:给出一个矩阵,求出一个k*k的子矩阵,使得这个矩阵中最大值和最小值的差最小,输出这个差值。
思路:利用单调队列维护每一行的数字,求出一个数字前面k个数字中的最大值和最小值,然后在列上暴力求出真个矩阵的最大值和最小值,总时间复杂度O(M*M+M*M*K)。
CODE:
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-11-20 13:46:59
阅读次数:
222
http://www.lydsy.com/JudgeOnline/problem.php?id=1047树状数组套树状数组真心没用QAQ。。。。首先它不能修改。。而不修改的可以用单调队列做掉,而且更快,只有O(n^2)。而这货是n^2log^2n的建树。。。虽然查询是log^2n。。。但是建树那里就...
分类:
编程语言 时间:
2014-11-13 22:09:06
阅读次数:
169
题目大意:给定n个点,用三个边长相同的正方形覆盖所有点,要求正方形边界与坐标轴垂直,求正方形边长的最小值
最大值最小,很明显二分答案
但是验证是个问题
考虑只有三个正方形,故用一个最小矩形覆盖这三个正方形时至少有一个在角上 若有四个正方形该结论不成立
于是我们采用DFS的方式 每次用一个最小的矩形覆盖所有的点,枚举矩形的四个角 将正方形填进去
由于最大深度是3,所以时间上完全可以承受
...
分类:
其他好文 时间:
2014-10-31 08:47:43
阅读次数:
253
啊,noip难度题。。。蒟蒻调了半天。。。嘛、先是求LIS的长度,O(n * logn)算法大家都会然后就是贪心,假设我们找到了答案的第x项,向后找第x + 1项:我们发现,只需找当前最前面的a[i]满足f[i] >= l - x的即可。 1 /***************************...
分类:
其他好文 时间:
2014-10-25 21:27:47
阅读次数:
199
题目大意:给定一个a*b的矩阵,求一个n*n的子矩阵,使矩阵中的最大值与最小值之差最小
对于每行维护一个单调递减的队列,再弄一个竖着的队列,维护n个格子之内的最大值即可
两遍统计出最大值和最小值 然后得到ans即可
#include
#include
#include
#include
#define M 1010
using namespace std;
struct abcd{
pai...
分类:
其他好文 时间:
2014-10-24 16:29:26
阅读次数:
193
昨天刷水累死蒟蒻了。。。每天一到题解总还是要写的。。。于是就是这个了!二维RMQ,第一反应是二维线段树,妥妥MLE + TLE想起来去年市选小题有一道一模一样的,我当时就是写二维线段树,然后MLE0分、、、真是悲剧发现长度是固定的为n,和动态规划的某个叫单调队列的优化很像:先求出每一列的某个点向下n...
分类:
其他好文 时间:
2014-10-20 22:46:03
阅读次数:
242
1053: [HAOI2007]反素数antTime Limit:10 SecMemory Limit:162 MBSubmit:1497Solved:821[Submit][Status]Description对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整...
分类:
其他好文 时间:
2014-10-03 11:02:04
阅读次数:
229