摘要: 分块,顾名思义,就是把数据分成块来处理。个人觉得和分治差别不算很大,只不过分治是把问题变得小之又小,而分块则是规定了块的大小就不再改变。 因为分块在把数据分成块之后,块之间就各司其职,互不侵犯,所以我们关心的就是两个问题,块中要进行什么操作,以及块与块之间又有什么样的联系。 先来道分块模板题 洛谷P 阅读全文
posted @ 2020-03-09 23:52 Y-KnightQin 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 这类题我觉得难度与数论题相当,因为期望概率本质上也是一个数学推理的过程,所以有些题做起来可谓是十分自闭。 洛谷P2473 首先这道题目很有意思,它题目要求求出期望值,且可不可选此物与之前选过什么物品有关,所以状态可以记录成前面已经选过什么物品。 然后这题的精髓之处就是要倒着推导状态,为什么要倒着推呢 阅读全文
posted @ 2020-03-01 20:34 Y-KnightQin 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 最近一下碰见两道思路一样的题目,我觉得有必要记录一下这两道题目的解法。 第一道:牛客2020寒假集训题day4子段异或 题目大意:输入一个数列a,你需要输出其中异或值为0的不同子段的数量。 第二道:计蒜客CTU Open Contest 2019 G 题目大意:给定一个字符串 s ,从中选定一个最长 阅读全文
posted @ 2020-02-27 22:56 Y-KnightQin 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 三分应用于最优化问题的求解。在解题时没必要给出证明,只要知道问题不满足单调性,就可以尝试用三分搜索极值点,而且三分整数很少见,因为除非能够证明这种策略是正确的(即完全符合凸函数的性质,但是通常极值点不会在整点取得,如果三分整数,那么函数也不是连续的了),否则很可能会错误,而三分应用在小数中是最常见的 阅读全文
posted @ 2020-02-26 23:04 Y-KnightQin 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 大一上学了线代,脑子里面还没有对线代的具体应用有过认识,听说以后机器学习什么的会用上,但好像学到的时候线代知识也容易忘了…… 那么今天就说说在oi里面,我用到线代的知识的题目吧。 矩阵快速幂。 这类题目主要是用来推导公式的,比如经典的斐波那契数列就可以用上这个。 F【n】=F【n-1】+F【n-2】 阅读全文
posted @ 2020-02-25 23:52 Y-KnightQin 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 牛客2019多校联盟Day7 Fine the median 题意: 每次给数组插入区间[Li,Ri] 内的所有数,每操作一次查询中位数。 遇到这题真的算是巧合,然而就是这种冥冥之中的缘分,给了我线段树的一个全新的思想。 这题与以往的线段树做法有所不同,常规的线段树题目,可能就是一个点区间代表一个数 阅读全文
posted @ 2020-02-25 17:13 Y-KnightQin 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 树形dp,在没有写过之前还以为十分的难,其实掌握了基本的几种之后还是比较容易的。 还是回到做dp最难的一个步骤,如何定义状态? 我们对于一颗树,无非考虑的问题有几个,当前的根是谁?它的左右孩子如何处理?我们探讨一下这个几个问题。 我将用题目来一起代入,算是树形dp入门题了。 先来一道普适性最高的题目 阅读全文
posted @ 2020-02-17 16:17 Y-KnightQin 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 本文题目都是状压dp 洛谷P1879 [USACO06NOV]玉米田Corn Fields 首先来一道入门题目,题目大意是求一共有多少种种植方案?限制条件两个:一是只能在给定的一个图里面标记为1的那块田才能种草地;二是草地不能连续,即只能独立存在,上下左右都不能种草。 我们可以看到n m 比较小的时 阅读全文
posted @ 2020-02-12 17:15 Y-KnightQin 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 有一类题目,当你看完题目时,感觉也就那样。 就是两个人,可能一个笨一个精,或者可能两个都非常聪明,然后看谁能赢得比赛。当你觉得这种题目好像很显而易见开始写代码的时候,你写着写着就会被脑子里面的一些奇葩想法所打断。这个人会不会突然搞这出,那个人会不会突然打乱你下一步的操作。然后越想越乱,最后无从下手。 阅读全文
posted @ 2020-02-07 22:07 Y-KnightQin 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 树链剖分,顾名思义,它先通过轻重边剖分将树分为多条链,保证每个点属于且只属于一条链,然后再通过数据结构(树状数组、BST、SPLAY、线段树等)来维护每一条链。 这里我用的是线段树来维护,感觉应该算是最简单的,但这还是花了我一段时间去理解。//我觉得树链剖分讲解好的博客(https://www.cn 阅读全文
posted @ 2020-02-04 22:01 Y-KnightQin 阅读(159) 评论(0) 推荐(0) 编辑