[AHOI2014/JSOI2014] 解题报告
[AHOI2014/JSOI2014]
奇怪的计算器
一个很关键的结论,任何时候每个数的相对大小是不变的。
于是可以把这个相对大小当成线段树的权值,每次只需要维护一下区间极值和tag就好了,关于操作四,因为维护的是区间极值,所以可以直接确定是加谁的初始值。
tag并不会爆ll,因为每次要执行区间覆盖搞掉tag
骑士游戏
屑题,SPFA优化一下转移
宅男计划
先仍掉保质期短又贵的,然后可以脑补出送餐次数是凸的(鬼嘞...
三分送餐次数
然后发现一个结论,每次送餐吃的天数差不超过1一定是最优的,可以通过调整证明
然后天数确定了贪心就可以了
保龄球
最开始胡乱跑二分图跑了90分,后来发现是个假做法,可还行
然后去看了个爬山做法
每次随机一个每个点去哪个点和去的顺序就可以了
dp的不会...
支线剧情
每条边至少跑一次,跑一次有费用
可以建一个上下界最小费用可行流
拼图
从下往上一行一行处理,每个点预处理向上延伸长度
对于每行,拿右边一部分+完整的块+左边的块拼一下
拿堆按高度维护一下完整的块的长度,一个一个的拿走最低高度,扔到另一个集合里
对另一个集合维护一下每个高度的最长长度就可以了
可以直接可以持久化硬艹(恩注意一下左边右边不能来自一个块)
不过还可以发现每一行的高度个数不超过\(\sqrt 1e5\),离散化一下就可以直接暴力了