• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
dwtfukgv
博客园    首页    新随笔    联系   管理    订阅  订阅

随笔分类 -  数据结构

上一页 1 2 3 4 5 6 7 ··· 11 下一页
UVa 10829 L-Gap Substrings (后缀数组+rmq)

摘要:题意:给定上一个串,问你多少种UVU这一种形式的串,其中U不为空并且V的长度给定了。 析:枚举 U 的长度L,那么U一定是经过 0 L 2L 3L .... 其中的一个,所以求两个长度反lcp,一个向前延伸lcp1,一个向后延伸lcp2,然后加起来,要保证每个都不超过L,否则就会重复,然后个数就是 阅读全文
posted @ 2017-10-05 09:55 dwtfukgv 阅读(303) 评论(0) 推荐(0)
BZOJ 1503 郁闷的出纳员 (treap)

摘要:1503: [NOI2004]郁闷的出纳员 Description OIER公司是一家大型专业化软件公司,有着数以万计的员工。作为一名出纳员,我的任务之一便是统计每位员工的 工资。这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资。如果他心情好 ,就可能把每位员工的工资 阅读全文
posted @ 2017-10-03 20:30 dwtfukgv 阅读(205) 评论(0) 推荐(0)
POJ 3580 SuperMemo (Splay)

摘要:题意:给出一个数字序列,有6种操作: ADD x y d: 第x个数到第y个数加d 。 REVERSE x y : 将区间[x,y]中的数翻转 。 REVOLVE x y t :将区间[x,y]向右循环旋转 t 次,如1 2 3 4 5 旋转2次后就变成4 5 1 2 3 。 INSERT x p 阅读全文
posted @ 2017-10-03 14:12 dwtfukgv 阅读(259) 评论(0) 推荐(0)
LightOJ 1428 Melody Comparison (KMP + 后缀数组)

摘要:题意:给定两个串A,B,问你A有多少不同的子串,并且不包含B。 析:首先A有多少个不同的子串,可以用后缀数组来解决,也就是 n - sa[i] - h[i] + 1。但是要是不包含B,可以先预处理A和B,把B在A中的位置都记录下来,然后在找不同子串的时候,走到匹配的位置就停止,如果再向后找就肯定包含 阅读全文
posted @ 2017-10-02 14:43 dwtfukgv 阅读(207) 评论(0) 推荐(0)
BZOJ 4326 NOIP2015 运输计划 (二分+树上差分)

摘要:4326: NOIP2015 运输计划 Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 1930 Solved: 1231[Submit][Status][Discuss] Description 公元 2044 年,人类进入了宇宙纪元。L 国有 n 个 阅读全文
posted @ 2017-09-30 18:48 dwtfukgv 阅读(240) 评论(0) 推荐(0)
HDU 6065 RXD, tree and sequence (LCA+DP)

摘要:题意:给定上一棵树和一个排列,然后问你把这个排列分成m个连续的部分,每个部分的大小的是两两相邻的LCA的最小深度,问你最小是多少。 析:首先这个肯定是DP,然后每个部分其实就是里面最小的那个LCA的深度。很容易知道某个区间的值肯定是 [li, li+1] .. [ri-1, ri]这些区间之间的一个 阅读全文
posted @ 2017-09-29 23:07 dwtfukgv 阅读(305) 评论(0) 推荐(0)
Gym 101201J Shopping (线段树+取模)

摘要:题意:给定 n 个物品,然后有 m 个人买东西,他们有 x 元钱,然后从 l - r 这个区间内买东西,对于每个物品都尽可能多的买,问你最少剩下多少钱。 析:对于物品,尽可能多的买的意思就是对这个物品价格取模,但是对于价格比我的钱还多,那么就没有意义,对取模比我的钱少的,那取模至少减少一半,所以最多 阅读全文
posted @ 2017-09-23 10:09 dwtfukgv 阅读(551) 评论(0) 推荐(0)
BZOJ 2002 Bounce 弹飞绵羊 (分块或动态树)

摘要:2002: [Hnoi2010]Bounce 弹飞绵羊 Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时 阅读全文
posted @ 2017-09-13 17:10 dwtfukgv 阅读(219) 评论(0) 推荐(0)
HDU 4010 Query on The Trees (动态树)

摘要:题意:给定一个棵树,有四种操作, 1 连接两棵树, 2 把两棵树分开, 3 给 a 到 b 路径上的每个点加一个权值 w, 4 询问 a 到 b 的最大值。 析:最大值,很明显是要维护的,然后用就是一个裸板动态树。 代码如下: 阅读全文
posted @ 2017-09-11 22:33 dwtfukgv 阅读(204) 评论(0) 推荐(0)
HDU 6194 string string string (后缀数组)

摘要:题意:给定一个字符串,问你它有多少个子串恰好出现 k 次。 析:后缀数组,先把height 数组处理出来,然后每次取 k 个进行分析,假设取的是 i ~ i+k-1,那么就有重复的,一个是 i-1 ~ i+k-1,另一个是 i ~ i+k,但是这样就删多了,再加上 i - 1 ~ i+k,这样就OK 阅读全文
posted @ 2017-09-10 21:12 dwtfukgv 阅读(257) 评论(0) 推荐(0)
POJ 2152 Fire (树形DP)

