摘要: 借鉴自: https://www.cnblogs.com/SuuT/p/8619227.html https://blog.csdn.net/my_sunshine26/article/details/79502152 题意: 给定一个01字符串,需要你把它分为k个子序列,其中k可以为任意正整数。 阅读全文
posted @ 2018-08-01 23:32 WTSRUVF 阅读(272) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include #include #include #include #include #include #include #define rap(i, a, n) for(int i=a; i #define mem(a, b) memset(a, b, sizeof(a)) #define _ ... 阅读全文
posted @ 2018-08-01 23:24 WTSRUVF 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出n个点m条边的图,c次询问 求询问中两个点间的最短距离。 解析: Floyd会T,所以用到了最短路树。。具体思想为: 设k为u和v的最近公共祖先 d[i] 为祖结点到i的最短距离 则dis[u][v] = d[u] + d[v] - 2*d[k] 用tarjan的lca求即可 把这题代码 阅读全文
posted @ 2018-08-01 22:57 WTSRUVF 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 给出n个字符串,询问是否存在一个字符串(可以是给出的几个中的 也可以是组合成的),使得用字符串(随便你用多少个)来拼凑这个串,能够至少有两种拼法 解析: 把每一个字符串的每一个位置的字符看作结点,进行建边 两个字符串都刚好匹配完了,那就表明字符串i从s位置往后可以由j字符串组成,说明字符串i如果能匹 阅读全文
posted @ 2018-08-01 14:24 WTSRUVF 阅读(213) 评论(0) 推荐(0) 编辑