上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 27 下一页
摘要: 毒瘤数据卡普通莫队!! 这道题跟普通的莫队题目差不多,但是多了一个修改操作。 所以带修莫队就横空出世了。 普通莫队记录左端点和右端点,那么这里就再记录一个时间轴,表示当时已经执行过几次修改。 之后莫队模板就有六个while,前四个是一样的。 最后两个判断当前修改次数和目标修改次数的关系。这个就是灵魂 阅读全文
posted @ 2018-10-15 21:40 Garen-Wang 阅读(151) 评论(0) 推荐(0) 编辑
摘要: Flappy Bird真好玩(逃 这道题我一看上去好像是搜索啊,但是发现起点和终点都有点多了吧。。。 然后我就懵圈了。 其实这道题是一个套着皮的背包dp。 其实用dp想,很多问题就简单了。比如多个起点,我初值都设为0就行了;多个终点,我都找一遍就行了。 我自己试着不看题解自己用传统dp的思路(不夹杂 阅读全文
posted @ 2018-10-12 22:09 Garen-Wang 阅读(157) 评论(0) 推荐(0) 编辑
摘要: two pointers练习题。 这道题求的是一个最短的区间长度,满足其中所有的数字都出现。 暴力的做法是两次枚举,复杂度$O(n^2)$。 更优美的是尺取法,英文名叫two pointers。(两个指针。。。) 算法大概的过程是这样的: 其实真的是很优美的,代码也很短。 希望我能真的学会吧。。。 阅读全文
posted @ 2018-10-12 22:01 Garen-Wang 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 刷普及 打基础系列。。。 我的第一思路是把这个数组排序并去重,顺便算出去重后的每个数字在原数字中出现多少次。 发现我不会做。。。 然后其实可以有另一种做法: 把这些值扔进一个map里面,统计每个值出现的次数。 然后还是排序去重,在数组中挑出唯一的一个$B$,在map中找出$A$和$B$出现的次数。所 阅读全文
posted @ 2018-10-12 21:57 Garen-Wang 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 两种解法都解决了。。。 这道题有两种解法。 第一种是并查集补集,就是开两倍并查集空间,要隔离,就把一人的原集和另一个人的补集合并。 从大到小排序,直到无法合并的时候就输出,这个时候就是答案。 我之前做(chao)过,这里就不写了。 第二种是二分答案+二分图判定。 显然,答案希望是越来越小,因为被隔离 阅读全文
posted @ 2018-10-12 21:52 Garen-Wang 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 毒瘤题!!! 这道题刷新了我对线段树懒标记维护的新认识。 显然可以得到我们要的$p$是线段树中所有点权值的平方和,$q$是原数字的和。 现在我们引入一些要用到的值: val数组。表示一个点的权值。 ssum数组。表示该 子树 的所有节点权值的平方和。显然$p=ssum[1]$。 len数组。表示一个 阅读全文
posted @ 2018-10-11 22:03 Garen-Wang 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 差分约束复习题。 这道题给了好多个限制,我们可以把限制抽象成图论问题。 那些先决条件的,一般抽象为toposort还是DAG中的dp等问题求解。 而像这道题一样的一大堆不等式和等式,我们使用差分约束。 首先注意一下:差分约束有两种类型! 一种类似于$a[v] \leq a[u] + b$,这种对于$ 阅读全文
posted @ 2018-10-10 22:03 Garen-Wang 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 数学很重要!! dalao们扫这道题就说“二项式定理”。二项式定理是这个东西: $$(x+y)^n=\sum_{i=0}^{n}{C_n^i \ x^i \ y^{n i}}$$ 应该没打错。真的没打错。 二项式定理当然不仅只满足于这些变量系数只为1的,只要系数扔进变量里面一起去乘方就可以了。 那么 阅读全文
posted @ 2018-10-10 21:53 Garen-Wang 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 临考A水题系列。。。 这道题很水,就是让你求逆序对。 树状数组做的跑得慢我不学,我学归并排序的。 逆序对在$a[i] a[j]$的时候有两种贡献的算法: 1. 2. 我偏向于第一种,为什么呢?因为紫书里面写的就是第一种。 代码: cpp include const int maxn = 5e5 + 阅读全文
posted @ 2018-10-10 21:43 Garen-Wang 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 终于学会了多重背包和混合背包!! 我们熟悉的背包问题不过就是01背包和完全背包。 但是多重背包如何处理? 一种方法是单调队列,但是我不会。这里介绍比较简便的二进制分解。 比如一件重为19的物品,我们通过二进制讲它分解为1、2、4、8、4。 前面的数字显然是从1开始的等比数列,而最后的是这个数剩下的余 阅读全文
posted @ 2018-10-09 21:58 Garen-Wang 阅读(112) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 27 下一页