摘要:
BZOJ3325: [Scoi2013]密码 https://lydsy.com/JudgeOnline/problem.php?id=3325 分析: 根据前i个字符和一些不等和相等条件就可以确定每一位。 用manacher优化暴力的过程,发现就是manacher逆过来做。 相等的赋值,不等的打标 阅读全文
摘要:
http://uoj.ac/problem/407 分析: 分别建立最小/最大kruskal重构树。 每次询问给出的两个点能走到的部分分别对应两棵树$dfs$序的一段区间。 转化成判断矩形中是否有点。 代码: 阅读全文
摘要:
https://lydsy.com/JudgeOnline/problem.php?id=3935 分析: 如果知道更改后的状态,那么代价和是否合法都能求出来 对不合法的情况也设一个估价函数。 随机这个01串,模拟退火即可。 (已更新正解) 代码: 正解: 我的做法是设$i$节点$x_i$表示是否被 阅读全文
摘要:
CF741D. Arpa’s letter marked tree and Mehrdad’s Dokhtar kosh paths 分析: 最多有一个字符出现奇数次 维护某个状态下深度的最大值,注意是全局深度 写成非递归形式方便理解 代码: cpp include include include 阅读全文
摘要:
BZOJ3744: Gty的妹子序列 https://lydsy.com/JudgeOnline/problem.php?id=3744 分析: 预处理出来每一块块首到所有位置的逆序对数。 查询时主席树上查即可。 卡常 代码: cpp include include include include 阅读全文
摘要:
BZO2754: [SCOI2012]喵星球上的点名 "题目链接" 分析: 把姓和名中间用一个分隔符分开,和询问串一起建立后缀数组。 后缀数组上每个位置存对应串的标号。对于一个询问串(T),找到他对应的位置。 考虑和他的lcp =len(T)的位置都是合法的。左右二分/倍增提取出这样的区间。 那么第 阅读全文
摘要:
虚树 BZOJ3611: [Heoi2014]大工程 "题目链接" 分析: 维护子树内有多少关键点,最长链和最短链进行转移 代码: cpp include include include include using namespace std; define N 300050 int head[N] 阅读全文