題目大意:
乙個物品在2條生產線上加工,每條線上n(n<=1000)個節點,加工耗時為ai,j(i=1,2;j=1 2....n)
從其中乙個節點轉移到另一條生產線相同節點位置需要耗時ti,j(i=1,2;j=1 2....n)
放上生產線和放下生產線還需要e1,e2和x1,x2的時間。求最少加工時間。
題目思路:
【動態規劃】
動態規劃比較明顯,f[j][i]表示在第j條生產線上加工到第i個節點的最少耗時
只可能從j或者1-j的i-1號節點轉移得到。狀態方程很容易推出。
//
//by cool***
//#include#include#include#include#include#include#include#include#include//#include#include#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
#define abs(a) ((a)>0?(a):(-(a)))
#define lowbit(a) (a&(-a))
#define sqr(a) ((a)*(a))
#define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b))
#define eps (1e-8)
#define j 10000000
#define max 0x7f7f7f7f
#define pi 3.1415926535897
#define n 1004
using namespace std;
typedef long long ll;
int cas,cass;
int n,m,lll,ans;
int e1,e2,x1,x2;
int a[2][n],t[2][n],f[2][n];
int main()
} f[0][n]+=x1;f[1][n]+=x2;
ans=min(f[0][n],f[1][n]);
printf("%d\n",ans);
} return 0;}/*
////
*/
裝配線問題 動態規劃
裝配線問題 public class forth,通過裝配線上每個站所需時間 int b newint 一條裝配線上的 i 站到另一條裝配線上的 i 1 站所需的時間 int g newint 開始進入裝配線所需的時間 int e newint 出裝配線所需的時間 int dp newint 2 6...
動態規劃 裝配線排程問題
這個問題是在演算法導論的動態規劃章節有提到,由於問題敘述起來太繁雜就直接省略。命名規則與書上的偽 是一致的,只是用c 具體語言實現了而已。動態規劃問題 裝配線排程問題 pragma once class asl include alspro.h include include using names...
動態規劃 裝配線排程問題
具體題目詳見 演算法導論 第15章 動態規劃 利用動態規劃解決裝配線排程問題 配置檔案名稱是 stationinfo.txt 第一行為進入兩條線各花費的時間 第二行為離開兩條線個花費的時間 接下來六行為第一條線每個站點停留時間 每個站點到本線下一站點時間 每個站點到另一條線下乙個站點時間 最後六行為...