出題人寄給大家的一些閒話:參加了csp-j/s 2019 的同學,考的都怎麼樣啊?不論是 500+ 收穫省一而歸的大佬,還是 100+ 無奈而回的小牛,無論你考的如何,是非成敗轉頭空
不論是退役的前輩還是現役的"戰友" ,只要你參與了這場比賽,就說明你對oi仍然抱有熱愛,無論成績如何,不變的,永遠是那一顆熱愛oi的心
好了,閒話扯了那麼多,開始做題吧,希望這套題目能夠帶給你們愉快的做題體驗
---------------窩是闊耐的分割線啦qaq---------------
老闆……不,義人,以手中的這把銃起誓,我將守護您的生命直到萬物終結之日。
眾所周知,能天使有兩個願望:
第乙個願望!請送我八把銃當禮物!我們天使都有自己的守護銃,但只有一把可不夠看!
第二個願望……找個人把我頭上的這盞日光燈管關掉!
你顯然不能幫能天使實現第二個願望,但是你可以用你手上的龍門幣幫她完成第乙個願望
在一條直線上均勻的分布著 n個店鋪,每個店鋪有 m 把銃**,你不想自己出門買銃,所以打算網購(?)
在第 i 個店鋪購買 j 把銃需要 pi,j 元。如果在某商店購買了少於 y 把銃,則每把銃需要額外支付 ai 元郵費,如果購買 y 把及以上,則在這家店可以包郵。
另外,在每家店只能購買一次,也就是說你在每家店最多下一次訂單
現在能天使想要 k 把銃,請問購買 k 把銃的最小花費是多少(總花費=總郵費+總購買費)?
當然,能天使並不喜歡鋪張浪費,所以請不要購買超過 k 把銃,同時保證一定能夠購買 k 把銃
第一行 4 個整數,n,m,k,y
第二行 n 個整數,第 i 個數表示 ai
接下來 n 行,每行 m 個數,表示 pi,j
一行乙個非負整數,表示題目描述中的最小花費
5810
3102010051
1357
911131524
681012
141612
3456
7813
6101521
2836
1020
3040
5060
7080
12
在樣例1中,在第三家店買7把銃,然後在第一家買3把銃,總價為7+5=12,因為都是3把以上,所以不用郵費
5810
8102010051
1357
911131524
681012
141612
3456
7813
6101521
2836
1020
3040
5060
7080
21
在樣例2中,在第三家店買8把銃,然後在第四家店買2把,總價為8+3+25=21,其中25為在第四家店購買的郵費
n,m,k <= 800 ; k <= min(800,n*m) ; y<=k
ai <= 100 pi,j <= 10,000,000
pi,j-1 <= pi,j
分組揹包問題。
#include
#include
using
namespace std;
#define inf 0x3f3f3f3f
const
int n =
805;
int a[n]
;int p[n]
[n];
int f[n]
;int
main()
}fill
(f, f + n, inf)
; f[0]
=0;for
(i =
1; i <= n;
++i)}}
cout << f[k]
<< endl;
return0;
}
天使的果凍 牛客
題目描述有 個果凍排成一排。第 i個果凍的美味度是 a i 天使非常喜歡吃果凍,但她想把最好吃的果凍留到最後收藏。天使想知道前 x個果凍中,美味度第二大的果凍有多少美味度?一共有 q次詢問。注 如果最大的數有兩個以上,預設第二大的等於最大的。例如,2,4,3,4 這個序列,第二大的數是4。輸入描述第...
牛客練習賽59 B 牛能和小鎮
題目描述 在牛國有2個小鎮編號1,2,3.n 1,n。用二維平面來表示每個小鎮的位置,第個小鎮的位置為 xi,yi 牛能做為牛國的國王,決定給小鎮之間建設一些道路,以便於任意小鎮之間都能相互到達,在第個小鎮和第個小鎮之間建設一條道路的花費是 xi xi yi xj xj yj yi yi yi 2 ...
牛客 wyh的物品
題解 一道經典的實數二分題。二分答案,假設取這k個物品的下標為i1,i2,iki1 i2 ik 二分得到乙個答案x。a為重量,b為價值,實際的結果為 j 1kbi jaij sum k frac j 1k aij bij 如果 j 1kbi jaij x sum k frac x j 1k aij ...