随笔分类 - hihocoder
摘要:题意:有一个技能学习表,是一个DAG,要想正常学习到技能x,要将指向x的技能全部先学到,然后会有一个正常花费cx。然后你还有一种方案,通过氪金dx直接获得技能x。你还可以通过一定的代价,切断一条边。问你学得指定的技能N的最小代价。 源点向每个点连接代价为cx的边,每个点拆点,内部连接代价为dx的边,
阅读全文
摘要:题意:给你两个只由1~6组成的串,问你B串至少要经过几次操作变成A串。 一次操作要么选择一个种类的数,将其全部变成另一种类;要么选择一个数,将其变为另一个数。 可以证明,一定先进行一定数量的第一种操作,然后再进行一定数量的第二种操作。 所以可以BFS预处理序列每种数要变成哪种数所需要的代价。初始状态
阅读全文
摘要:题意:平面上n个点,问你是否存在一种黑白染色方案,使得对于该方案,无法使用一条直线使得黑色点划分在直线一侧,白色点划分在另一侧。如果存在,输出一种方案。 如果n<=2,显然不存在。 如果所有点共线,且n>2,只需交替染色即可。 设凸包上的点数为K,如果K==n,且n==3,不存在,如果n>3,只需交
阅读全文
摘要:题意:给你一个序列(长度不超过2^17),支持两种操作:单点修改;询问区间中最小的ai*aj是多少(i可以等于j)。 只需要线段树维护区间最小值和最大值,如果最小值大于等于0,那答案就是minv*minv; 如果最大值小于等于零,那么答案就是maxv*maxv; 要是最小值小于零,最大值大于零,答案
阅读全文
摘要:题意:给你一个串,仅含有a~g,且每个字母只出现最多一次。和一个光标初始位置,以及一个目标串,问你最少要多少的代价变化成目标串。 有五种操作:在光标前添加一个未出现过的字母,代价1。 删除光标前或者光标后的字母,代价1。 光标左移或者右移,代价0.5。 哈希,把串弄成一个八进制数,加上一个光标位置,
阅读全文
摘要:解题方法提示 解题方法提示 小Hi:我们已经学习了后缀自动机,今天我们再来看这道有意思的题。 小Ho:好!这道题目让我们求的是若干的数字串所有不同子串的和。 小Hi:你能不能结合后缀自动机的性质来思考如何解决本题? 小Ho:这道题目既然是关于子串,那么我知道从后缀自动机的所有状态中包含的子串的集合恰
阅读全文
摘要:解题方法提示 解题方法提示 小Hi:上次我们已经学习了后缀自动机了,今天我们再来解决一个用到后缀自动机的问题。 小Ho:好!那我们开始吧! 小Hi:现在我们要对K=1..length(S)求出所有长度为K的子串中出现次数最多的子串的出现次数。小Ho你有什么想法么? 小Ho:我有一个Naive的想法。
阅读全文
摘要:解题方法提示 解题方法提示 小Hi:本周的题目其实就是给定一个字符串S,要求出S的所有不同子串的数目。小Ho你知道如何快速求解么? 小Ho:我们最近在讨论后缀自动机,所以肯定是和后缀自动机有关!根据上周学习的SAM的基本概念和性质,SAM的每个状态st都包含了一部分S的子串,记作substrings
阅读全文
摘要:时间限制:10000ms 单点时限:1000ms 内存限制:256MB 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi:今天我们来学习一个强大的字符串处理工具:后缀自动机(Suffix Automaton,简称SAM)。对于一个字符串S,它对应的后缀自动机是一个
阅读全文