差分約束.
差分約束似乎精髓就兩句話:
所以對於本題的式子 \(ti-tj \leq b\) 可以寫成: \(t_i-b \leq t_j\).
然後就從 \(i\) 向 \(j\) 連一條 \(-b\) 的邊然後跑最長路即可.
按式子可以隨便搞.
#includeusing namespace std;
const int maxn=5008;
struct sja[maxn];
int kk,inf,n,m,cnt[maxn],flag;
int head[maxn],size;
int v[maxn],dis[maxn];
void add(int x,int y,int z)
void spfa(int s)
}v[x]=0;
}}int main()
memset(dis,127,sizeof(dis));
for(int i=1;i<=n;i++)
for(int i=1;i<=n;i++)
kk=min(kk,dis[i]);
for(int i=1;i<=n;i++)
printf("%d\n",dis[i]-kk);
}
P1260 工程規劃
差分約束板子 差分約束 把 i j x 操作等價於從 j 到 i 連一條邊權為 x 的邊。然後跑一遍spfa統計最短路,即為一組合法序列。這道題裡要求以乙個點為基準點 0 在跑完spfa之後統計最小的dis值,然後按順序輸出dis值減去這個最小值即可。另乙個問題是圖不一定連通,有兩個解決方法 1.建...
P1260 工程規劃
題目非常得簡潔明瞭,差分約束的裸題,甚至連不等式都給你寫出來了 沒什麼好分析的,直接看不等式建立方程 這裡把 ti 和 tj 都表示為 i 和 j 因為求的應該是最早的開始時間,我們應該轉化為 然後跑最長路求解 i j leq b j leq b i j geq i b 那麼就應該是從 i 到 j ...
題解 P1260 工程規劃
建議完成以下題目後在來看此題 題解哦。p3385 模板 負環 p5960 模板 差分約束演算法 核心演算法 差分約束 這幾乎是一道裸題 題中寫道 不等式形如 t i t j leq b 代表 i 和 j 的起始時間必須滿足的條件。每個不等式的右邊都是乙個常數 b 這些常數可能不相同,但是它們都在區間...