比较妙,巧妙运用了方程以及题目的性质
1:最简单
通过推式子,得到一个单调递增的横坐标,然后一直维护一个下凸包,然后每次贪心取队首就好了
(感性证明,你每次任意画几个点,发现下凸包与该点的连线的截距是最短的)
2:稍有思考
此时这个每次决策的横坐标并不递增了
于是乎就会出现该点在下凸包上的尴尬情况,于是乎
因为这个是下凸包
每次只要找到第一个不满足后者比前者跟优的情况就好了
每次就要二分一个决策 使其满足截距最小。。。
3:更深入
此时凸包也不递增了。。。
但横坐标又递增了
好像倒序dp就好了
咕咕%%
4:比较困难
就是凸包又不递增,横坐标又不递增。。。。
一开始我是没什么想法的。。没有想过
但套用平衡树好像可以有效解决
因为他要动态维护一个凸包。。。嘛
这个只是一种在凸包上做骚操作的思想
实际上的用处比这个多得多