- 博客(6)
- 收藏
- 关注
原创 Codeforces Round #523 (Div. 2) C. Multiplicity 【dp】
题目链接:http://codeforces.com/contest/1061/problem/C思路:像类似这种求有衔接关系的数列要第一时间想到 dp[ i ] = dp[ i ] + dp[ i - 1 ] 这种状态的dp,为什么?假设我要让一个原数组下标为 4的数变成下标为 3 的数,那么要想数列存在,那么 必须存在 至少一个 长度为2的数列,在这些数列的尾部加上这个原数组下标...
2018-11-23 19:11:12 521 2
原创 POJ 2528 Mayor's posters 【离散化+线段树区间覆盖】
题目链接:http://poj.org/problem?id=2528思路:这里着重讲讲离散化的方式。离散化的方式是根据题目意思来选择的,不同的题目会有不同的离散化方式。这里题目要求的是在n次区间覆盖过后,求没被覆盖的海报有多少个; 题目给出可能的区间多达 1e7 ,如果用线段树的区间覆盖就需要开 4倍的空间,因为题目给出的空间有限,直接就用线段树显然是不行的。我们先从结果开始考虑...
2018-11-23 13:53:26 299
原创 poj 3468 A Simple Problem with Integers 【区间修改+区间查询(树状数组)】
题目连接:http://poj.org/problem?id=3468参考下面博客的公式:(公式关键是 a[i] = d[j] 是差分数组,只要修改d[L] 和 d[R+1] 的值就能通过求d数组的前缀和得到单个a[] 的值,只要把 a数组的前缀和通过包含 d数组的表达式表达出来,就能只修改d数组的两个值得到a的前缀和)https://www.cnblogs.com/lcf-2000...
2018-11-17 15:32:57 171
原创 树状数组求区间最大值 (单点修改)
以前一直把树状数组当作求前缀的工具,但事实上,树状数组是一种分块的方式,因为分块的方式比较独特,所以在求前缀的过程中非常方便;树状数组的实现原理就不讲了,这里要特别说明的是,lowbit(x) 不仅可以表示区间分块对应存储前缀的位置,同时还能够表示一个区间的长度,这个长度在求区间最大值的时候起到比较重要的左右,也是我之前没想到的部分;文字说明:求区间最大值 和 求区间和有很大的不同,因...
2018-11-16 15:43:49 4825 5
原创 树状数组区间修改+单点查询 (只能单点查询)
差分思想:假设有一个数列 a = { 2, 6, 9, 3, 7 }, 那么对应的差分数组b 有 , b = {2, 4, 3, -6, 4 }因为 b1 + b2 + b3 + ... + = a1 + (a2 - a1) + (a3 - a2) + ... + () = 由此通过求差分数组的前i和就能得到 的值;为什么要用差分数组来求 的值? 如果要修改的区间非...
2018-11-14 09:12:58 175
原创 LightOJ - 1248 Dice (III) 【概率】
题目链接:https://vjudge.net/problem/LightOJ-1248思路:期望等于 概率*结果,像类似这种结果为1的期望题,要灵活运用 E = 1/p 这个公式;(问的是抛色子的次数期望,你每次只抛一次,对应得结果肯定就是1)E = 1/p 是几何分布的一个公式,代表的意义就是当一个事件的概率是 p时,进行k次试验,前k-1次出现的都是(1-p)的情况,在第k次才...
2018-11-12 19:58:20 203
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人