
重要题解
涵盖高级算法的经典题目
蒟->zhuqm<-蒻
这个作者很懒,什么都没留下…
展开
-
[AHOI2008]紧急集合 / 聚会
传送门分析就是求三个点的LCA。原创 2020-04-19 11:35:01 · 286 阅读 · 0 评论 -
[NOI2015]软件包管理器
传送门分析因为安装一个软件包要把它前面的都安装,所以其实是在一棵树中,点x到根节点都要安装。同理,删除一个软件包就是删除x及其子树。这样,我们就可以用树剖来解决了。改变的数量就是上次的结点数与现在的结点数的差的绝对值。(有点绕)代码#include<bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3f#de...原创 2020-04-18 19:53:54 · 399 阅读 · 0 评论 -
[POI2010]KOR-Beads(Hash)
传送门分析找不同的子串->字符串Hash这里因为子串可以反转,所以前缀后缀Hash值。在找是否重复时不能直接用循环,会超时。有2种方法:set和Hash表。因为set是STL中的函数,所以我用的是Hash表来实现。这里要注意一点,在初始化Hash表时不用memset,只需要初始化上次用过的即可。(详见代码)输出k用vector统计。代码#include<bits/s...原创 2020-04-18 19:15:11 · 170 阅读 · 0 评论 -
二叉树输出(凹入表示法)
题目题目描述树的凹入表示法主要用于树的屏幕或打印输出,其表示的基本思想是兄弟间等长,一个结点要不小于其子结点的长度。二叉树也可以这样表示,假设叶结点的长度为1,一个非叶结点 的长并等于它的左右子树的长度之和。一棵二叉树的一个结点用一个字母表示(无重复),输出时从根结点开始:每行输出若干个结点字符(相同字符的个数等于该结点长度),如果该结点有左子树就递归输出左子树;如果该结点有右子树就递...原创 2020-04-11 22:32:32 · 9866 阅读 · 0 评论 -
喷水装置(贪心+公式)
题目题目描述长 L 米,宽 W 米的草坪里装有 n 个浇灌喷头。每个喷头都装在草坪中心线上(离两边各 w/2 米)。我们知道每个喷头的位置(离草坪中心线左端的距离),以及它能覆盖到的浇灌范围。请问:如果要同时浇灌整块草坪,最少需要打开多少个喷头?输入输入包含若干组测试数据。第一行一个整数 T 表示数据组数;每组数据的第一行是整数n 、L 和 W;接下来的 N 行,每行包含两个整数...原创 2020-04-08 21:45:35 · 511 阅读 · 0 评论 -
「NOIP2013」货车运输--kruskal+树上ST
传送门分析∵两座城市之间可能有多条道路,∴我们只需要保留一条最大的边即可,用kruskal实现。∵求最大载重是多少,∴用一个树上ST。如果货车不能到达目的地,即起点和终点不在同一棵树上,并查集判断即可。代码#pragma GCC optimize(2)#include<bits/stdc++.h>using namespace std;#define INF 0x3f...原创 2020-03-21 17:17:11 · 152 阅读 · 0 评论