上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 55 下一页
摘要: 给定一个字符串,求不相同子串个数。每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相同子串个数。总数为n*(n-1)/2,再减掉height[i]的和就是答案 #include<cstdio> #include<cstring> #include<algorithm> using n 阅读全文
posted @ 2020-02-19 19:11 zlc0405 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 可重叠的k次最长重复子串利用后缀数组计算S和height数组然后二分,进行分组~ #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=1e6+14; int sa[max 阅读全文
posted @ 2020-02-19 19:06 zlc0405 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 有N(1<=N<=20000)个音符的序列来表示一首乐曲,每个音符都是1..88范围内的整数,现在要找一个重复的子串,它需要满足如下条件:1.长度至少为5个音符。 2.在乐曲中重复出现(就是出现过至少两次)。(可能经过转调,“转调”的意思是主题序列中每个音符都被加上或减去了同一个整数值) 3.重复出 阅读全文
posted @ 2020-02-19 18:29 zlc0405 阅读(101) 评论(0) 推荐(0) 编辑
摘要: B.Harborfan的新年拜访Ⅱ 就是一道tarjan缩点的裸题。 建图比较麻烦 以后遇到这种建图,先用循环把样例实现出来,再对着循环写建图公式 #include<bits/stdc++.h> using namespace std; const int maxn=1014; vector<int 阅读全文
posted @ 2020-02-19 18:17 zlc0405 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 有n个关系,他们之间某些人相互认识。这样的人有m对。你需要把人分成2组,使得每组人内部之间是相互不认识的。如果可以,就可以安排他们住宿了。安排住宿时,住在一个房间的两个人应该相互认识。最多的能有多少个房间住宿的两个相互认识。 先是要判断是否为二部图,然后求最大匹配。 学习一下模板~ #include 阅读全文
posted @ 2020-02-17 19:59 zlc0405 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 有N个人排队,每一个人都有一个val来对应,每一个后来人都会插入当前队伍的某一个位置pos。要求把队伍最后的状态输出。 倒序插入,线段树单点更新,从头到尾输出线段树的状态 #include<cstdio> #include<algorithm> #include<cstring> using nam 阅读全文
posted @ 2020-02-17 18:42 zlc0405 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 线段树单点更新~ 建立线段树存储区间内的最大剩余宽度,优先询问左子树~ #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=1e6+14; struct node { i 阅读全文
posted @ 2020-02-17 18:19 zlc0405 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 线段树单点更新~ 用线段树计算总逆序对数(其实也可以树状数组,练习一下线段树的写法,还是很不熟练,线段树在区间修改查询这一块的能力是统治级的~) 然后每操作一次,减去它的比它大的数的数量,再加上比它小的数的数量,与Min比较取最小,最后的Min就是答案~ #include<cstdio> #incl 阅读全文
posted @ 2020-02-16 22:33 zlc0405 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 用prim算法求最小生成树和次小生成树~ #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=1014; const int inf=1e9; int g[maxn][m 阅读全文
posted @ 2020-02-16 21:11 zlc0405 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 先求最小生成树 再遍历每一对顶点,如果该顶点之间的边属于最小生成树,则剪掉这对顶点在最小生成树里的最长路径 否则直接剪掉连接这对顶点的边~ 用prim算法求最小生成树最长路径的模板~ #include<cstdio> #include<cstring> #include<algorithm> #in 阅读全文
posted @ 2020-02-16 21:07 zlc0405 阅读(117) 评论(0) 推荐(0) 编辑
上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 55 下一页