随笔分类 -  题型总结

摘要:NOIP2018提高组金牌训练营——字符串专题 1154 回文串划分 有一个字符串S,求S最少可以被划分为多少个回文串。 例如:abbaabaa,有多种划分方式。 a|bb|aabaa - 3 个回文串 a|bb|a|aba|a - 5 个回文串 a|b|b|a|a|b|a|a - 8 个回文串 其 阅读全文
posted @ 2018-10-23 20:06 Sugewud 阅读(707) 评论(0) 推荐(0) 编辑
摘要:地址 https://www.51nod.com/live/liveDescription.html#!liveId=23 1187 寻找分数 给出 a,b,c,d, 找一个分数p/q,使得a/b < p/q < c/d,并且q最小。例如:1/3同1/2之间,符合条件且分母最小的分数是2/5。(如果 阅读全文
posted @ 2018-10-22 19:25 Sugewud 阅读(444) 评论(0) 推荐(0) 编辑
摘要:之前一直是用二分 但是因为比较难理解,写的时候也容易忘记怎么写。 今天比赛讲评的时候讲了一种用树状数组求LIS的方法 (1)好理解,自然也好写(但代码量比二分的大) (2)扩展性强。这个解法顺带求出以i为结尾的LIS,而很多题要用到这个数组来做 而二分的做法求得是当前长度下的最小值,不容易拓展。 具 阅读全文
posted @ 2018-10-20 22:08 Sugewud 阅读(1454) 评论(0) 推荐(0) 编辑
摘要:dfs序可以维护一个子树内的信息 需要记录dfs进的时间以及所有子树都遍历完的时间 那么对于点i,L[i]到R[i]就是i的子树(包括i) 那么子树内维护信息就可以用树状数组,线段树之内的乱搞了。 poj 3321 用树状数组维护就好。 注意修改的时候一定是修改序列 阅读全文
posted @ 2018-10-18 18:20 Sugewud 阅读(240) 评论(0) 推荐(0) 编辑
摘要:矩阵 A×B 模板题。 感觉写完结构体就可以为所欲为了。 Fibonacci 第 n 项 大概总结一下构造矩阵的方法 我们可以构造一个1x2的矩阵 使得 A是一个2*2的矩阵 可以求得A是 0 1 1 1 矩阵快速幂即可 Fibonacci 前 n 项和 在矩阵中加入一个sn进去就好了。 构造矩阵记 阅读全文
posted @ 2018-10-14 14:36 Sugewud 阅读(519) 评论(0) 推荐(0) 编辑
摘要:bzoj 1053 比较经典的一道题。 首先要观察出一些结论 (1)质数不超过10个。前十个质数相乘已经超过最大值。 (2)质数的指数是递减的。如果不是,可以把指数小的和大的交换一下,答案更小。 然后就搜索就好了。 这是一类数论+搜索的题目,要从题目看出一些剪枝,然后搜索即可。 bzoj 1257 阅读全文
posted @ 2018-10-11 22:51 Sugewud 阅读(146) 评论(0) 推荐(0) 编辑
摘要:poj 2689 要对数据敏感,L和R很大,但是L-R很小。 可以在(R - L)loglogR的时间内用筛法筛出所有质数。 然后扫一遍就好了。 有些细节要注意,有些地方会爆int,0和1不能算进去。 bzoj 1607 用类似筛法的思想,每个数把它所有的倍数的答案都加1 可能有相同的数,所以要优化 阅读全文
posted @ 2018-10-11 18:32 Sugewud 阅读(129) 评论(0) 推荐(0) 编辑
摘要:「一本通 1.2 练习 2」扩散 显然联通块的个数是随时间越来越少的。 所以可以二分时间。 经过一波运算,可以得出两点需要联通的时间是 (abs(x[i] - x[j]) + abs(y[i] - y[j]) + 1) / 2 然后每次用并查集维护一下联通分块就好了。 第一次写这种开结构体的并查集, 阅读全文
posted @ 2018-10-10 19:22 Sugewud 阅读(142) 评论(0) 推荐(0) 编辑
摘要:和二分非常类似的一个算法,与二分不同的是 二分是单调的,而三分是一个先增后减或者先减后增 三分可以求出峰值。 注意三分一定是严格单调的,不能有相等的情况。 不过貌似只有求函数最值才用到这个东西,没有二分应用范围那么广。 「一本通 1.2 例 3」曲线 画画图可以发现,满足先减后增 图和雅礼集训里Me 阅读全文
posted @ 2018-10-10 18:17 Sugewud 阅读(2922) 评论(0) 推荐(1) 编辑
摘要:很好的讲解 注意两端的字符要不同,同时数组要开大一些 【Manacher】最长回文子串 阅读全文
posted @ 2018-10-10 17:09 Sugewud 阅读(152) 评论(0) 推荐(0) 编辑
摘要:大佬总结 这个玩意是可以动态维护第k大的值(比如中位数) 每次操作logn 我们要维护这两个堆。 我们可以以小根堆的堆顶为“分界线” 如果大于它,就加入小根堆 反之加入大根堆 如果两个堆的个数相差超过1, 就把多的那个堆的堆顶弹出来,加入另一个堆的堆顶 如果要求中位数的话,显然是两个堆中 个数多的那 阅读全文
posted @ 2018-10-08 19:32 Sugewud 阅读(1066) 评论(0) 推荐(0) 编辑
摘要:内容参考《算法竞赛进阶指南》 之前集训的时候听老师讲过,字符串题目中,hash一般不是正解,但是是一个优秀的暴力,可以拿比较多的部分分。 hash涉及内容很多,这里只讨论字符串hash 可以把字符串看成一个131进制位数,然后用ull储存,大过2的64次方后自动取模。 这样的话hash值相等的话可以 阅读全文
posted @ 2018-10-07 23:06 Sugewud 阅读(156) 评论(0) 推荐(0) 编辑
摘要:poj 1509 不知道为什么用算法竞赛进阶指南上的那个代码交上去会WA 正解在i == j只有j++。我自己是觉得没有什么区别的,迷。 AC代码 vijos 1382 好水。就处理出最小表示然后比较就好了。 阅读全文
posted @ 2018-10-07 22:43 Sugewud 阅读(130) 评论(0) 推荐(0) 编辑
摘要:模板 caioj 1177 KMP模板 caioj 1460: 【KMP】字符串匹配 重复子串结论 有一个结论。 对于字符串S[1~i],如果i % (i - next[i]) == 0,那么这个字符串就由很多个重复的子串构成(形如abababab) 每个循环节等于S[1~i-next[i]],循环 阅读全文
posted @ 2018-10-07 21:45 Sugewud 阅读(265) 评论(0) 推荐(0) 编辑
摘要:大佬总结 数列分块入门 1 数列分块入门 2 可以对每一个块进行排序,用vector存储每一个块的信息 可以发现lowerbond的值恰好就是小于x的个数 数列分块入门 3 用set简直太方便!!比vector方便多了!!set可以自动排序,增加删除都很方便。 数列分块入门 4 多开一个sum数组。 阅读全文
posted @ 2018-10-06 22:35 Sugewud 阅读(176) 评论(0) 推荐(0) 编辑
摘要:大佬总结 通俗有趣的讲解 二分图判定(染色法) poj 2492 二分图最大匹配 ——匈牙利算法 最小覆盖点集 = 最大匹配 poj 3041 把矩阵上的点转化成边。点(x,y)即把x和y连一条边。 最后答案即是最小覆盖点集,又知最小覆盖点集 = 最大匹配 所以敲一遍模板就好了 poj 1274 裸 阅读全文
posted @ 2018-10-04 21:48 Sugewud 阅读(121) 评论(0) 推荐(0) 编辑
摘要:之前的总结 区间相关问题 NOIP2018提高组金牌训练营——贪心算法专题 #10005. 「一本通 1.1 练习 1」数列极差 小的先处理,最后肯定最大 大的先处理,最后肯定最小 两个优先队列维护即可 #10006. 「一本通 1.1 练习 2」数列分段 每一段尽量大就好了,不想敲了。 #1000 阅读全文
posted @ 2018-10-04 19:21 Sugewud 阅读(112) 评论(0) 推荐(0) 编辑
摘要:题目来自《算法竞赛设计指南》 Tire树是一种可以快速查找字符串的数据结构 模板 例题.前缀统计 问题: 给n个字符串和m次询问,每次询问给定一个串T,输出有多少个字符串是T的前缀 解答:加入每个字符串的时候在结尾节点加1, 给T后在Tire树上搜一遍,加上沿途字符串结尾的值即可。注意可能有重复的字 阅读全文
posted @ 2018-10-02 21:19 Sugewud 阅读(183) 评论(0) 推荐(0) 编辑
摘要:基础算法 倍增 贪心 分块 二分 三分 数据结构 线段树 对顶堆 数学 质数 约数 同余 组合 矩阵乘法 图论 二分图判定以及最大匹配 字符串 Tire树 KMP 最小表示法 Hash Manacher 其他 雅礼集训 对拍教程 阅读全文
posted @ 2018-10-02 16:04 Sugewud 阅读(172) 评论(0) 推荐(0) 编辑
摘要:poj 1985(模板题) 先随便找个点dfs一次找到距离最远的点,再从那个点再同样dfs一次,那个点到其他点最长的距离即为树的直径 不过这种方法不适用于有负权边 还可以用树形dp 树的直径是由其中一个端点到其他端点的最远距离和次远距离组成的 可以用这个性质来dfs 树形dp其实更好写 然后发现其实 阅读全文
posted @ 2018-10-02 11:33 Sugewud 阅读(111) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示