摘要:题意:给定一棵树,要建立一些消防站,并且每个结点到最近一个的消防站的距离不能超过limit i,在每个结点建立消防站要花一定的费用cost i,求最少的花费是多少。 析:想了很久,确实是没想出来怎么做,dp[i][j] 表示 i 结点依赖 j 结点的最小花费,然后ans[i] 表示 以 i 为根结点 阅读全文
posted @ 2017-09-06 21:04 dwtfukgv 阅读(192) 评论(0) 推荐(0)
BZOJ 2243 染色 (线段树+树链剖分)

摘要:2243: [SDOI2011]染色 Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段), 如“112221”由3段组成:“11”、“222”和“1”。 请 阅读全文
posted @ 2017-09-05 21:03 dwtfukgv 阅读(215) 评论(0) 推荐(0)
HDU 5792 World is Exploding (离散化+树状数组)

摘要:题意:给定 n 个数,让你数出 a < b && c < d && a != b != c != d && Aa < Ab && Ac > Ad。 析:首先,给的数太大了,先要进行离散化处理,然后先算出Aa < Ab 和 Ac > Ad。这可以用树状数组解决,一个正向的,一个反向,同时再求出四种数, 阅读全文
posted @ 2017-09-03 11:00 dwtfukgv 阅读(153) 评论(0) 推荐(0)
UVa 11996 Jewel Magic (splay + Hash + 二分)

摘要:题意:给定一个长度为n的01串,你的任务是依次执行如表所示的m条指令: 1 p c 在第p个字符后插入字符,p = 0表示在整个字符串之前插入2 p 删除第p个字符,后面的字符往前移3 p1 p2反转第p1到第p2个字符4 p1 p2输出从p1开始和p2开始的两个后缀的LCP。 析:对于前三个操作, 阅读全文
posted @ 2017-08-30 20:57 dwtfukgv 阅读(292) 评论(0) 推荐(0)
Gym 101190H Hard Refactoring (模拟坑题)

摘要:题意:给定 n 个区间,让你进行合并,问你最后的区间是,如果是空集,输出 false 如果区间是是 [-32768,32767] ,则是true。 析:进行区间合并,要注意,如果是 x >= 0 && x <= 32767 那么输出是 x >= 0,在这地方,真是错死了。。。。。。后来看了数据才知道 阅读全文
posted @ 2017-08-29 20:01 dwtfukgv 阅读(433) 评论(0) 推荐(0)
HDU 6162 Ch’s gift (线段树+树链剖分)

摘要:题意:给定上一棵树,每个树的结点有一个权值,有 m 个询问,每次询问 s, t , a, b,问你从 s 到 t 这条路上,权值在 a 和 b 之间的和。(闭区间)。 析:很明显的树链剖分,但是要用线段树来维护,首先先离线,然后按询问的 a 排序,每次把小于 a 的权值先更新上,然后再查询,这样就是 阅读全文
posted @ 2017-08-25 09:56 dwtfukgv 阅读(264) 评论(0) 推荐(0)
HDU 5977 Garden of Eden (树分治+状态压缩)

摘要:题意:给一棵节点数为n,节点种类为k的无根树,问其中有多少种不同的简单路径,可以满足路径上经过所有k种类型的点? 析:对于路径,就是两类,第一种情况,就是跨过根结点,第二种是不跨过根结点,分别讨论就好,由于结点比较大,所以采用分治来进行处理,优先选取重点作为划分的依据。 代码如下: 阅读全文
posted @ 2017-08-23 20:52 dwtfukgv 阅读(216) 评论(0) 推荐(0)
51Nod 1554 欧姆诺姆和项链 (KMP)

摘要:题意:中文题。 析:首先要使用KMP的失配函数 f ,对于长度为 i 的串,如果存在循环节那么 i % (i-f[i]) == 0,循环节的长度就是 i - f[i] ,当然次数就是 i / (i-f[i]),对于这个题,如果恰好是一个循环节,也就是 i % (i-f[i]) == 0,那么这个串一 阅读全文
posted @ 2017-08-21 15:03 dwtfukgv 阅读(210) 评论(0) 推荐(0)
HDU 6153 A Secret (KMP)

摘要:题意:给定两个串,求其中一个串 s 的每个后缀在另一个串 t 中出现的次数。 析:首先先把两个串进行反转,这样后缀就成了前缀。然后求出 s 的失配函数,然后在 t 上跑一遍,如果发现不匹配了或者是已经完全匹配了,要计算,前面出现了多少个串的长度匹配也就是 1 + 2 + 3 + .... + j 在 阅读全文
posted @ 2017-08-19 21:49 dwtfukgv 阅读(186) 评论(0) 推荐(0)
UVa 1513 Movie collection (树状数组)

摘要:题意:给定给你一叠DV,编号1到n,1在最上面,n在最下面。然后现在给你m个操作,每次都指定一张CD,问要拿走这个CD需要挪走上面多少张CD,并且这个要拿走的CD放在这个叠CD的顶端。 析:这个题要倒着来做,我就是正着做的,太复杂了,因为每次操作后,都要再重新处理后面的数,时间复杂度太高。 如果是倒 阅读全文
posted @ 2017-08-18 12:42 dwtfukgv 阅读(281) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 11 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3