摘要: dijkstra + 拓扑排序 这道题有负权边,但是卡了spfa,所以我们应该观察题目性质。 负权边一定是单向的,且不构成环,那么我们考虑先将正权边连上。然后dfs一次找到所有正权边构成的联通块,将他们看成点,那么负权边和这些点就构成了一张DAG。 对于DAG,我们可以拓扑排序,在排序的过程中,我们 阅读全文
posted @ 2019-04-18 21:49 清楚少女ひなこ 阅读(231) 评论(0) 推荐(0) 编辑
摘要: hash + 二分答案 数据范围肯定不能暴力,所以考虑哈希。 把前缀和后缀都哈希过之后,扫描一边字符串,对每个字符串二分枚举回文串长度,注意要分奇数和偶数 include include define INF 0x3f3f3f3f define full(a, b) memset(a, b, siz 阅读全文
posted @ 2019-04-18 20:59 清楚少女ひなこ 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 主席树+二分 每次对给定区间从1~区间长度len二分mid,查询区间内第mid大的数是不是大于等于mid。。 include define INF 0x3f3f3f3f define full(a, b) memset(a, b, sizeof a) using namespace std; typ 阅读全文
posted @ 2019-04-18 00:19 清楚少女ひなこ 阅读(244) 评论(0) 推荐(0) 编辑