description
議會裡有n個議員,每個議員有兩個屬性:級別和忠誠值。
現在你要在議會通過乙個議案,乙個議案通過當且僅當嚴格超過一半的議員投贊同票。乙個議員投贊同票的機率就是忠誠值除以100。
議員們有著奇怪的癖好:他們都喜歡吃糖。你帶了k個糖果用來賄賂議員,每個糖果的作用是使得某個議員的忠誠值增加10。賄賂要在投票開始前完成。(注意任意議員的忠誠值不可能大於100)
投票之後,如果議案沒有通過,你就會很暴力地把投了反對票的所有議員暗殺掉。假設你要暗殺的議員集合是s,那麼成功率就是a/(a+b);其中a是給定的常數,b是s中所有議員級別的和。當暗殺成功後你的議案就會獲得通過。
現在要求最優賄賂方案下最大的成功機率是多大。
input
第一行三個整數n,k和a,意義如題目所述;
接下來n行每行兩個整數ai,bi分別表示每個議員的級別和忠誠值。
output
乙個實數表示可能的最大成功機率。保留6位小數。
sample input
5 3 10011 80
14 90
23 70
80 30
153 70
sample output
0.962844
data constraint
hint
對於40%的資料,保證n,k≤5
對於100%的資料,保證n,k≤9,a,ai≤9999,bi是10的倍數
1 #include 2 #include 3 #include 4#define n 10
5using
namespace
std;
6int
n,k,a,a[n],b[n];
7double
ans;
8double work(int x,int y,intb)9
11return
1.0*b[x]/100*work(x+1,y+1,b)+1.0*(1-1.0*b[x]/100)*work(x+1,y,b+a[x]);12}
13void dfs(int x,int
y)14
21for (int i=0;i<=y;i++)
2225 b[x]-=i*10;26
}27}28
intmain()
29
dfs 樹的直徑 Jzoj P1737 刪邊
description 給出n個點,n 1條邊的連通圖.現要求刪除一條邊,使得連通塊的直徑總和最大.所謂連通塊的直徑是指連通塊中最遠兩點之間的距離。問 直徑總和最大是多少?input 檔名為 delete.in 第一行正整數n.接下來n 1行.每行兩個數,a,b,len表示a,b 1 a,b n 有...
概率(2) 硬幣
平均需要拋擲多少次硬幣,才會首次出現連續的 2個正面?首先,讓我們來考慮這樣乙個問題 k 枚硬幣擺成一排,其中每一枚硬幣都可正可反 如果裡面沒有相鄰的正面,則一共有多少種可能的情況?這可以用遞推的思想來解決。不妨用 f k 來表示擺放 k 枚硬幣的方案數。我們可以把這些方案分成兩類 最後一枚硬幣是反...
matlab雜記2概率統計
1,函式binornd可以產生二項分布隨機資料 r binornd n,p n,p為二項分布的兩個引數,n,p 大小相同。r binornd n,p,m m指的是隨機數的個數,與r同維數,r bonornd n,p,m,n m,n分別表示r的行數和列數 2,normrnd可以產生正態分佈的隨機資料。...