传送门:题目点这里; 首先理解题目,就是要求给定矩阵中权值和不小于零的最大子矩阵,数据范围200也还不算棘手,暴力n^4的算法也可以水到50分。正解要用到单调栈配合二分和前缀和,复杂度n^3logn,跑得也还算快。 分析一下,首先用一个数组a[ i ][ j ]记录下第 i 行前 j 个元素之和,然 ...
分类:
其他好文 时间:
2017-10-31 20:16:55
阅读次数:
134
树形dp+笛卡尔树+单调栈 这道题跟树形dp有什么关系? 事实上,我们对矩形建立笛卡尔树,先找出最矮的矩形,向两边区间最矮的矩形连边,这样就构成了一棵二叉树,因为只有一个矮的区间会对高的区间造成影响,而且儿子之间不会互相影响,并且这样一层一层保证了每段矩形都会被覆盖到,其实就是单调栈,所以这样连是对 ...
分类:
其他好文 时间:
2017-10-31 12:47:23
阅读次数:
169
[tyvj]P1939 玉蟾宫 ——!x^n+y^n=z^n 背景 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。 描述 这片土地被分成N*M个格子,每个格子里写着'R'或者'F',R代表这块土地被赐予了rainbow,F代 ...
分类:
其他好文 时间:
2017-10-30 11:25:28
阅读次数:
185
[luogu]P1169 [ZJOI]棋盘制作 ——!x^n+y^n=z^n 题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋、象棋以及日本的将棋同享盛名。据说国际象棋起源于易经的思想,棋盘是一个8*8大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴阳。 而我们的主人公小Q,正是国际象 ...
分类:
其他好文 时间:
2017-10-30 11:20:16
阅读次数:
163
描述 Description Farmer John的牛们认为,太阳升起的那一刻是一天中最美好的,在那时她们 可以看到远方城市模糊的轮廓。显然,这些轮廓其实是城市里建筑物模糊的影子。 建筑物的影子实在太模糊了,牛们只好把它们近似地看成若干个边长为1单位 长度的正方体整齐地叠在一起。城市中的所有建筑物 ...
分类:
其他好文 时间:
2017-10-29 18:48:33
阅读次数:
194
【BZOJ4262】Sum Description Input 第一行一个数 t,表示询问组数。 第一行一个数 t,表示询问组数。 接下来 t 行,每行四个数 l_1, r_1, l_2, r_2。 第一行一个数 t,表示询问组数。 第一行一个数 t,表示询问组数。 接下来 t 行,每行四个数 l_ ...
分类:
其他好文 时间:
2017-10-29 11:08:02
阅读次数:
212
N个整数组成的数组,定义子数组a[i]..a[j]的宽度为:max(a[i]..a[j]) - min(a[i]..a[j]),求所有子数组的宽度和。 N个整数组成的数组,定义子数组a[i]..a[j]的宽度为:max(a[i]..a[j]) - min(a[i]..a[j]),求所有子数组的宽度和 ...
分类:
编程语言 时间:
2017-10-28 20:29:40
阅读次数:
149
单调栈+前缀和 max很明显用单调栈搞,但是异或和呢?异或和我们拆位,对于每段区间的异或和[l[i]-i],[i,r[i]]答案就是0->1,1->0的乘积,但是统计的时候事实上是[l[i]-2,i-1],因为异或和本身是前缀和,所以要-1,单调栈又是一个前缀和,也要-1,所以就是-2 #inclu ...
分类:
其他好文 时间:
2017-10-27 21:37:36
阅读次数:
187
单调栈 正着插一遍反着插一遍 记录每个点左边右边第一个比他高的。。。 yyc太强辣 #include<iostream> #include<cstdlib> #include<algorithm> #include<cstdio> #include<cmath> #include<cstring> ...
分类:
其他好文 时间:
2017-10-23 20:08:50
阅读次数:
130
题目大意: 一个数列,它左边第一个比它高的人和右边第一个比它高的人要加上它的权值 思路: 单调栈维护一个单调递减的栈 正反各维护一遍 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cmath> 5 # ...
分类:
其他好文 时间:
2017-10-23 20:07:04
阅读次数:
176