![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM_数据结构
文章平均质量分 85
ZeroClock
这个作者很懒,什么都没留下…
展开
-
hdu 1394 Minimum Inversion Number (数据结构_线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394题目大意:给定一个序列,求逆序数总和,也就是在当前位置后面比当前值小的数的个数。这题的序列,前后可以滑动即第一个可能变到最后面。解题思路:换个角度找逆序数,即在当前位置之前比当前值大的数的个数,那只要在每次输入一个数的时候寻找x+1...n-1里出现过的个数原创 2012-04-21 21:12:26 · 711 阅读 · 0 评论 -
Poj 3264 Balanced Lineup (数据结构_RMQ)
题目链接:http://poj.org/problem?id=3264题目大意:给定一个序列,n个数,给出m个询问,每次询问[li,ri]区间的最大值与最小值的差。解题思路:一直想花点时间补下数据结构方面的知识,但因为状态dp和树形dp较难,花了大把时间。想放弃又害怕痛苦!到现在也没能搞定这两个家伙,今天早晨终于归零,开始学RMQ. 这题应该是原创 2012-07-17 00:11:04 · 933 阅读 · 0 评论 -
Hdu 3486 Interviewe (数据结构_RMQ)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3486题目大意: 给定n个数的序列,让我们找前面k个区间的最大值之和,每个区间长度为n/k,如果有剩余的区间长度不足n/k则无视之。现在让我们找最小的k使得和严格大于m。n<=20万,m 解题思路:简单RMQ,二分枚举区间个数,然后判断当前的区间个数k是否符合找出来的区间之和原创 2012-07-18 02:08:11 · 1005 阅读 · 1 评论 -
Poj 2452 Sticks Problem (数据结构_RMQ)
题目链接:http://poj.org/problem?id=2452题目大意: 给定一个长度为n的序列,序列里的元素都不相同,要求找出一对(i,j),i=i&arr[k]<=j,All(i 解题思路:RMQ+二分,有人暴力过,估计是数据的问题。先初始化rmq,这里的dp数组存储的是序列的下标。然后枚举每个结束点x,用rmq查询离x点最远的点j,使得max[j,x-1]原创 2012-07-20 02:19:47 · 831 阅读 · 0 评论 -
Hdu 2874 Connections between cities (数据结构_LCA)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2874题目大意: 给你一个n个节点m条边的森林,再给定q个查询,每次查询森林里两个点的最近距离。n ,m <= 10000,q 解题思路:十分经典的LCA,其实也是十分朴素的LCA题,只不过这题给定的是森林而不是一棵树,差别就只是一个for循环用来多次计算。看到一篇aiguo原创 2012-07-20 02:36:05 · 1134 阅读 · 0 评论 -
Zoj 3195 Design the city (数据结构_LCA)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3320题目大意:给定n个节点的树,要求我们查询树上三个点之间的距离。n 解题思路:LCA好题,和普通的LCA不同的是本题查询的是三个点。一开始我的做法很诡异,找三个点的关系,然后离线Tarjan求解。我共找到4个关系,但是总能找到反例拓展这些关系原创 2012-07-22 11:03:45 · 86 阅读 · 0 评论 -
Zoj 3195 Design the city (数据结构_LCA)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3320题目大意:给定n个节点的树,要求我们查询树上三个点之间的距离。n 解题思路:LCA好题,和普通的LCA不同的是本题查询的是三个点。一开始我的做法很诡异,找三个点的关系,然后离线Tarjan求解。我共找到4个关系,但是总能找到反例拓展这些关系原创 2012-07-23 00:49:13 · 984 阅读 · 2 评论 -
Hdu 2419 Boring Game (数据结构_并查集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2419题目大意:给定n个点m条边的无向图,每个点有点权。有q个操作,每个操作有三种:1、查询和某个点连通的大于k的最小点权 2、将某点的点权更新为k 3、删除某条边。解题思路:08年网络赛的题目,全场5个人过,但绝对是难度中等的并查集好题。从这题我学到了对给定操作原创 2012-07-25 02:34:23 · 1419 阅读 · 0 评论 -
Hdu 2430 Beans (数据结构_单调队列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2430题目大意:有n坨豌豆,每坨都有w[i]个,现在要从中选择连续的若干坨,然后用一个能装p个豌豆的背包装豆子,直到剩下的豌豆数量解题思路:题意很明了,模型也很好抽象。本题就是要选择连续的一段和为sum,使得max(sum/p) 且sum%p那么要怎么算这个sum原创 2012-07-27 02:38:48 · 1443 阅读 · 1 评论 -
Hdu 4085 Peach Blossom Spring (综合_斯坦纳树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4085题目大意:一个村庄有n幢房子,m条通道连接着这n幢房子,修建通道都有特定的花费。在1..k幢房子里面住有人,现在道路被破坏了却要让这些人顺利跑到n-k+1,n-k+2...n里面,问最少需要花费多少money来修复这些道路。解题思路:11年北京现场赛的题目,经典的斯坦纳树。原创 2012-09-05 00:15:50 · 2275 阅读 · 1 评论 -
Zoj 3613 Wormhole Transport (综合_斯坦纳树)
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3613题目大意: 给定一张图有n个顶点,某些点有工厂,某些点有资源,每个资源可以供应给一个工厂,有m条无向边,边有边权。已知有资源的点不超过4个,有工厂的点也不超过4个,问选择若干条边如何使有资源工厂的工厂最多,当数量一样多时输出最小权值。n原创 2012-09-05 00:16:09 · 1402 阅读 · 0 评论 -
Hdu 3311 Dig The Wells (综合_斯坦纳树)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3311题目大意:n个和尚要去挑水,他们可以再他们所在的地方挑水,也可以再其他m个地方挑水,挑水之前需要挖井,在n+m个地方挖井对应着n+m个费用,然后给定p条边,表示两个地方可以互达,边有边权表示需要的费用。解题思路: 因为必须覆盖n个和尚,那么便是求一颗包含前n个点的斯坦原创 2012-09-08 23:53:12 · 1516 阅读 · 0 评论 -
Hdu 4006 The kth great number (数据结构_SBT)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4006题目大意:给定n个操作,操作分两种,插入和查询第k大的数。n解题思路:因为本题没有删除操作,所以变得特别简单,只需要维护一个大小为k的小顶堆即可。 但是如果有删除操作,就变地复杂了,所以用SBT写了这道题,怒写2遍,明天晚上黄金十点半再写三原创 2012-10-16 01:22:13 · 957 阅读 · 0 评论 -
Hdu 1806 Frequent values (数据结构_RMQ)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1806题目大意: 给定一个不递减长度为n的序列,给定m个询问,每次询问[li,ri]内上镜率最高的那个数的出现次数。解题思路:简单RMQ,因为序列不递减,所以这题变得十分简单。先从询问开始研究,要找[l,r]内出现最多的次数,其实可以把这个区间内每个数出现的次数压缩成一个数,比如原创 2012-07-17 00:09:40 · 832 阅读 · 1 评论 -
Poj 3162 Walking Race (DP_树形DP(线段树))
题目链接:http://poj.org/problem?id=3162题目大意:给定一张地图,它是一棵n个节点的树。mm爱跑步,mm要跑n天,每次都从一个结点开始跑步,每次都要跑到最远的那个结点,两天跑的最远距离有个差值,现在要从这n天里去若干天使得这些天的差值都小于m,问怎么取使得天数最多?n 解题思路:树形DP + 线段树。虽然数据量很吓人,但经过分析发现这题就是几原创 2012-07-09 00:52:55 · 96 阅读 · 0 评论 -
poj 3250 Bad Hair Day (数据结构_栈)
题目链接:http://poj.org/problem?id=3250题目大意:给定一个序列,定义ci为从位置i开始后面连续的严格小于它的个数,最后求ci的总和(1解题思路:栈的应用,将每个数压入栈,如果碰到大于栈头的数就退栈,并计算ci,ci就是两个下标想减的值,也可以这样理解,即区间内小于两端的个数。测试数据:61原创 2012-04-21 14:33:01 · 1021 阅读 · 0 评论 -
poj 2373 Dividing the Path (DP_单调队列优化)
题目链接:http://poj.org/problem?id=2373题目大意:给定一个长度L,等分为L段,有n头牛,每头牛有一个活动区域,比如3,6,又有喷泉,喷的是圆形,半径在A,B之间,要求在长度为L的区间内安放最少的喷泉,使得每个位置都能被喷到,有两个要求:1、牛活动地区域内必须只由一个喷泉喷到,如果活动区域是(3,6),A = B = 1,则最大半径为1,如果放在3,原创 2012-04-23 16:19:34 · 1292 阅读 · 1 评论 -
poj 1200 Crazy Search (数据结构_Hash)
题目链接:http://poj.org/problem?id=1200题目大意:给定整数n和nc,以及一个很长很长的字符串,问长度为n的子串有多少个?nc表示总共有几个字母,最终的答案不超过16000000.解题思路:本题由于字符串长度未知,但知道很长很长,后缀数组什么的靠边站,复杂度又高程序又难写。所以用了个hash,先为出现的每个字母赋个值(0至nc-1原创 2012-04-30 18:17:29 · 1427 阅读 · 0 评论 -
hdu 4193 Non-negative Partial Sums (数据结构_单调队列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4193题目大意:给定一个由n个整数组成的整数序列,可以滚动,滚动的意思就是前面k个数放到序列末尾去。问有几种滚动方法使得前面任意个数的和>=0.解题思路:刚拿到题目有暴力求解的冲动,但看到n的范围是1-100万,瞬间就腌了,但隐约觉得这样的题目会有一些性质,这个性原创 2012-05-02 13:25:45 · 865 阅读 · 0 评论 -
poj 2828 Buy Tickets (数据结构_线段树)
题目链接:http://poj.org/problem?id=2828题目大意:给定n个人进入队伍时的位置,如果某个位置及其后面有人,则后面的人都要向后挪一个位置,这不正是每天都在现实生活中上演的插队问题吗!有n个pos[i]和val[i],pos[i]表示这个人插入到pos[i]的右面,其实加1的话,更好理解,就是插在什么位置。至于那个val[i]只是为了表示某个人而原创 2012-05-03 12:46:12 · 1614 阅读 · 1 评论 -
hdu 1698 Just a Hook (数据结构_线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 题目大意:一题关于Dota的题,寂寞的男人玩Dota,空虚的男人做Dota题。言归正传,本题给定一个长度为n的序列,每个位置初始化都为1,现在有q个操作,可以将某段区间的数全部赋为1或2或3,问最后的序列总和是多少。 解题思路:很早之前用暴力的方法才能背后往前原创 2012-05-08 03:18:51 · 1294 阅读 · 0 评论 -
Poj 1186 方程的解数 (数据结构_Hash)
题目链接:http://poj.org/problem?id=1186 题目大意:已知一个n元高次方程其中:x1, x2,...,xn是未知数,k1,k2,...,kn是系数,p1,p2,...pn是指数。且方程中的所有数均为整数.假设未知数1 1 求这个方程的整数解的个数。 解题思路:由于n和m特别小,可以通过枚举的方式来求解。枚举X1,X2..Xn/2,他们的和原创 2012-05-11 22:30:29 · 982 阅读 · 0 评论 -
Poj 1971 Parallelogram Counting (数据结构_Hash)
题目链接:http://poj.org/problem?id=1971题目大意:给定n个点的坐标,问组成平行四边形的个数。解题思路:若两条线段相互平分,那么他们可以做为平行四边形的对角线。既然是相互平分,也就是说两条线段的中点相同,他们可以确定一个平行四边形。这样本题就有两种解法:一、将每个中点排序,然后统计相同中点的个数N,答案Ans += C(N,2),因为会有原创 2012-05-14 21:58:21 · 979 阅读 · 0 评论 -
Fzu 1353 Hardwood Species(数据结构_Hash)
题目链接:http://acm.fzu.edu.cn/problem.php?pid=1353 题目大意:给定100万个木头名称,相同的为一个种类,种类不超过1万,问每个种类出现的概率 解题思路:这题不复杂,简单排序同类的就扎堆了,然后直接判断也能卡时间卡过。正解是用Hash求解,由于每个名称最长是30,所以直接用个数组记录出现次数也不合适,会MLE.那就随机用原创 2012-05-11 23:46:13 · 773 阅读 · 0 评论 -
Hdu 1541 Stars (数据结构_线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1541题目大意:给定n个点的坐标,输入很有规律,先按y从小到大再按x从小到大。求在每个星星左下方的星星颗数,最后问颗数为0、1、2的情况各有几种。解题思路:在找字符串题目的时候找到这题,当时那个xx声称这题是Hash水题,所以我依然试水,但是写了一早晨的Has原创 2012-05-15 15:49:35 · 899 阅读 · 0 评论 -
Poj 2513 Colored Sticks (字符串_字典树(并查集))
题目链接:http://poj.org/problem?id=2513题目大意:给定若干个木棒,木棒两端有颜色,颜色用长度小于10的字符串描述,两根木棒能够相连当且仅当木棒两端颜色相同,问最后能把这些木棒连成一条直线吗?解题思路:一题很综合的题目,解题需要有三方面的知识:字典树、并查集、欧拉路。木棒两端可以理解为两点,木棒为边,利用题目的木棒就可以建图。原创 2012-05-17 15:19:52 · 1142 阅读 · 0 评论 -
Uestc 1558 Charitable Exchange (数据结构_线段树(DP))
题目链接:http://acm.uestc.edu.cn/problem.php?pid=1558题目大意:给定n个区间[begi,endi],表示能从begi转换到endi,每个区间都有一个权值ti,现在要从1转换到大等于m的一个状态,问最少的权值,如果没办法到达那个状态,输出-1。n解题思路:线段树优化DP。如果n很小,那么这题有好多解法,用最短路(如果两个区间相连就添原创 2012-07-06 00:42:50 · 913 阅读 · 0 评论 -
Hdu 4193 Non-negative Partial Sums (数据结构_单调队列)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4193题目大意:给定一个长度为n的循环序列,从n个不同位置开始,问有几个位置使得一下情况成立:所有前缀的和都大等于0(n 解题思路:下午做的swerc的G题,这题想成线段树敲了十多分钟,然后TLE了,尔后就去敲第一题Polya,拿了个FB。线段树之所原创 2012-10-16 02:18:50 · 1078 阅读 · 0 评论