这是本文档旧的修订版!
无
fyh:
题目大意:$(n+1)*m$的矩形,起点在第一行的任意位置,可以选择向右走或者向下走,其中前$n$行每一行都有一段区间$a_i,b_i$,当属于这段区间的时候不能往下走,分别回答从第一行到$2到n+1$行的最短距离。
tag:数据结构,思维
做法:从$i$行到$j$行只考虑往下走一定是需要走$j-i$步,所以我们为了计算总步数,只需要令向右的步数最小即可。维护$dp_i$表示到第i列的最小向右步数,当我们在第1行的时候所有dp值全是0(因为起点任意选择),之后对于每一行不能往下走的区间$[a,b]$,$a\leq pos\leq b$,我们不能直接到pos,必须得先走到a-1然后再走到pos,所以此处的设$dp[a-1]=val,那么dp[pos]=val+pos-a+1$。之后每次答案我们只需要查询$min\{dp_i\}$即可。上述操作可以通过线段树实现,复杂度$O(nlogn)$
comment:考试时候没有调出来这种区间加值递增的线段树
wxg:
题目大意
tag:
做法:
comment:
hxm:
题目大意:
tag:
做法:
comment:
比赛:cfdiv2#666(ABCD),abc177(ABCDEF)
其中cfdiv2666的D博弈论只是看懂了结论,大概能想象,还不是很深刻理解结论。
计算几何模板细节完善