摘要: 题面 "题目传送门" 解法 思路很妙 参见 "hzwer的题解" ~~主席树+LCT……真是个毒瘤的组合~~ 时间复杂度:$O((m+q)\ log\ m)$ 代码 cpp include define N 400010 using namespace std; template void chkm 阅读全文
posted @ 2018-08-15 21:55 谜のNOIP 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 显然是贪心题吧,dp感觉并不能做 如果某一个怪可以回血,那么一定先打伤害低的 对于不能回血的怪,先打恢复血量高的 我们考虑已经知道了最后的血量,然后反过来考虑,一定是尽量加比较小的,才能使最后的血量尽量大 那么就变成每一次尽量取剩下的怪中回血量最大的那个 模拟一遍即可 时 阅读全文
posted @ 2018-08-15 19:21 谜のNOIP 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 特别基础的贪心题 就是问最多能选出多少个区间,使得这些区间两两没有交集 直接按照右端点排序,然后贪心取就可以了 时间复杂度:$O(n\ log\ n)$ 代码 cpp include define N 50010 using namespace std; template 阅读全文
posted @ 2018-08-15 18:40 谜のNOIP 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 考虑将每一个单词翻转,就变成询问前缀了 显然,我们不能让1这种情况存在,否则答案不会更优 那么,对反转后的字符串建一棵Trie,然后父节点一定在子节点之前被选择 考虑如何使最后的代价最小 显然,子树小的应该先被选择,因为这样可以使$\sum x y$尽量小 那么就是一个简 阅读全文
posted @ 2018-08-15 18:23 谜のNOIP 阅读(109) 评论(0) 推荐(0) 编辑