上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 37 下一页
摘要: 题意:若两个字符开始的后面r个字符都一样,则称这两个字符是r相似的。它们也是r-1相似的。 对于r∈[0,n)分别求有多少种方案,其中权值最大方案权值是多少。此处权值是选出的两个字符的权值之积。 解:后缀自动机吊打后缀数组!!! 先看第一问,我们考虑后缀自动机上每个节点的贡献。显然cnt>1的节点才 阅读全文
posted @ 2019-01-27 22:58 huyufeifei 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题意:以trie的形式给出n个字符串,每次询问第x个字符串在第y个字符串中出现了几次。 解:总串长是n2级别的,所以不能用什么后缀自动机... [update]可以建triesam但是不知道trie上的一个节点对应到了sam上的哪几个节点...感觉可以做...好混乱 听说是个AC自动机上DP,然后怎 阅读全文
posted @ 2019-01-27 18:50 huyufeifei 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 大意就是把一棵树的点染成m种颜色,其中1号点的颜色必须染恰好k个节点。 总代价是所有两端点颜色相同的边的边权。 求最小代价。 解:可以分为m == 2和m > 2两个题。 m > 2时有代价的边的两端点显然是一号点色的(设为白色)。 m == 2的时候还要计算两端点是另外一种颜色的边的贡献(黑色)。 阅读全文
posted @ 2019-01-27 18:39 huyufeifei 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题意:给定序列,每次修改一个值,求前缀最大值的个数。 解:线段树经典应用。 每个节点维护最大值和该区间前缀最大值个数。 发现我们不用下传标记,只需要合并区间。 需要实现一个函数int ask([l r] lm)求出区间[l r]中前一个数是lm时前缀最大值个数。 那么当lm >= large[ls] 阅读全文
posted @ 2019-01-26 21:46 huyufeifei 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题意:给定森林,可以把两棵树连起来或者询问链上第k大。 解:启发式合并。 我一开始想到了启发式合并但是发现这样做之后一棵子树就不是一段连续的区间了,那就不能子树xxx了,很迷惘。 后来看了题解发现本来就不需要子树是连续区间...... 每次把小的树暴力DFS重构fa[][]和重建主席树。 调了半天是 阅读全文
posted @ 2019-01-26 21:33 huyufeifei 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题意:带修区间第k大。 具体来说,就是带修主席树模板题。 解:唔...不离散化的话疯狂卡常都过不去,离散化就A了...虽然还是很慢。 把主席树换成树状数组套动态开点线段树即可。 1 #include <algorithm> 2 #include <cstdio> 3 4 const int N = 阅读全文
posted @ 2019-01-25 22:47 huyufeifei 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题意:紫妹和幽香是17岁的少女,喜欢可爱的东西。 给定一棵树,有点权,边权。每次求所有权值在[l, r]范围内的点到点x的距离和。强制在线。 解:动态点分治怎么搞啊...... 一开始想的是权值的限制直接外层权值线段树就行了,关键是怎么批量求距离。 jxl想的是树上莫队的方法,括号序列。然后发现当x 阅读全文
posted @ 2019-01-25 22:44 huyufeifei 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题意:有n个任务,第i个的存在时间是li~ri,有个权值。求t时刻第k大的权值。 这毒瘤...本来是前缀和 -> 主席树,我是树套树...然后光荣TLE。 其实很裸。一开始我写的是每个位置维护一个权值线段树。因为要片改点查,就用差分 + 树状数组搞定了。然后超时... 仔细思考,发现不带修可以直接用 阅读全文
posted @ 2019-01-25 22:25 huyufeifei 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 题意:链上带修第k大。 这毒瘤题。。。别看题意只有7个字,能把我吊打死。。。 介绍其中两种做法好了。其实思想上是一样的。 对于每一个点,建立权值线段树,维护它到根路径上的所有权值。 一条路径上的点集就是x + y - z - fa z,此处z是lca x y 这样查询就可以轻易做到了。怎么建出来呢? 阅读全文
posted @ 2019-01-25 19:54 huyufeifei 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 神TM毒瘤线段树优化DP......新姿势get。 题意:有n个村庄,在里面选不多于k个建立基站。 建立基站要ci的费用。如果一个村庄方圆si内没有基站,那么又要支出wi的费用。求最小费用。 解:很显然想到DP,f[i][j]表示前i个村庄里面放了j个基站,其中第i个一定选的最小费用。费用只统计不超 阅读全文
posted @ 2019-01-15 11:49 huyufeifei 阅读(257) 评论(0) 推荐(0) 编辑
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 37 下一页
试着放一个广告栏(虽然没有一分钱广告费)

『Flyable Heart 応援中!』 HHG 高苗京铃 闪十PSS 双六 電動伝奇堂 章鱼罐头制作组 はきか 祝姬 星降夜