摘要:
"Luogu P3379" 题意:对于两个节点,寻找他们的最近公共祖先。 一个显而易见的解法是对于每一个节点我们都往上遍历一遍,记录下它每一个祖先,然后再从另一个节点出发,一步一步往上走,找到以前记录过第一个节点就是这两个节点的LCA 事实上在这样的数据规模下,这种解法的时间复杂度是让人无法接受的。 阅读全文
摘要:
"Luogu P1631" 题意很好懂,不作分析 很容易想出一个解法是求出每一个和,排序后取前n个。 当然这种做法妥妥的会MLE+TLE 我们会发现实质上这种做法的缺点在于存入了大量不需要的数据。 那么该怎么进行优化呢? 观察题目,易得下列关系 `a[1]+b[1] include include 阅读全文
摘要:
"Luogu P1502" 题意很好理解,就是问给出的矩形套住的最大和。 但是做起来却十分麻烦。 ——来自疯狂爆10分的愤怒 一个比较高效的思路是——把每一个星星作为左下角向右上方拓展形成一个矩形, 拓展的规则为只要窗口的右上角在这个矩形之内,就可以覆盖到这个星星。然后用线段树维护一条扫描线从左往右 阅读全文
摘要:
"Luogu P1714" 题目的大意就是给定一个长度为n的序列,求出这个序列中长度不超过m的子串的最大和 很容易想出的一个解法就是枚举起点终点,直接暴力扫一遍得出答案。 当然也很容易发现这种做法肯定会TLE。 也有一个很容易想到的优化方法——利用前缀和。 但是我们会发现即便如此,还是会TLE。 也 阅读全文
摘要:
Luogu P1878 事实上这道题并不难,但我真没弄懂我手写堆为什么过不了。所以 STL大法好!!! 基本思路 对于每一对相邻异性,将他们的舞蹈技术的差插入一个堆 通过维护这个小根堆,每次就可以取得舞蹈技术差最小的一对 值得注意的是,每次取完一对舞伴之后,要对这对舞伴进行标记,并将堆中所有有这两位 阅读全文
摘要:
Luogu P5490 作为一道模板题让我卡了一个月…… 对于线段树+离散化新手而言这实在是太难了…… 有关离散化: 可以查看这一篇文章:https://www.jianshu.com/p/9347659dcf18 一种缩小数据范围的小技巧,在本题中用于缩短线段树的区间大小 基本思路 想象一条直线, 阅读全文
摘要:
点我进入原题Luogu P1981 【解题思路】 仔细分析题目,这就是一道模拟题…… 直接按照符号读入全部的数字,先算乘法,最后把全部数加起来就是结果了 记得要%10000取最后四位 【参考程序】 阅读全文
摘要:
【问题描述】 有一种别样“小猫钓鱼”扑克游戏。有 N 张牌,每张牌都有一个花色和点数。游戏的规则:扑克接龙时,若前面有同样花色的牌,你可以将这两张牌连同之间的牌都取走,得到的分值为取走牌点数之和。这里说的是可以,不是必须。给定扑克接龙的顺序,求最多的得分。 【输入格式】 第一行一个整数 N。 第二行 阅读全文