零件加工 貪心 題解

2022-05-12 21:36:08 字數 1606 閱讀 1955

時間限制: 1 sec  記憶體限制: 128 mb

提交: 24  解決: 7

[提交] [狀態] [討論版] [命題人:外部匯入]

題目描述

工匠小k最近有n個零件需要加工。每個零件都需要ti天的時間來完成,每個零件每延遲一天加工都要繳納一定的罰金si。延遲的天數為從今天算起到該工作開始的那天,第乙個零件加工沒有罰金。現在小k想知道怎樣安排加工順序可以使他要交的罰金最少,最少是多少。

這個數可能會很大,請輸出這個數對m取模後的結果。

輸入輸入檔名為process.in。

輸入第一行為乙個整數n,表示需要加工的零件總數。

第二行為乙個整數m,表示答案要對m取模。

第3~n+2行,每行兩個整數ti和si。

輸出輸出檔名為process.out。

輸出僅一行,乙個整數,表示小k最少要繳納的罰金對m取模的結果。

樣例輸入

2

100

2 33

33 2

樣例輸出
4
提示

【輸入輸出樣例解釋1】

先加工第乙個,需要2天時間,再加工第二個。需要繳納的罰金為2×2=4。

【輸入輸出樣例2】process.in

4100

3 36 4

2 28 5                                

process.out

81

【輸入輸出樣例解釋2】

如果按照1→2→3→4的順序進行加工,需要繳納的罰金為0×3+3×4+(3+6)×2+

(3+6+2)×5=85;

最佳方案是3→1→2→4,此時需要繳納的罰金為0×2+2×3+(2+3)×4+(2+3+6)×5=81。

【資料範圍】

對於40%的資料,0

i,si≤10,000;

對於80%的資料,0

i,si≤2×109,0

對於100%的資料,0

b06-貪心

這一道題看上去好難的樣子鴨 加油哦

上面是老師發的一段講解()(《若有》《所思》)

那麼既然正解都出來了 卡一卡試試吧

#include#define ll long long
using

namespace

std;

struct

nodearr[

100005

];int

cmp(node a,node b)

ll cheng(ll a,ll b,ll m)

return

ans;

}int

main()

cout

<

return0;

}

零件加工(貪心)

時間限制 1 sec 記憶體限制 128 mb 題目描述 工匠小k最近有n個零件需要加工。每個零件都需要ti天的時間來完成,每個零件每延遲一天加工都要繳納一定的罰金si。延遲的天數為從今天算起到該工作開始的那天,第乙個零件加工沒有罰金。現在小k想知道怎樣安排加工順序可以使他要交的罰金最少,最少是多少...

NOIP 加工零件 題解

加工零件凱凱的工廠正在有條不紊地生產一種神奇的零件,神奇的零件的生產過程自然也很神奇。工廠裡有 nn 位工人,工人們從 1 sim n1 n 編號。某些工人之間存在雙向的零件傳送帶。保證每兩名工人之間最多隻存在一條傳送帶。如果 xx 號工人想生產乙個被加工到第 l l gt 1 l l 1 階段的零...

加工零件 execution

題面 有 n 個零件需要加工。零件之間有 m 個限制,x y 表示 x 要在 y 之前先加工完。每個零件的加工時間都是 1。現在有無限個多個工具機,在滿足限制條件的情況下,零件可以同時加工。求加工完所有零件最少需要多少時間,然後還要求出在時間最少的前提下,最少需要多少工具機。資料保證有解。對於 10...