摘要: 好久没有写博客了,抽空写写最近遇到一些好玩的题目 碰撞攻击:http://120.78.128.11/Problem.jsp?pid=3311 比较适合做BSGS的入门题,题解就写在题目上,讲解通过碰撞方式,使得一些暴力算法的枚举量从O(n),下降到O(sqrt(n))方法。 麻婆豆腐:https: 阅读全文
posted @ 2018-06-16 15:21 强势围观 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 操作实例:https://blog.csdn.net/luoyexuge/article/details/72956491 中文文档:https://lightgbm.apachecn.org/cn/latest/index.html 阅读全文
posted @ 2018-04-29 16:09 强势围观 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 题目来源https://www.nowcoder.com/acm/contest/96/I 解题前们需要先知道几个结论: 首先,gcd是有区单调性的: gcd(L,R)>=gcd(L,R+d) ,因为每添加一个数,gcd只会变小或者不变。 其次,以L左端点的所有区间的【GCD的种类数】一般不超过15 阅读全文
posted @ 2018-04-24 22:15 强势围观 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 马拉车(Manacher)算法其实蛮简单的,我看了两眼居然就会了.............,早知道以前多看一眼 算法的核心在于先预处理字符串,将所有回文转化为奇回文讨论,然后在暴力枚举回文中心时,利用回文的对称性,快速计算回文半径,去掉一些不必要的比较,从而使得复杂度下降至O(n) 举个比较简单例子 阅读全文
posted @ 2018-04-09 15:53 强势围观 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 标题可能比较绕口,简单点说就是给你一个无序数列A={a1,a2,a3……an},如果你把这个序列排序后变成序列B,求序列B中相邻两个元素之间相差数值的最大值。 注意:序列A的元素的大小在[1,2^31-1]之间 首先,因为要O(n)查找,你不能对序列A进行排序。 不过我们有显而易见的一个结论那就是最 阅读全文
posted @ 2018-04-01 17:14 强势围观 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 虚树算法其实原理蛮简单的就是,从一颗n个结点的原树上在只取出必要结点成一颗新树,这颗新树必包含指定m个结点并保持原树上的祖孙关系。 首先我们来解答一些问题 问:什么样的结点是必要的呢?? 答:指定的m个结点和 这m个结点中任意两个结点的最近公共祖先。 问:为啥要包含最近公共祖先呢? 答:因为最近公共 阅读全文
posted @ 2018-04-01 12:41 强势围观 阅读(1449) 评论(0) 推荐(0) 编辑
摘要: 第十四届浙江财经大学程序设计竞赛重现赛-B题 https://www.nowcoder.com/acm/contest/89/B 可能最近,脑子有问题,看见数论题都是秒,学弟问我这题怎么做,结果我沉思了几分钟,居然秒了 首先题意是求[l,r]内与k互质的数的乘积%k的值。 首先我知道两个比较简单的结 阅读全文
posted @ 2018-03-26 21:20 强势围观 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 可以随意转载,但请附带原文地址http://www.cnblogs.com/qswg/p/8620602.html 问题的提出 有些情况下,操作是没有逆的操作,比如max函数。这导致我们没法通过删除端点来移动左指针。 所以直接用普通尺取来求区间最值是不可能的。 那么是否有办法是否在不支持删除区间端点 阅读全文
posted @ 2018-03-26 17:26 强势围观 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 才发现k-means 聚类这么简单,-_-|| 首先讲一下最朴素的k-means, 首先k-means 是一个迭代过程。 所以我们需要先确定初始,最简单的一个办法就是随机从样本中抽取k个出来,作为初始的聚类中心,并标号为1,2,3……k。 接下开始做迭代,每次迭代只分两步 1.将所有点进行标号,离这 阅读全文
posted @ 2018-03-21 23:01 强势围观 阅读(584) 评论(0) 推荐(0) 编辑
摘要: 参考的学习资料http://www.cnblogs.com/candy99/p/dj_s.html 阅读全文
posted @ 2018-03-16 17:09 强势围观 阅读(117) 评论(0) 推荐(0) 编辑