![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 86
kopyh
这个作者很懒,什么都没留下…
展开
-
HDU-4777 Rabbit Kingdom
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4777题意:每个兔子有一个数字,数字不互质的兔子会互相打架,现在给出一列兔子,有多组询问,问其中一个区间中的兔子有多少只是不会与其他兔子打架的。思路:13年区域赛的水题,,然而对于我来说并不水。首先分析题意,明显就是求区间中与其他数字均互质的数字的数量。给出的区间较多,可以考虑离原创 2015-08-24 21:17:08 · 853 阅读 · 0 评论 -
HDU 4496 D-City
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4496题意:给出一张图,求按输入顺序去掉边之后整个图被分为几部分。思路:就是求删边之后的联通分量,因为删到最后一定是n部分,可以倒序加边,用并查集判断就行了。能合并两部分那么删去这条变一定能分成两部分。主要就是想到倒着来,也是签到题。代码:#define N 112345i原创 2015-10-12 13:00:43 · 342 阅读 · 0 评论 -
HDU-5242 Game (贪心&&树链剖分&&线段树)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5242题意:给出一颗以1节点为根的树,每个节点有各自的价值,有m次从根节点出发向下走到叶子节点的机会,每次会得到所有经过节点的权值,每个节点只有在第一次经过时有价值,求m次之后能够获得的最大权值。思路:典型的树链剖分题,只要找到所有重链的权值然后贪心找前m个的和就行了。具体解法就是先原创 2016-03-19 18:53:18 · 1072 阅读 · 0 评论 -
POJ-2777 Count Color(线段树)
题目:http://poj.org/problem?id=2777题意:一个长L的木板,一开始颜色是1,不断的重新刷新其中一段的颜色,并且随时询问某一区间内的颜色数目。思路:颜色最多30种,所以可以用一个int按位表示,在线段树上跑,转移就是儿子节点的颜色按位或,理解线段树之后还是很简单的。代码://kopyh#include #define N 1123456u原创 2016-04-05 19:27:56 · 372 阅读 · 0 评论 -
Lightoj-1347 Aladdin and the Magical Lamp(后缀数组&&线段树)
题目:http://lightoj.com/volume_showproblem.php?problem=1347题意:求三个字符串的最长公共子串思路:三个字符串的总长度不超过150000所以可以用后缀数组把他们看作一个字符串来处理。把三个字符串连接成一个字符串然后跑一遍后缀数组,按rank[]排序后找到某个区间包含三个串的子串这个区间的height[]数组的最小值就是原创 2016-04-25 21:13:15 · 472 阅读 · 0 评论 -
HDU-5652 India and China Origins(并查集)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5652题意:两国之间有一个n*m的棋盘,中间一开始有一些山脉,后来每年新增一个山脉,求两国第一次被彻底隔绝的时间。未被隔绝返回-1。思路:500*500的大小,可以展开成250000个节点求并查集,先把所有的山脉都放上去,然后处理一下并查集,就是每个节点和旁边的4个节点是否都是平地,是就原创 2016-03-28 21:35:43 · 487 阅读 · 0 评论 -
tsinsen-A1206 小Z的袜子(莫队算法)
题目:http://www.tsinsen.com/A1206题意:有许多袜子,每个有自己的颜色,排成一排。给出许多区间询问,求每个区间中任取两个袜子的颜色相同的概率,分数表示。思路:区间问题,按理说此类问题大多是应该是线段树,这道题是莫队算法的模版例题。先说莫队算法就是把所有的区间状态转换成二维坐标系上的点,然后通过求曼哈顿距离最小生成树完成所有状态之间的转移路径,从原创 2016-04-08 13:13:15 · 597 阅读 · 0 评论 -
HDU5792 World is Exploding (线段树&&逆序数)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5792题意:找到数列中所有满足: a≠b≠c≠d,1≤ab≤n,1≤cd≤n,AaAb,Ac>Ad.的四元组个数。思路:明显只要线段树处理出每个数字前后比它大比它小的数字个数,类似求逆序数,然后直接计算即可把所有的升序对和逆序对乘积,然后减去每个数字重复出现的对数,就是减去它左边原创 2016-08-02 20:58:22 · 662 阅读 · 0 评论 -
HDU5869 Different GCD Subarray Query(线段树&&离线处理)
题目:http://acm.split.hdu.edu.cn/showproblem.php?pid=5869题意:找区间内所有子串GCD的个数思路:线段树离线搞搞,区间GCD收敛的很快,所以直接暴力预处理出到每个数字截至的后缀串有哪些GCD以及它们的位置,就是每个数字向前看有哪些GCD出现,这个数量是很少的。扫一遍然后离线询问,对于每个询问按照右端点排序。找到每个位置的时原创 2016-09-10 19:25:48 · 1856 阅读 · 0 评论