摘要:
题目链接: ac自动机的精华在于 \(fail\) 指针, 为了避免暴力跳 \(fail\) 指针使得复杂度爆炸,建出 \(fail\) 图就好了 P3808 https://www.luogu.com.cn/problem/P3808 #include<iostream> #include<alg 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6592 先分别正着反着求一遍 \(LIS\), 可以证明,字典序最小的单峰序列,一定是先找到最左边的峰点,向左单调栈维护每一个长度的最左边的位置,向右贪心 最大字典序同理 维护单调栈时要注意元素大小的单调 阅读全文
摘要:
题目链接:https://darkbzoj.tk/problem/2342 回文树$trans$指针或回文树 + 哈希即可 注意字串长度一定要是 \(4\) 的倍数 \(trans指针\): #include<iostream> #include<algorithm> #include<cstrin 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6599 利用回文树找出所有的回文串(记录出现的位置) 然后利用哈希判断回文串的一半是否也是回文串即可 #include<iostream> #include<algorithm> #include<cst 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6602 我们考虑固定右端点,考虑每种数字的合法左端点区间 第一种合法区间是该数字上次出现的位置以右到右端点, 第二种合法区间是从 $1$ 到该数字向前出现第 \(k\) 次的位置 对于每种数字,将这些区间 阅读全文
摘要:
题目链接:https://ac.nowcoder.com/acm/contest/9680/E 由定义式可以发现,如果 \(k > log(n)\),那么答案就一定是 $0$, 所以我们只需要计算 \(k <= 27\) 的答案即可 记忆化搜索,使用 \(unordered_map\) 存储 \(d 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6595 对于一个全排列,每个逆序对可能出现的期望为 \(\frac{1}{2}\), 而全排列一共有 \(\frac{(n - 1)*n}{2}\) 个逆序对, 随机产生数列产生的期望为: \(f[i] 阅读全文
摘要:
题目链接:https://codeforces.com/contest/739/problem/E 凸优化经典题 凸优化: 指有若干个物品,要求选出 \(m\) 个,选的时候带有限制,求最优的方案。 这种题的特点是:如果不限制选的个数,很容易就能求出最优方案。 使用凸优化的条件:设 \(f(i)\) 阅读全文
摘要:
题目链接:https://www.acwing.com/problem/content/description/277/ 确定步数和横坐标以后,纵坐标是可以计算出来的, 所以设 \(dp[i][j][k]\) 表示走了 \(i\) 步,横坐标分别为 \(j, k\) 时的最大值, 转移时注意将走到同 阅读全文
摘要:
题目链接:https://www.acwing.com/problem/content/276/ 以已经处理完的请求为阶段,设 \(dp[i][j][k]\) 表示已经处理完前 \(i\) 个请求,服务员分别在 \(p[i], j, k\) 处的最小花费 刷表法转移即可 #include<iostr 阅读全文