上一页 1 2 3 4 5 6 7 ··· 32 下一页
摘要: 题目链接 #题目大意 给一个字符串问这个字符串k个不同子串和的最小值。 #解题思路 很明显算出来空串的个数,长度为1的不同子串的个数,长度为2的不同子串的个数...长度为n的不同子串的个数,然后就可以计算出答案了。 长度为m的不同子串,即从n个字符里头选m个字符的不同选法,即C(n, m),等等,如 阅读全文
posted @ 2021-09-10 16:45 shuitiangong 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 给你一个字符串s和一个字符串t,问s中是否存在两个不重叠的子序列能首尾拼接构成t。 #解题思路 很容易想到一个$n4$的方法,枚举t的拆分的位置,然后dp[i][j]表示前一半匹配i个,后一半匹配j个时需要的长度,如果最后没法构成两个子序列,就表示这个方案不可行。枚举拆分的位置 阅读全文
posted @ 2021-09-09 15:23 shuitiangong 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 给你一个n个数的序列,你可以给他们异或上一个x,求一个最小的x使得异或之后序列的逆序对最少。 #解题思路 把所有的数字都插入字典树中,并且插入的每个节点都存一下插入的下标,那么对于一个节点来说,如果只有一个分支,那么挂在这个点上的所有数字从根到这个点为止数值都是一样的,那么就不 阅读全文
posted @ 2021-09-09 11:24 shuitiangong 阅读(78) 评论(0) 推荐(1) 编辑
摘要: 题目链接 #题目大意 给你一个字符串,问substr(l,r)第k次出现的第一个字符的下标。 #解题思路 对于所有满足条件的子串,以其首字母开头的所有后缀的lcp一定都是大于等于这个子串长度的,根据lcp的性质,\(lcp(i, j) = min(lcp(k_1, k_2), i \leq k_1, 阅读全文
posted @ 2021-09-07 11:58 shuitiangong 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #解题思路 从后缀数组的角度考虑,利用$lcp$的性质,\(lcp(i, j) = min(lcp(k_1, k_2), i \leq k_1,k_2 \leq j\)。那么对于所有“r相似”的后缀来说他们之间的$lcp$肯定是大于等于$r$的。我们可以考虑根据lcp的大小按顺序将所有后缀 阅读全文
posted @ 2021-09-06 14:59 shuitiangong 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #解题思路 考虑单独计算每个数的贡献,假设$[1,n]$中的某个数对答案有贡献,则这一行其他的数都要比它大,所以这一行其他数一共有$C(n2-i, n-1)$种选法,而这一行的方案数就是$n! \times C(n2-i, n-1)$,对于其他的数来说,不管它们是否小于$n$,随意放置都不 阅读全文
posted @ 2021-09-05 15:18 shuitiangong 阅读(67) 评论(0) 推荐(0) 编辑
摘要: #先看这个!先看这个!先看这个! 有些题是acwing活动里的,没有报名的话点进去会报404。没有acwing账号的同学先去注册一个账号,然后在活动页面最下方找到《算法竞赛进阶指南》打卡活动点击报名(免费的),刷新之后再点击你要访问的链接就可以看到题了。 #第一周 ##9月3日 快速幂 AcWing 阅读全文
posted @ 2021-09-03 15:01 shuitiangong 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 给你n个商品,对于每个商品可以选择三个操作之一: 1.以这个商品价格买入这个商品 2.如果之前买过某商品以这个商品价格卖出一个商品 3.什么也不做 #解题思路 先讲一个别的问题。对于A, B, C, D四个数,任你选出几对数求最大差值, 如果$A<B<C, B>D$,是有两种选 阅读全文
posted @ 2021-08-26 20:39 shuitiangong 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 给你一棵以1为根的树,询问树上两点之间的路径点权在[a,b]之间的点权和。 #(假的)解题思路1 树剖+主席树 看到题目就想到树剖+主席树,树剖之后按照dfs序建主席树,主席树用来维护权值信息,树剖用来查询链上的权值和(常数爆炸,卡时间过的)。 const int maxn = 阅读全文
posted @ 2021-08-24 15:27 shuitiangong 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 给你一个初始字符串s,你可以删除字符串s中的某个字符(比如删除'a'就是把s中的所有'a'删掉)得到一个字符串t,把t拼接到s后面,再在t中删除其他字符,继续拼接到s后面直到t为空,给你最后拼接出的数字,让你还原原来的数字并输出字符的删除顺序。 #解题思路 感觉输出字符的删除顺 阅读全文
posted @ 2021-08-19 21:20 shuitiangong 阅读(63) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 32 下一页