E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
HAOI2007
洛谷P2216 [
HAOI2007
]理想的正方形
今天新学了RMQ数据结构,开开心心地刷了一波题。(嗯~~~~我真棒!)从容易到简单洛谷P2251质量检测https://www.luogu.org/problemnew/show/P2251普及/提高-洛谷P1816忠诚https://www.luogu.org/problemnew/show/P1816普及+/提高洛谷P2880[USACO07JAN]平衡的阵容BalancedLineuphtt
Jack_Mask
·
2018-10-19 20:28
数据结构
【洛谷1463】[POI2002] [
HAOI2007
] 反素数(打表)
点此看题面大致题意:定义g(x)g(x)为正整数xx的约数个数,一个反质数xx满足对于任意一个i(0#definemax(x,y)((x)>(y)?(x):(y))#definemin(x,y)((x)9)write(x/10);pc(x%10+'0');}intmain(){registerinti;for(read(n),i=1;;++i)if(ans[i]>n)returnwrite(ans
chenxiaoran666
·
2018-08-21 19:48
洛谷
打表
[
HAOI2007
]理想的正方形,洛谷P2216,st表或者单调队列
正题这题看上去很麻烦,看到取矩阵就马上想得到用st表来完成,用nmlog4(nm)就可以了,其实是很快的。很丑的代码#include#include#includeinta,b,n;intmax[1010][1010],min[1010][1010];intlogn=0;inttot=1;intci[31];intmmax(intx,inty){returnx>y?x:y;}intmmin(int
Deep_Kevin
·
2018-07-20 11:22
bzoj1046 [
HAOI2007
]上升序列(dp+树状数组+贪心)
首先nlogn求出每个点开始的最长上升子序列长度。然后每个询问我们贪心地从小到大取能取的即可。复杂度O(nlogn+mn)#include#include#include#includeusingnamespacestd;#definelllonglong#defineinf0x3f3f3f3f#defineN10010#definemod10007inlinechargc(){staticcha
Icefox_zhx
·
2018-04-09 21:12
树状数组
bzoj
贪心
bzoj1052 [
HAOI2007
]覆盖问题(二分答案+贪心)
给出平面上一些点,现在要用3个L*L的正方形去覆盖他们,问L最小为多少。二分答案,我们每次求出现在所剩点的最小覆盖矩形,然后贪心地把正方形放在四个角之一,删去覆盖点,再求出所剩点的最小覆盖矩形,再贪心地放在四个角之一,删去第二个正方形所覆盖的点,看剩下的点能否被一个正方形覆盖。复杂度O(16nlogw)#include#include#include#includeusingnamespacest
Icefox_zhx
·
2018-03-23 14:26
二分答案
bzoj
贪心
[bzoj1046][
HAOI2007
]上升序列【dp】
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1046【题解】记f[i]f[i]为从第ii个往后的上升序列的最长长度。那么每遇到一个询问:将数列从前往后扫一遍,若f[i]>Lf[i]>L则选了ii之后一定能构造出一个合法的序列,为了保证字典序最小,ii一定会在最后的答案中。所以将a[i]a[i]加入答案并将LL减11。复杂度O(nlog
VanishD
·
2018-03-07 18:41
bzoj1052: [
HAOI2007
]覆盖问题(二分+搜索)
题目传送门。解法:二分答案+搜索判断。贪心思想正方形肯定刚刚好覆盖到边边。那我们先手动删除一个正方形(四个角任选)然后在判断下剩下的点是否都分别在两个正方形内就好了。。代码实现:#include#include#include#include#includeusingnamespacestd;structnode{intx,y;}a[21000];intn,b[21000],len=0;const
Hanks_o
·
2018-03-06 13:18
二分
BZOJ
搜索
BZOJ1046: [
HAOI2007
]上升序列
题目描述:Description对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1#includeusingnamespacestd;constintmaxn=10005;intn,m,a[maxn],f[maxn];inlineintread(){intx=0,flg=1;charch=getchar();while(ch'9'){if(
DYT_B
·
2018-02-13 22:15
题解
BZOJ题解
洛谷P1463 (
HAOI2007
,反质数)
题目有三个值得注意的地方:1.1~n中最大的反质数,就是1~n中约数个数最多的数中最小的一个2.1~n中任何数的不同质因数个数不会超过10(最小的11个质数乘积大于n),并且幂次方总和不会大于30(2的31次方大于n)3.满足条件的x的质因子必然是连续的若干个最小的质数,并且指数单调递减其余的可见进阶指南p134#include#include#includeusingnamespacestd;i
humveea6
·
2018-02-13 17:54
dfs
数学
bzoj 1046: [
HAOI2007
]上升序列 解题报告
bzoj1046:[
HAOI2007
]上升序列Description对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1#include#include
Michael_Bryant
·
2018-01-14 09:43
dp
BZOJ 1046 [
HAOI2007
]上升序列 动态规划+贪心
Description对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1最长上升子序列长度,那么一定是impossible,不然就一定有解。考虑对于这个解的构造。字典序最小,那么在已知这个点为起点可不可以成不成功的情况下,比如1后面有某一个长度为4的,要求长度为5,那么1肯定不会在序列里了,,我们要去考虑2了;而假如2确定了,接下来的路径上
MyZhY
·
2017-10-18 21:14
DP/记忆化搜索
树状数组(BIT)
贪心
bzoj 1052: [
HAOI2007
]覆盖问题(二分+贪心)
1052:[
HAOI2007
]覆盖问题TimeLimit:10SecMemoryLimit:162MBSubmit:2028Solved:950[Submit][Status][Discuss]Description
Jaihk662
·
2017-09-28 23:03
坐标系
[BZOJ1046][
HAOI2007
]上升序列(dp+贪心)
题目描述传送门题目大意:对于一个给定的S={a1,a2,a3,…,an},若有P={x1,x2,x3,…,xm},满足(x1=L,那么直接输出ai,并且L-1代码#include#include#include#include#includeusingnamespacestd;#defineN10005intn,m,Max,L;inta[N],f[N],d[N];intmain(){scanf("
Clove_unique
·
2017-04-23 20:48
题解
dp
贪心
省选
bzoj 1048: [
HAOI2007
]分割矩阵 (记忆化搜索)
题目描述传送门题目大意:给出一个矩阵,将其分割成n个小矩阵,个矩阵的总分为其所含各位置上分值之和。最小化各矩阵总分的均方差。题解记忆化搜索。f[a][b][c][d][k]表示将矩阵(a,b,c,d)分割K次的∑ki=1(xi−x¯)2的最小值。最后的答案就是f[a][b][c][d][k−1]n−−−−−−−−−−√代码#include#include#include#include#inclu
clover_hxy
·
2017-04-22 17:21
动态规划
[BZOJ1047][
HAOI2007
]理想的正方形(单调队列)
题目描述传送门题解由题目可知只有每一部分的最大值和最小值是有价值的。单调队列只能处理一维的情况,二维的不好处理。那么我们可以考虑一维一维处理,比如说,先做列再做行。可以将每一列每一个长度为n的区间用单调队列处理出来最大值和最小值,然后缩成一个点。然后将每一行缩成的那些点每一个长度为n的区间再用单调队列处理出来最大值和最小值,这样就相当于求出了n*n的矩形的最大值和最小值统计答案即可。代码#incl
Clove_unique
·
2016-11-10 23:36
题解
省选
单调队列
洛谷 P2215 [
HAOI2007
] 上升序列
题目描述对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1#includeusingnamespacestd;intn,t,m,a[10001],tot,f[10001],c[10001];voidans(intu){intk=0;for(inti=1;i=u&&a[i]>k){printf("%d",a[i]);k=a[i];u--;}p
ShinyaLicone
·
2016-11-09 10:37
动规
二分
洛谷
[BZOJ1052][
HAOI2007
]覆盖问题(二分+dfs)
题目描述传送门题解可以发现一个非常重要的性质:如果我们确定了在一定范围内有一些点,然后用边长为常数k(#include#includeusingnamespacestd;#defineN20005#defineLLlonglongconstLLinf=2e9;intn;LLans;structhp{LLx,y;}squ[N];intvis[N];boolcheck(){for(inti=1;i=m
Clove_unique
·
2016-11-03 23:57
题解
搜索
省选
二分
bzoj 1052: [
HAOI2007
]覆盖问题 (二分+dfs)
1052:[
HAOI2007
]覆盖问题TimeLimit:10SecMemoryLimit:162MBSubmit:1611Solved:741[Submit][Status][Discuss]Description
clover_hxy
·
2016-11-03 14:40
二分
dfs
【bzoj1046】
HAOI2007
—上升序列
http://www.lydsy.com/JudgeOnline/problem.php?id=1046(题目链接)题意:给出一个数列,求数列中长度为L的下标字典序最小的上升子序列。Solution将数列倒过来求一遍不上升子序列,记录下以当前数为结尾的最长不上升序列的长度,也就是记录下了原数列中以当前数为开头的最长上升序列的长度。这样就很好处理了。代码://bzoj1046#include#inc
MashiroSky
·
2016-08-24 16:07
bzoj
递推与动规
BZOJ 1053: [
HAOI2007
]反素数ant (DFS)
1053:[
HAOI2007
]反素数antTimeLimit: 10Sec MemoryLimit: 162MBSubmit: 2543 Solved: 1430[Submit][Status][Discuss
imwutianqi
·
2016-05-08 13:00
【BZOJ】1053: [
HAOI2007
]反素数ant
1053:[
HAOI2007
]反素数antDescription:g(x)表示x的约数个数,反素数:对于任意的i(i #include #include #include usingnamespacestd
hxer
·
2016-03-09 19:00
【bzoj1053】[
HAOI2007
]反素数ant DFS
Description对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i)0Input一个数N(1 #include #include #include #include usingnamespacestd; typedeflonglongLL; constintSZ=10000010; boolvis[SZ]; intpri
LOI_DQS
·
2016-02-24 07:00
【BZOJ 1053】[
HAOI2007
]反素数ant
Description 对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i)0 2#definelllonglong 3intpre[15]={1,2,3,5,7,11,13,17,19,23,29,31}; 4intn; 5llans,num; 6voiddfs(intk,llnow,llcnt,intlast){ 7i
抬头仰望浮云飘过
·
2016-02-20 07:00
怒刷BZOJ记录(二)1038~10xx
|ac自动机+DP1042[HAOI2008]硬币购物 |容斥原理+背包1045[HAOI2008]糖果传递 |数学+中位数1047[
HAOI2007
AI_Believer
·
2016-02-16 18:00
【BZOJ】1046 : [
HAOI2007
]上升序列
1046:[
HAOI2007
]上升序列题意:给定S={a1,a2,a3,…,an}问是否存在P={ax1,ax2,ax3,…,axm},满足(x1index,同时不能忘了还要是递增的;这样就自然要想到后面处理的是前面的
hxer
·
2016-02-06 23:00
BZOJ 1053: [
HAOI2007
]反素数ant dfs
1053:[
HAOI2007
]反素数ant题目连接:http://www.lydsy.com/JudgeOnline/problem.php?
qscqesze
·
2016-02-03 23:00
BZOJ 1053: [
HAOI2007
]反素数ant dfs
1053:[
HAOI2007
]反素数ant题目连接:http://www.lydsy.com/JudgeOnline/problem.php?
qscqesze
·
2016-02-03 23:00
bzoj1046: [
HAOI2007
]上升序列
真尼玛神坑m还可以等于0mgj 1#include 2#include 3#include 4#include 5#include 6 7usingnamespacestd; 8 9voidsetIO(conststring&s){ 10freopen((s+".in").c_str(),"r",stdin); 11freopen((s+".out").c_str(),"w",
Showson
·
2016-01-13 21:00
1053: [
HAOI2007
]反素数ant 打表
做字符串恶心的不行了,赶紧打个表压压惊QAQ#include usingnamespacestd; inta[1000]={1396755360,1102701600,735134400,698377680,551350800,367567200,294053760,245044800,183783600,147026880,122522400,110270160,73513440,6126120
Phenix_2015
·
2016-01-10 16:00
1047: [
HAOI2007
]理想的正方形 二维单调队列维护最值
类似滑动的窗口那题,只是这个成了二维,依然单调队列维护就好了。维护每一列的单调队列,再维护每一行的单调队列,具体实现看代码吧。(这题我代码写的很丑。。)#include #include #defineinf1000000007 usingnamespacestd; inta[1005][1005],mx1[1005][1005],mn1[1005][1005],mx2[1005][1005],m
Phenix_2015
·
2016-01-05 19:00
[置顶] [颓废史]蒟蒻的刷题记录
1.11227:[SDOI2009]虔诚的墓主人树状数组+离散化3132:上帝造题的七分钟树状数组二维区间加减+查询3038:上帝造题的七分钟2线段树+剪枝1.21047:[
HAOI2007
]理想的正方形二维单调队列维护最值
Phenix_2015
·
2016-01-05 19:00
【bzoj1053】【
HAOI2007
】反素数ant
Description对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i)0 #include #include usingnamespacestd; intprime[16]={1,2,3,5,7,11,13,17,19,23,29}; longlongbestnum=0x7fffffff,n; intbestsum; inline
Clove_unique
·
2015-12-29 19:00
搜索
数论
bzoj
1047: [
HAOI2007
]理想的正方形
一开始很蠢地用单调队列模拟,得出了一个O(a*b*n)的方法,然后果断炸掉了。遂改良了一下,用maxv[i][j]和minv[i][j]分别表示点(i,j)往下垂的一小条(长度为n)的最大最小值,然后再模拟一遍,但是每次正方形移动的时候并不是把所有点都加进去,只加最大最小的点,于是就是O(a*b)。然后就A了^_^。#include #include #include #include using
nlj1999
·
2015-12-19 10:00
BZOJ1047: [
HAOI2007
]理想的正方形
恩数据水被我卡过去了2333333我的是n^2logn的。。每一次扫一遍multiset。。然后居然就真的过去了23333#include #include #include #include usingnamespacestd; multisetSum,Par[1001]; charc; boolflag; inlinevoidread(int&a) { flag=false,a=0; doc
liutian429073576
·
2015-12-15 17:00
bzoj
BZOJ1053: [
HAOI2007
]反素数ant
最多不会超过13个不同的素因数 然后就每一个素因数去搜能乘几次 2^2*3^3的因数是和2^3*3^2一样的 所以需要前一个素数的指数比后一个素数指数大每次更新最优值#include #include #include usingnamespacestd; #definelllonglong intprime[101]={1,2,3,5,7,11,13,17,19,23,29,31,41,43};
liutian429073576
·
2015-12-15 16:00
bzoj
RAM——[
HAOI2007
]理想的正方形
题目:[
HAOI2007
]理想的正方形描述:【问题描述】有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。
Marvolo
·
2015-12-11 13:00
BZOJ 1048 [
HAOI2007
]分割矩阵 记忆化搜索
数据范围果断小,果断暴力。。。 View Code 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <cstdlib> 5 #include <algorithm> 6 #i
·
2015-11-13 14:58
2007
BZOJ 1047 [
HAOI2007
]理想的正方形 单调队列DP
题解: 刚睡醒写的,总是看不清括号。。。调了半天。。 就是横向一个掉队列,纵向b个单调队列,n^2的求出以(i,j)点为右下角的n*n矩形的最大值和最小值,然后n^2的统计就好~ View Code 1 #include <iostream> 2 #include <cstring> 3 #include <c
·
2015-11-13 14:57
2007
BZOJ 1053 [
HAOI2007
]反素数ant 搜索
爆搜啊~ 利用约数个数公式求答案。 相当于找约数最多的数,个数相同取较小的。 有一点需要注意:分解质因数,较小的数的指数一定大于等于较大的数的指数(显然的么~要么把大的数换成小的一定更优~) 这样一来,可以确定质因数最多十个,剩下就是暴力了~ View Code 1 #include <iostream> 2 #include <cstr
·
2015-11-13 14:38
2007
BZOJ 1046 [
HAOI2007
]上升序列 DP
不知道什么印象,好像以前见过,记得要把数列倒过来的~ nlogn的最长上升子序列。 但是方案不好搞~ PS:看好是谁的字典序最小。。。 换个问题, 假设知道以a[i]为开头的最长下降子序列的长度,是不是就好搞了? 方法是从左往右,直接贪心的选这个i(以a[i]为开头的最长下降子序列的长度要大于你需要的长度)一定是能使字典序最小~ 前面说了,倒过来做就行了, 因为我们只会求以a[i]结
·
2015-11-13 14:34
2007
【BZOJ】1048: [
HAOI2007
]分割矩阵
http://www.lydsy.com/JudgeOnline/problem.php?id=1048 题意:给出一个a×b(a,b<=10)的矩阵,带一个<=100的权值,现在要切割n-1次变成n个矩形(n<=10),求 $$\sqrt{\frac{1}{n}\sum_{i=1}^{n}(sum[i]-\mu)}, \mu = \frac{\sum_{i=1}
·
2015-11-13 11:45
2007
【BZOJ】1052: [
HAOI2007
]覆盖问题(贪心)
http://www.lydsy.com/JudgeOnline/problem.php?id=1052 首先膜拜题解orz,表示只能想到二分。。。 贪心就是每一次找到一个最小的能包围所有点的矩阵,然后枚举四个角放正方形。 不会证QAQ(填坑:似乎就因为正方形的边长是相等的有关?应该是的,假如只放一个正方形的中心点为(x,y),那么显然(x+L/2, y+L/2)(x-L/2, y-L/2)
·
2015-11-13 11:39
2007
【BZOJ】1053: [
HAOI2007
]反素数ant(贪心+dfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1053 约数个数等于分解出的质因数的(指数+1)的乘积这个就不用说了吧。。。 然后好神的题在于贪心。。。orz 首先分解质因子后,较小的数的指数一定大于等于较大的数的指数。(否则可以将较大的数多出来的质数填到小的数那里也符合条件) 然后对于约数个数相同的数,那么选最小的数(显然的吧) 所以按
·
2015-11-13 11:28
2007
【BZOJ】1047: [
HAOI2007
]理想的正方形(单调队列/~二维rmq+树状数组套树状数组)
http://www.lydsy.com/JudgeOnline/problem.php?id=1047 树状数组套树状数组真心没用QAQ。。。。首先它不能修改。。而不修改的可以用单调队列做掉,而且更快,只有O(n^2)。而这货是n^2log^2n的建树。。。虽然查询是log^2n。。。但是建树那里就tle了。。 那么说题解。。。 先orz下,好神。。 我怎么没想到单调队列orz 首先我
·
2015-11-13 11:25
2007
【BZOJ】1046: [
HAOI2007
]上升序列(dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=1046 一直看错题。。。。。。。。。。。。。。。。。。。。。。。 这是要求位置的字典序啊QQQAAAQQQ 。。 那么就lis后直接从前往后扫就行了。。 注意输出方案不要写错。。(wa了好多发。。。) 拓展:同时如果求答案的字典序最小,那么我们可以先对所有元素排序,然后一个个去试,即维护当
·
2015-11-13 11:25
2007
小结:单调栈 & 单调队列
当维护固定长度的单调区间,我们考虑用单调队列,如 【BZOJ】3314: [Usaco2013 Nov]Crowded Cows(单调队列) 【BZOJ】1047: [
HAOI2007
]理想的正方形
·
2015-11-13 10:42
队列
BZOJ 1053: [
HAOI2007
]反素数ant
1053: [
HAOI2007
]反素数ant Description 对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。
·
2015-11-13 03:26
2007
数学几个有趣的题目
BZOJ 1053 [
HAOI2007
]反素数ant 求反素数
·
2015-11-13 03:47
数学
BZOJ 1047: [
HAOI2007
]理想的正方形
1047: [
HAOI2007
]理想的正方形 Time Limit: 10 Sec Memory Limit: 162 MB Submit
·
2015-11-13 03:32
2007
【
HAOI2007
】理想的正方形
【问题描述】 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。 【输入】 第一行为3个整数,分别表示a,b,n的值第二行至第a+1行每行为b个非负整数,表示矩阵中相应位置上的数。每行相邻两数之间用一空格分隔。 【输出】 仅一个整数,为a*b矩阵中所有“n*n正方形区域中的最大整数和最小整数的差值”的最小值。 【分析】 单
·
2015-11-12 12:45
2007
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他