【NOIP2016提高A组模拟9.9】闭门造车
題目
自從htn體驗了一把飆車的快感,他就下定決心要閉門造車!但是他兩手空空怎么造得出車來呢?無奈的他只好來到了汽車零部件商店。
一走進商店,玲瑯滿目的各式零件看得htn眼花繚亂。但是他很快便反應過來:我只要買一套好的零件就行。首先它們的性能差不能太大,否則汽車的兼容性不好,開著開著就損壞了;其次,當然是越便宜越好了!為了打造一輛頂級跑車,htn陷入了沉思……
現在商店中有 N 件零件,給出這 N 件零件的價格,其性能等于價格。htn要從中購買一套零件,即選取這個序列的一個子串(連續一段)。要求如下:
1、這一套零件個數要大于等于2(這才算一套)。
2、這套零件的性能差為首尾兩個零件的性能差(htn覺得每一個都比較性能差實在是太累了)。
3、購買這套零件的價格和為它們各自價格的總和。
4、最終的總花費為 性能差2+價格和2。
5、由于商店最近有優惠活動,所以每一套零件的第一個都是免費的。對此毫無經驗的htn只好向經驗豐富的你求助了。
分析
不得不說,題面不錯。
講個水法,這里運用到著名的ljj水法,將\(O(n^2)\)暴力的第二層枚舉修改一下,只枚舉500個。
水法萬歲~(≧▽≦)/~
正解:
首先把問題轉化為下面這個式子:
\(Dis(i,j)=(a[i]-a[j])^2+(sum[i]-sum[j])^2\)
答案就是最近點對
轉載于:https://www.cnblogs.com/chen1352/p/9048137.html
總結
以上是生活随笔為你收集整理的【NOIP2016提高A组模拟9.9】闭门造车的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WFA 认证 启动 sigma_dut方
- 下一篇: Git同步本地项目文件到github