摘要: 题意: 给定一个字符串,长度小于等于500000。让你找一个二元组序列(l[i],r[i]),使得区间[l[i+1],r[i+1]]的字符串是区间[l[i],r[i]]的子串。求最长的序列长度。 题解: 首先有一个贪心的想法,第i个字符串肯定恰好比第i+1个字符串多一个字符。 考虑对于位置i,如何判 阅读全文
posted @ 2020-01-28 23:34 1124828077ccj 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题意: 有n个位置上可以盖房子,一开始每个位置都是空的,每次会让你将位置x的房子的高度变成y,询问从0可以看到多少栋房子,x,y给定。如果这栋楼房上任何一个高度大于0的点与(0,0)的连线没有与之前的线段相交,那么这栋楼房就被认为是可见的。 题解: 如果将一个房子的最高点和(0,0)点的连线的斜率作 阅读全文
posted @ 2020-01-28 23:19 1124828077ccj 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题意: 给一个n个点的图,每个点有权值,每条边有权值。q次询问,每次询问从a出发不经过边权大于x的边能够到达的所有点中,点权第k大的值。 n<=100000,q<=500000 题解: 点权第k大的值,容易想到可持久化线段树,问题就在于如何把要查询的点转化为一段连续的区间。 考虑建立Kruskal重 阅读全文
posted @ 2020-01-28 23:06 1124828077ccj 阅读(152) 评论(0) 推荐(0) 编辑