标签:rip 表示 schedule 包含 div jpg mission 磁头 std
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 666 Accepted Submission(s): 283
#include <iostream> #include <cstring> #include <cmath> using namespace std; const int MAX = 1005; const int inf = 1e9; int n; int a[MAX]; //记录数据的扇区位置 int d[MAX][MAX]; int dist(int i, int j); void dp(); int main(){ //freopen("input.txt", "r", stdin); int T; cin >> T; while(T--){ cin >> n; a[0] = 0; int maxT; //记录最大的轨道 for(int i=1; i<=n; i++){ cin >> maxT >> a[i]; //因为来回一次将所有数据取完,所以变换轨道所用的时间是固定的,与其无关 } dp(); int ans = d[n][n-1] + dist(n-1, n); cout << ans + 800*maxT + 10*n << endl; } return 0; } void dp(){ //规定 i > j,计算出所有的 d[i][i-1] d[1][0] = dist(1, 0); for(int i=2; i<=n; i++){ d[i][i-1] = inf; for(int j=0; j<i-1; j++){ d[i][j] = dist(i, i-1) + d[i-1][j]; // j < i-1 d[i][i-1] = min(d[i][i-1], dist(j, i) + d[i-1][j]); // j == i-1 } } } int dist(int i, int j){ int t = abs(a[i] - a[j]); return min(t, 360 - t); }
HDU4824 disk schedure 双调欧几里得问题
标签:rip 表示 schedule 包含 div jpg mission 磁头 std
原文地址:http://www.cnblogs.com/lighter-blog/p/7220725.html