【題意】如同一家正常的列印店一樣,當列印的張數大於等於ai時每張列印件的費用為bi。保證ai遞增,bi遞減。
有m<=1e5個詢問,問當列印張數為qi時,最小費用是多少。
【分析】最小費用應該是按張數列印,或者是額外列印一定張數以減小總體費用。關鍵在於應該額外列印多少張。
我們可以利用bi遞減的這個性質。如果定義d=費用*限制張數,如果d
i<=d
i+
1d_i <= d_
di<=d
i+1
、則在額外列印的情況下,i號方案一定不優於第i+1號方案,應該被排除。按張數列印時,如果張數在s
is_i
si和si+
1s_
si+1
之間,則列印si+
1s_
si+1
張一定比按張數列印優秀,也可以排除。
所以我們可以構建乙個單調的序列,按di值單調遞增。每次二分找小於等於qi和最小的ai的值。答案就是qi∗
di
q_i*d_i
qi∗di
或ai+1
∗bi+
1a_*b_
ai+1∗
bi+1
【code】
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
const
int maxn=
1e5+
1000
;struct nodea[maxn]
;int n,m,cnt;
template
<
typename t>
inline
void
read
(t &x)
while
(tmp>=
'0'&&tmp<=
'9') x=
(x<<1)
+(x<<3)
+tmp-
'0',tmp=
getchar()
;x*=fl;
}inline
intub
(ll x)
return ans;
}int
main()
for(
int i=
1;i<=m;i++
)return0;
}
最小費用最大流 EK zkw費用流
來糊一篇部落格 順便可以記記模板啥的 廢話不多說直接進入正題 前置芝士 spf aspfa spfa 核心思想算是貪心吧 每次跑一遍spf aspfa spfa 以邊的費用跑一遍最短路,這樣可以確保找到一條費用最小的路徑,然後在跑的過程中計算出流量並記錄路徑,然後把路徑上的邊的流量都減掉就行了 模板...
模板 最小費用最大流 費用流
給出乙個網路圖,以及其源點和匯點,每條邊已知其最大流量和單位流量費用,求出其網路最大流和在最大流情況下的最小費用。既然是模板題,那麼資料肯定很水。我ek spf aek spfa 都過了。費用流其實就是最大流改乙個spf aspf a而已,很簡單。include include include in...
HDMI費用問題
以下段落摘自 一 hdmi dvi之間的轉換屬於物理轉換 由於和dvi採用了相同的 s傳輸機制,所以hdmi對dvi介面擁有非常強大的相容性。目前市面上也有不少hdmi dvi的轉接頭產品,對於沒有hdmi的老裝置而言非常適用。而hdmi dvi轉接頭在實質上就是兩種接頭間的物理轉換工具,只涉及到介...