摘要: 第一种 int get_minstring(char s[]) { int n =strlen(s); int i = 0, j = 1, k; while (i < n&&j < n) { for (k = 0; k < n&&s[(j + k) % n] == s[(i + k) % n]; k 阅读全文
posted @ 2019-02-12 23:28 TLE自动机 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 单调队列有两个性质 队列中的元素其对应在原来的列表中的顺序必须是单调递增的。 队列中元素的大小必须是单调递*(增/减/甚至是自定义也可以) 单调队列与普通队列不一样的地方就在于单调队列既可以从队首出队,也可以从队尾出队。 就拿样例来谈谈,设以最小的为标准。 下文中我们用q来表示单调队列,p来表示其所 阅读全文
posted @ 2019-02-12 22:10 TLE自动机 阅读(178) 评论(0) 推荐(0) 编辑
摘要: P1823 [COI2007] Patrik 音乐会的等待 题解:维护一个单调不递增的栈 首先说明一下:由于一个人左边可以看到一些人,右边可以看到一些人,可以我们仅从一边考虑,对于一个人,我们考虑它的左边能看到多少个。两边都考虑会导致重复计算。 tot是当前栈元素的个数 对于新加入单调栈的一个元素, 阅读全文
posted @ 2019-02-12 13:55 TLE自动机 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 版本1 这种适用于答案落在左半区间,一般适用于求解最小化最大值 当区间[l, r]的更新操作是r = mid; l = mid + 1;时,计算mid时不需要加1。C++ 代码模板: 版本2 这种适用于答案落在右半区间,一般适用于求解最大化最小值 当区间[l, r]的更新操作是r = mid - 1 阅读全文
posted @ 2019-02-12 11:02 TLE自动机 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 悬线法,刚学的 转移方程 #include<iostream> #include<algorithm> using namespace std; typedef long long ll; const int maxn = 1e3+ 5; int n, m; int a[maxn][maxn]; / 阅读全文
posted @ 2019-02-11 16:31 TLE自动机 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 题解:我们先得到两个楼之间的距离,D[i]表示第i栋楼和第i+1栋楼之间的距离,我们要选出最小的k个数,然后就有两种情况 1.选择了D[i],那么D[i-1]和D[i+1]都不能选择了2.选择了D[i+1]和D[i-1],然后无法选择D[i]. 既要么选D[i]不选D[i-1]和D[i+1],要么选 阅读全文
posted @ 2019-02-10 20:19 TLE自动机 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 首先感谢 https://www.cnblogs.com/grandyang/p/4475985.html 这篇文章,给了我很大帮助,解释的很详细。 最近在学习lyd的算法竞赛书,学到求最长回文串的时候就看到了O(n)复杂度的Manacher算法,书上给的是hash+二分做法,复杂度为O(nlgn) 阅读全文
posted @ 2019-02-07 23:07 TLE自动机 阅读(246) 评论(1) 推荐(0) 编辑
摘要: 链接:https://ac.nowcoder.com/acm/contest/330/C来源:牛客网精通程序设计的 Applese 双写了一个游戏。 在这个游戏中,它被困在了一个 n×m链接:它想要逃出这个迷宫。 在迷宫中,有一些方格是水池,只有当 Applese 处于水属性的时候才可以通过;有一些 阅读全文
posted @ 2019-01-29 21:48 TLE自动机 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 最长公共子序列(LCS): 这同样是一道经典题目,定义就不说了。 为了方便说明,我们用Xi代表{x1,x2,‥xi},用Yj代表{y1,y2,‥yj}。那么,求长度分别为m,n的两个序列X,Y的LCS就相当于求Xm与Yn的LCS。我们将其分割为局部问题进行分析。 首先,求Xm与Yn的LCS要考虑一下 阅读全文
posted @ 2018-11-29 23:14 TLE自动机 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 最长上升子序列(LIS)是指一个序列中最长的单调递增的子序列,对于任意的i<j都满足ai<aj的子序列。 下面我们来介绍两种dp来求LIS。 方法1: 我们首先来建立一下递推关系: 定义dp[i]:为以ai为末尾的最长上升子序列的长度。 以 ai 结尾的上升子序列是: (1)只包含 ai 的子序列 阅读全文
posted @ 2018-11-27 00:14 TLE自动机 阅读(261) 评论(0) 推荐(0) 编辑