关于MP(非KMP)算法中出现的mpnext数组的应用 ...
分类:
其他好文 时间:
2020-03-19 09:22:06
阅读次数:
45
"题目链接点我" 题目大意:给你一个nxm行的01矩阵,你每次可以点一个位置然后反转这个位置上下左右以及自己的状态,问你是否可以把它全置为0,如果可以,把字典序最小的情况输出出来。 这题和我上一篇博文类似 "传送门←_←" 不同的是,题目要把变换次数最小的情况下字典序最小的结果输出出来。其实字典序不 ...
分类:
其他好文 时间:
2020-03-18 18:26:22
阅读次数:
52
与这道题相似的还有poj一道贴海报的题目,但这道题更加经典 典型的线段树合并求区间子段和模型,但是不同的是加了一个离散化,这也是最难的地方 本题思路: 1.设计lmax,rmax tmax来表示左边最长连续,总共最长连续和右边最长连续 2.设计懒标记为-1,0,1表示这区间是否都是黑或白或混合,如果 ...
分类:
其他好文 时间:
2020-03-17 15:29:37
阅读次数:
67
# 题意 直方图是在公共基线处对齐的一系列矩形组成的多边形,各矩形具有相同的宽度,但可以有不同的高度,求最大矩形的面积例如 阴影部分即最大面积 # 题解建立一个递增单调栈,保存高度1) 当前矩形的高度比栈顶矩形高,直接进栈2) 当前小于栈顶就不断去除,累计所有取出的矩形的宽度之和,并且每弹出一个矩形 ...
分类:
其他好文 时间:
2020-03-15 10:03:12
阅读次数:
71
# 题意 n个数的整数序列,输出每个数左边第一个比它小的数,不存在输出-1 # 题解 输出左边第一个比当前数小的数,栈中存的数是单调上升的,因为后加入的数永远比前加入的数靠后,所以在新加入数的时候只会先考虑后加入的,只有前面的数比后加入的小才会被考虑到,所以栈中只会存单调上升的序列 1 #inclu ...
分类:
其他好文 时间:
2020-03-15 09:29:07
阅读次数:
50
http://poj.org/problem?id=1952 题目 你想买股票,方法是每次买的价格都比上一次的低(第一次不受限制)。你预先知道了每天的价格(= =),问最多能买几次,买这么多次产生的价格序列有多少种。 题解 难在价格序列的计数上面 如 \[5\quad3\quad1\quad4\qu ...
分类:
其他好文 时间:
2020-03-14 19:58:12
阅读次数:
51
题目链接:http://poj.org/problem?id=3735 题目意思:有n只猫,有三种操作得花生,吃花生,换花生。k种操作,进行m轮 解题思路:m很大,考虑矩阵变化,考虑每一个变化过程,由于有加一,将初始矩阵末尾增加一,方便进行操作,然后有如下网上借鉴(chaoxi)来的变换。 要注意的 ...
分类:
其他好文 时间:
2020-03-14 13:15:58
阅读次数:
67
``` //一开始要思考:到底是增好还是减好 //然后用dp,忽略这个问题 //首先要明确的是,最终序列中的数字一定都是原序列中的数字 #include #include #include using namespace std; const int N=2000+20; int a[N]; int... ...
分类:
其他好文 时间:
2020-03-14 12:48:17
阅读次数:
47
题目:传送门 题意:给你一个 n 个点的折线,每一次变换把折线上的每条线段都变成最初给的折线形状,重复 d 次,问从第一个点沿着线断走全长 * f,最终到达哪个点。 思路: 大部分参考了 -> 戳 令 tmp = (折线的全长) / (第一个点到第 n 个点的直线距离), 那么一条线段变成最初给的折 ...
分类:
其他好文 时间:
2020-03-13 20:26:29
阅读次数:
41
题意: 0到N的数轴上,每次可以选择移动到x-1,x+1,2*x,问从n移动到k的最少步数。 思路: 同时遍历三种可能并记忆化入队即可。 Tips: n大于等于k时最短步数为n-k。 在移动的过程中可能会越界、重复访问。 poj不支持<bits/stdc++.h>和基于范围的for循环。 #incl ...
分类:
其他好文 时间:
2020-03-13 18:38:08
阅读次数:
50