上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 43 下一页
摘要: 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1e5+10; 4 int a[maxn]; 5 int b[maxn]; 6 int main() 7 { 8 int n; 9 scanf("%d",&n); 10 阅读全文
posted @ 2020-01-14 17:52 古比 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 首先,height[i]-k+1 很好理解把,他是说明目前这对后缀中不小于k的公共子串个数。 题解说用单调栈维护,为什么要用单调栈维护呢?因为时间复杂的可以大大降低。 怎么个降低方法呢? 在之前学习lcp(就是height数组)的时候,肯定接触过这样一个问题,就是从i开始的后缀字符串跟从j开始的后缀 阅读全文
posted @ 2019-12-10 23:12 古比 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 后缀数组有几个重要参数; sa[] 这是字符串按从小到大排序后的第一个字符的下标; rank[] 这是那个下标的位置的排名; height[] 这是排名i与i-1的最长公共前缀; minnum[] 这是下标a,b的最长公共前缀 本代码求得是任意两个下标之间得最长公共前缀; 1 /*Sherlock 阅读全文
posted @ 2019-12-08 12:22 古比 阅读(149) 评论(0) 推荐(0) 编辑
摘要: . 1 #include <cstring> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <algorithm> 5 #include <cmath> 6 #include <vector> 7 using namespace std; 8 阅读全文
posted @ 2019-11-19 22:13 古比 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 树链剖分详解(洛谷模板 P3384) 洛谷·[模板]树链剖分 写在前面 首先,在学树链剖分之前最好先把 LCA、树形DP、DFS序 这三个知识点学了emm还有必备的 链式前向星、线段树 也要先学了。 如果这三个知识点没掌握好的话,树链剖分难以理解也是当然的。 树链剖分 树链剖分 就是对一棵树分成几条 阅读全文
posted @ 2019-11-18 23:32 古比 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 该题题意:在规定的地图里放大炮,大炮放的位置有限制,只有‘p’的位置能放; 并且在该点的四周两格内不能再放,找出能放大炮的最大数; 1 /*这道题跟前面做过的一道种植的题相似, 2 不过种植的那道题只会影响上下左右四个点, 3 这道题影响了8个点,所以要多一重l-2的判断; 4 */ 5 #incl 阅读全文
posted @ 2019-11-18 22:57 古比 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 这是一道最短路+状压的题; 详细注释都在代码里。 题意:输入一个数n,现在有n个地方(标号1到n)要从标号为0的地方出去,经过所有的地方之后回来,求最短的时间 输入(n+1)*(n+1)的矩阵表示每两点之间到达所需要的时间。 d[i][j]表示从i-1到j-1的时间; dp[i][j]=min(dp 阅读全文
posted @ 2019-11-18 21:30 古比 阅读(132) 评论(0) 推荐(0) 编辑
摘要: . 1 /*本题为状态压缩题 2 题目大意 : 3 一个矩阵里有很多格子,每个格子有两种状态,可以放牧和不可以放牧, 4 可以放牧用1表示,否则用0表示,在这块牧场放牛,要求两个相邻的方 5 格不能同时放牛(不包括斜着的),即牛与牛不能相邻。问有多少种放牛方 6 案(一头牛都不放也是一种方案); 7 阅读全文
posted @ 2019-11-18 21:25 古比 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 题意: 将含有N个元素的一个集合分成M个子集,使得每个子集的最大值与最小值平方差的和最小。 可以想到贪心将元素从小到大排序,很快可以得出dp[i][j]-前i个子集分j个元素的最小花费,dp方程 dp[i][j]=dp[i-1][k]+(a[j]-a[k+1]);但是需要三重循环,时间复杂度接受不了 阅读全文
posted @ 2019-11-18 20:28 古比 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 斜率优化DP 两步骤; 1.造出DP方程; 2.通过DP方程构造出一个斜率优化方程; 具体怎么构造呢? 如 两个点 a b; 构造出 DP(a)<DP(b) 然后通过这一式子,构造出一个下凸包(后面的边的斜率大于前面的边) 只有下凸包的点是可能作为状态转移方程的转移点,其他点都不可能。 然后,构造完 阅读全文
posted @ 2019-11-18 16:37 古比 阅读(196) 评论(0) 推荐(0) 编辑
上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 43 下一页