機器工作排程

2021-07-15 10:50:00 字數 897 閱讀 5224

acm模版

2臺機器,n件任務,必須先在s1上做,再在s2上做.

任務之間先做後做任意.求最早的完工時間.

這是乙個經典問題: 2臺機器的情況下有多項式演算法(johnson演算法),3臺或以上的機器是np-hard演算法。

johnson演算法:

(1)把作業按工序加工時間分成兩個子集,第乙個集合中在s1上做的時間比在s2上少,其它的作業放到第二個集合;

先完成第乙個集合裡面的作業,再完成第二個集合裡的作業.

(2)對於第乙個集合,其中的作業順序是按在s1上的時間的不減排列;

對於第二個集合, 其中的作業順序是按在s2上的時間的不增排列.

const

int maxn = 5e4 + 5;

struct

task

taska[maxn], taskb[maxn];

bool cmpa(task a, task b)

bool cmpb(task a, task b)

int main(int argc, const

char * argv)

else

}sort(taska, taska + posa, cmpa);

sort(taskb, taskb + posb, cmpb);

for (int i = 0; i < posb; i++)

int ans = taska[0].a + taska[0].b;

int sum = taska[0].a;

for (int i = 1; i < posa; i++)

cout << ans << '\n';

return

0;}

Crontab工作排程

systemctl status crond ps ax grep cron 命令 crontab u 使用者 crontab l 列出cron服務的詳細內容 crontab r 刪除cron服務 crontab e 編輯cron服務 比如說root檢視自己的cron設定 crontab u roo...

例行性工作排程

可以處理僅執行一次就結束排程的指令 使用 1.啟動atd服務並設為開機啟動 systemctl restart atd 重啟 systemctl enable atd 開機啟動 etc at.allow中的賬戶才能使用at etc at.deny中的賬戶不能使用at 如果兩個檔案都不存在只有root...

例行工作排程 crontab

例行工作,有點類似上班打卡,等等迴圈的工作 linux 工作排程的種類,at cron 一種是例行性的,就是每隔一定的週期要來辦的事項 crontab 一種是突發性的,就是這次做完以後就沒有的那一種 at 要想執行,必須啟動 atd 服務,啟動辦法 etc init.d atd restart ch...