- 博客(8)
- 收藏
- 关注
转载 简要复习线段树
线段树(Segment Tree)的组成主要针对题目以下出现的k为线段树内代表区间的点的编号数据点的个数 n该点代表的区间各数之和 sum[4*maxn]该点代表的区间上改变的量 add[4*maxn]sum[k] 和 add[k] 的 区分比如说 , k代表的区间上每个数都加上num,则变化后的sum[k] = sum[k] + (区间长度) * num且...
2019-07-28 16:54:00
144
转载 [luoguP1967]货车运输
原题我做这道题可以说做的心力交瘁,累计做题2天半,重构代码1次,调试 无数次 , 面向数据编程 ,不过总算是过了思路很清楚,题解很多,是最大生成树 + 倍增lca求路径最小边权下面主要总结一下经验教训:一. 最大生成树的算法选择 和 原图未知连通性、环 的考虑问题算法选择题中的图非常随意,可能有环,也可能有相互不连通的两个甚至多个连通分量。这种情况下kruskal仍然可用(...
2019-07-24 15:05:00
177
转载 [luoguP1220]关路灯
原题像这种每一阶段有两种决策的题,千万不能像我一样,翻译题目条件朴素地解答。这样做的后果就是 你发现需要同时通过回溯获得两个值,很棘手。比如说 设你当前所处的位置为阶段,以向左关和向右关作为每个阶段的决策这样在每个阶段就会有走路步数、消耗功、关灯数量等三个状态。如果以关掉该灯所用时间来计算消耗的功,我们就需要从最后一个关掉的灯倒着推,因为后面所用时间你是无从知晓的,只能从上一...
2019-05-18 11:05:00
159
转载 [luoguP4677]山区建小学_不完全做法
原题一道绿题让我磨洋工磨了两个星期还行orz感觉做这种题还是做不到一步直达dp方程的水平,需要经历一个从普通爆搜,到记忆爆搜,最后再到dp转移的过程普通爆搜,漫无目的地模拟瞎找。眼瞧着这个鬼玩意儿没什么思路,别无他法。先选学校,每选完一次学校O(n*n)得结果,这样肯定是不行的。void dfs(int last,int left){ if(left==0){ ...
2019-04-28 08:32:00
173
转载 [luoguP2573]滑雪
原题在直接kruskal做法WA了n回,终于明白紫题不是我这种蒟蒻不撞南墙心不死就能做出来的,一定会用到我不知道的做法一开始dfs担心会超时,但实际上加vis遍历一遍图只是O(N)的复杂度,以实际为准left questions1.分离出可到达的边组成新图的条件和必要性加入不能到达的边会出错2.cmp以点的高度为第一关键字的原因从高处往低处加边,较高处点一定可以滑...
2019-03-31 10:48:00
121
转载 [luoguP1280]尼克的任务
原题神奇的一道没办法划分类别的dp题。看上去就像背包,有时间有费用但试了背包的做法发现不对啊,只能弄出最大费用或最小价值卡在从后往前转移什么,应该怎么转移的阶段上,没有意识到由于数据范围小,没有任务的空闲时间是可以直接加1解决的orz从后往前转移空闲的时间,以有任务的时间点作为转移阶段和决策点,以任务结束时对应的空闲时间作为转移对象。questions left从后...
2019-03-31 08:23:00
107
转载 [luoguP1156]垃圾陷阱
两天来一直在弄 垃圾陷阱 这道题,最开始竟然连dfs也不会写orz ,非常急躁地想要去做题,最后写出了一个结构和码风都非常差的剪枝dfs。数据很水,让我过了7个点然后就想着要改成记忆化搜索,结果因为不知道怎么处理生命的限制条件而无从下手。看到time这个维度可以删去,就删了,然后开三维数组。但因为结果有两种情况,返回了一种情况又想着怎么弄另一种情况,最后这种尝试在调试...
2019-03-16 12:01:00
200
转载 简要理解ST表
ST表注:ST表需要用到倍增算法;ST表实质上是一种DPST表的作用快速查询区间最大值和区间最小值前提:倍增我们读入了一个长度为n的数列,用a[1]~a[n]存储。然后我们不由分说地先算出数列中第1~n-1个数的 后两个数(包括它自身)中的最大值,比如说,第一个数后两个数的最大值=max(a[1],a[2])。a[n+1]不存在,所以不用计算a[n]后两个数的最...
2019-02-15 14:20:00
238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