組裝電腦
題意 :
有b
塊錢,有很多種配件,每種配件至少選一件
,每個配件有名字,引數(沒用),**,品質因子
現在如何買才能使得最小的品質因子最大
(最大化最小值問題)
輸入
1
18 800
processor 3500_mhz 66 5
processor 4200_mhz 103 7
processor 5000_mhz 156 9
processor 6000_mhz 219 12
memory 1_gb 35 3
memory 2_gb 88
6memory 4_gb 170 12
mainbord all_onboard 52 10
harddisk 250_gb 54 10
harddisk 500_fb 99 12
casing midi 36 10
monitor 17_inch 157 5
monitor 19_inch 175 7
monitor 20_inch 210 9
monitor 22_inch 293 12
mouse cordless_optical 18 12
mouse microsoft 30 9
keyboard office 4 10
輸出
9
注意點
#define debug
#ifdef debug
#include
#include
"/home/majiao/mb.h"
#endif
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define maxn (1024)
#define ll long long
#define int long long
#define inf (0x7f7f7f7f)
#define fori(lef, rig) for(int i=lef; i<=rig; i++)
#define forj(lef, rig) for(int j=lef; j<=rig; j++)
#define fork(lef, rig) for(int k=lef; k<=rig; k++)
#define qaq (0)
using
namespace std;
#define show(x...) \
do while (0)
void
err(
)template
<
typename t,
typename..
. a>
void
err(t a, a.
.. x)
namespace fastio
void
print()
template
<
typename t,
typename..
. t2>
inline
void
read
(t &x, t2 &..
. oth)
while
(isdigit
(ch)
) x *
= f;
read
(oth...
);}template
<
typename t,
typename..
. t2>
inline
void
print
(t x, t2.
.. oth)
while
(x/=10)
;while
(p3>=0)
putchar
(print_f[p3--])
;putchar
(' ');
print
(oth...
);}}
// namespace fastio
using fastio::print;
using fastio::read;
int n, m, q, k, tot;
mapint> mp;
vectorint,
int>
> g[maxn]
;void
init()
intid
(string s)
/** 二分品質因子,
first為**, second為品質因子,
*/int
check
(int mid)
if(tmin == inf)
return inf;
//買不到這麼高品質因子的配件 返回inf
ret +
= tmin;
}return ret;
}signed
main()
);}int lef =
1, rig =
1e9+
7, mid, ans =0;
while
(lef < rig)
printf
("%lld\n"
, ans);}
#ifdef debug
clock_t etime =
clock()
;printf
("rum time: %lf 秒\n",(
double
)(etime-stime)
/clocks_per_sec)
;#endif
return0;
}
LA2957 網路流 藍書例題
分析 首先假設答案為t。構圖如下 把原圖的每個點u拆成t 1個,分別為u0,u1,其中u0是初始狀態的結點u,ui表示經過i天之後的結點u。對於原圖中的相鄰結點a和b,在新圖中新增一條從ai到bi 1的邊,容量為1,再新增一條bi到ai 1的邊,容量也為1。對於原圖中的每個結點u,新增 ui ui ...
小藍書 電影
題意都是用離散化的嗎?這麼神奇?我的思路就是對於 a 排序,對於語音和字幕的也分別排序,然後三個指標一起從小到大跳得到每個電影的語音和字幕能讓多少個人高興起來。時間複雜度 o nlogn mlogm include include include define n 210000 using name...
藍書 100 IncDec序列
差分陣列的巧妙運用 讓所有數都相同即 讓差分陣列bi,b2 bn都等於0.每次操作相當於選擇i,j.bi bj 為了讓b2 bn都等於0 正數之和 p,負數之和q 最少操作次數一定是 先選擇一正一負,抵消,然後剩的全正或者全負,與b1 bn 1,進行操作。最少次數為 p q 由於選擇b1,bj 和b...