随笔分类 - HDU
摘要:题目链接:hdu 4641 K-string 题意: 一开始给你一个字符串S,现在有m个操作。 1 x表示在当前字符串末端添加一个字符x。 2 表示查询当前出现次数超过k次的子串有多少个。 题解: 后缀自动机在线维护right集。 没插入一个字符,就沿着fail跳,如果当前节点大于等于k的就不用再跳
阅读全文
摘要:题目链接:hdu 5575 Discover Water Tank 题意: 有一个大水箱,里面有N-1个隔板,将这个大水箱分成了N个小水箱,每个隔板有一定的高度。 现在有m条信息,每条信息表示第x个水箱的y高度是否有水。 现在有一些信息有矛盾,问你最多可以选多少条信息出来,他们相互都不矛盾。 题解:
阅读全文
摘要:题目链接:hdu 4416 Good Article Good sentence 题意: 给你一个串A和n个串B,问你A有多少个子串不是这n个B的子串。 题解: 将A串建立后缀自动机,对于每个B串都拿去匹配一下,并记录后缀自动机中每个节点的最大匹配长度。 然后拓扑排序,更新每个节点的fail节点。最
阅读全文
摘要:题目链接:hdu 5521 Meeting 题意: 有n个点,m个集合,每个集合之间的点到达的时间是相同的。 问一个人从1出发,一个人从n出发,他们相遇的最小时间是多久。 题解: 对于第i个集合,新设立一个点n+i,然后addedge(n+i,x,time),addedge(x,n+i,time)
阅读全文
摘要:题目链接:hdu 5517 Triple 题意: 有n个两元组A,有m个三元组B,然后set C有一个计算方式。 现在让你找set TOP的size。 题解: 理解题意后,显然对于每个b的分组,只有最大的a才有贡献, 然后就可以发现set B中每个元素按照e分组后,只会对应一个a,所以最多有1e5个
阅读全文
摘要:题目链接:hdu 5008 Boring String Problem 题意: 给你一个字符串,有q个询问,每次询问该字符串所有的子串中字典序第k小的是哪个串,输出位置,如果有多个位置,输出最靠左的那个。 题解: 后缀数组求完height后,求一下字典序第i的后缀有多少个不同的子串,然后求一下前缀和
阅读全文
摘要:题目链接:hdu 4622 Reincarnation 题意: 给你一个串,然后有q个询问,每次询问区间有多少个不同的子串。 题解: 后缀自动机n^2预处理,O(1)回答。 对于每插入一个字符,该字符串新增加的不同的子串的个数为ml[p]-ml[pre[p]]。ml为最大步长 1 #include<
阅读全文
摘要:题目链接:hdu 6025 card card card 题意: 有n对数(a,b),现在你可以将前x对(a,b)移到尾部。 操作完后,现在定义sum=ai-bi (1,x),当sum<0时,当前的价值为Σai (1<=i<=x-1)。 问你移动前多少对(a,b),使得价值最大,如果有多个答案,输出
阅读全文
摘要:题目链接:hdu 6194 string string string 题意: 给你一个字符串,给你一个k,问你有多少个子串恰好在原串中出现k次。 题解: 后缀数组求出sa后,用height数组的信息去找答案。 每次用k长度的区间去卡height数组,求出该区间的lcp。 该区间的贡献就是ans=lc
阅读全文
摘要:题目链接:hdu 6191 Query on A Tree 题意: 给你一棵树,每个节点有一个值,现在有q个询问,每个询问 询问一个u x,问以u为根的子树中,找一个节点,使得这个节点的值与x异或的值最大,输出那个最大的值。 题解: dfs序和一棵可持久化字典树就搞定了。 1 #include<bi
阅读全文
摘要:题目链接:hdu 6183 Color it 题意: 在一个二维平面上有n个操作。 1. x y c 在(x,y)这点上添加一个颜色c。 2. x y1 y2 询问二维平面[1,x]~[y1,y2]上有多少不同的颜色。 题解: 由于这题在x轴每次都是询问的[1,x],所以我们开50棵线段树,对于每种
阅读全文
摘要:题目链接:hdu 6161 Big binary tree 题意: 给你n个点,和m条操作,一开始n个点构成一个完全二叉树,每个点的权值为该点编号。 每个操作可能为 1.询问经过x点的最大路径(该路径上的点权之和最大)。 2.修改x点的权值。 题解: 下面是官方题解 考虑dp,f(x)表示从点x开始
阅读全文
摘要:题目链接:hdu 6166 Senior Pan 题意: 给你一张有向图,现在选出k个点,问这k个点中,所有的点对的距离中,最短的那条是多少。 题解: 官方题解说的很清楚了。 类比cf 835E,枚举二进制位按照标号当前位为1 和当前位为0分为两个集合,每次求解两个集合之间的最短路即可覆盖到所有的点
阅读全文
摘要:题目链接:hdu 6162 Ch’s gift 题意: 给你一棵树,树上每个点有一个权值,现在有m个询问,每次询问给你一个s,t,L,R,问你从s到t的路径上,权值在[L,R]内的总和为多少。 题解: 我感觉我写复杂了,用树链剖分来维护路径,然后用主席树来建立权值线段树乱搞。 1 #include<
阅读全文
摘要:题目链接:hdu 6133 Army Formations 题意: 搞了一圈,最近就是让你输出每个点的答案,每个点的答案计算为将一该点为子树的全部的点的权值排序,求一下前缀和的前缀和。 题解: 由于是求前缀和的前缀和,考虑用树状数组,对于每插入一个数x,他的贡献为sum(x-1)+当前比他大的个数*
阅读全文
摘要:题目链接:hdu 6149 Valley Numer II 题意: 给你N个点,有k个为高点,其他为低点,现在这N个点有m条边,问你最多能组成多少个两个高点一个低点,低点和两个高点都有边相连这样的状态。 每个点只能出现在一个状态里面。 题解: 考虑将高点进行状态压缩一下。那么枚举每一个低点,看看能对
阅读全文
摘要:题目链接:hdu 6153 A Secret 题意: 给你两个字符串a,b,问你对于b的每个后缀在a中出现了多少次,然后输出sum{每个后缀的长度*该后缀在a中出现的次数}。 题解: 将a,b反转一下,然后跑一下kmp,在途中记录一下哪些位置匹配到了。 然后再倒着统计一下答案就行了。 1 #incl
阅读全文
摘要:题目链接:hdu 6136 Death Podracing 题意: 有n个人在一个环形的跑道上,第i个人有一个power i,每个人有一个起始点和一个不同的速度。 如果两个人相遇,那么power大的那个人就会将power小的那个人淘汰出局。 然后问决出胜负需要多少时间。 题解: 显然,每次有人被淘汰
阅读全文
摘要:题目链接:hdu 6156 Palindrome Function 题意: 给你一个L,R,l,r,问你在[L,R]内在[l,r]进制下有多少数是回文数,然后算一算贡献。 题解: 由于答案和该回文数的最高位有关(因为前导0不算)。 考虑dp[i][j][k],表示在i进制下,当前考虑到第j位,该数字
阅读全文
摘要:题目链接:hdu 6140 Hybrid Crystals 题意: 给你n个数,为你是否能选一些数出来加起来为k,这些数中有正有负,还有同时可为正可为负。 给的数据有个限制,就是后面的数比前面对应类型的总和都大。 题解: 从后往前贪心就行了。 不会证,不过Claris说贪心是对的。- -! 1 #i
阅读全文

浙公网安备 33010602011771号