hdu5032
1000*1000的坐标格点(
1<=x<=1000,1<=y<=1000
),每个点有一个权值。每次查询某一斜率射线与
y=1,x=k
围成的三角形内部(包括边界)权值和
思路:按照斜率排序,边添点(点修改)边询问(前缀和)!!!(常见离线策略) 相当于两个指针:一个是修改的指针,一个是查询的指针,查询第i个询问时,将斜率不大于第i个询问的修改全部更新
hdu5035 指数分布的期望公式
hdu5036 期望计算公式+bitset优化闭包(最后一层循环用bitset操作替代)
hdu5037 贪心构造策略,模拟贪心过程计算最优解
hdu5039
hdu5029
树上操作:将链
<u,v>
<script type="math/tex" id="MathJax-Element-7">
</script>用颜色z染色
最终询问每个点被染的最多的颜色
树链剖分+线段树
简化问题:在区间[1..n]上支持两种操作:
1)用颜色z覆盖区间[x,y]
2)最后统计一次a[1..n]每个点被哪种颜色覆盖次数最多
做法:建立一颗颜色值线段树,维护当前状态下区间内被用到的最多颜色种类。
将修改操作改成两种操作:1.在扫描到x点时:add(z,1),2.在扫描到y+1点时:add(z,-1)。扫描过程是从1到n顺序扫描。
按照树链剖分中的id排序,边更改(点修改),边询问(区间最大值)
思想:将区间操作用差分思想改成端点操作。单点询问就变成了区间操作(区间最大值)