題目鏈結
題意:某個人從起點開車,他的速度是非遞減的,給出他走過的一些位置,他走過這些位置的時候當前時間是整數,問走到最後乙個點用的最小時間是多少
思路:開始的時候沒把樣例過出來,沒有思路,,看了網上部落格以後才恍然大悟,,,因為速度你可以任意給定,而且求最小時間,那麼只要每乙個點到下乙個點的時間是整數即可,那麼貪心思想,最後的速度最大,那麼我們直接讓最後一段的時間為1s,一定是最優的,然後倒著往前推,看後一段的速度在當前段是否可行(能被距離整除就可行),不可行的話讓時間+1,然後再根據時間算出改變後的速度即可。
**:
#include
#include
#include
using namespace std;
#define eps 1e-6
typedef long long ll;
const int n
=1e5+10
;int a[n]
;int main()
}printf
("case #%d: %lld\n"
,cas++
,t);
}return0;
}
HDU 5935(貪心 卡精度)
題意 一輛車在路上直線走,它的速度是不減的,現在有一些該車路過的座標,測的時刻是整數時刻,最後乙個測值位置點是終點。問車開到終點的最少用時?思路 因為速度是勻速或遞增的,所以要想用時最少,最後一段路程用時就為1,速度就是這段路程,然後往前遞推求速度。有兩種情況 1 如果後一段速度 前一段路程,說明前...
hdu1285 hdu4857 拓撲排序
一 原題內容 problem description 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在...
樹狀陣列 hdu2689 hdu2838
題意 給定乙個正整數n,和乙個1 n的乙個排列,每個數可以和旁邊的兩個數的任意乙個交換,每交換一次總次數就要加一,問將這個排列轉換成乙個遞增的排列需要多少次交換?題意可以轉換成求這個排列的逆序對數。include include include include using namespace std...