USACO10HOL 趕小豬題解

2022-05-02 02:09:09 字數 693 閱讀 5590

題目鏈結

貌似沒有卡我精度?

這道題跟這道的思路和做法都挺像的,也是期望+高斯消元

設\(f_u\)為乙個點期望的經過次數,那麼我們可以發現,炸彈在每個點**的概率其實就是\(f_u*p/q\),求出每個點的\(f_i\)即可得到最終的答案,顯然,每個點的期望是由相連的點的期望決定的,\(du_x\)為點\(x\)的度數,點\(x_1,x_2,x_3....x_k\)與點\(x\)相鄰,則\(f[x]=\sum_^k\frac\)

最後用高斯消元解一下每個點的期望即可,上**

#includeusing namespace std;

int n,m,t,x,y;

double p,q,gai,chu,du[303],a[303][303],b[303],ans[303];

vectorl[303];

int main()

gai=p/q,b[1]=-1;

for(int i=1;i<=n;i++)

if(a[i][i]!=0)

for(int j=i+1;j<=n;j++)

}for(int i=n;i>=1;i--)

for(int i=1;i<=n;i++)

printf("%.9lf\n",fabs(ans[i]*gai));

return 0;

}

P2983 USACO10FEB 購買巧克力

題解 注意題目開 long long 貪心策略 從低到高,買夠為止 反證 若剩下的有乙個k 比k小,那麼交換,穩賺不賠 所以,在買k之前,所有比他便宜的都買完了 include include include include include include include include using...

USACO10MAR 偉大的奶牛聚集

因為是英文題,題目不再重複。給你一棵無根樹,每條邊有邊權,每個點有點權,要你選乙個點,使每個點到這個點的距離 點權的和最小,求這個值。設dis u 為u所有後代到它的距離 點權,sum u 為u所有後代的點權和包括u 先以1為根dfs一遍,預處理出所有的dis,sum 然後問題就變成了更換這棵樹的根...

P3003 USACO10DEC 蘋果交貨

首先不難看出這是最短路 然後乙個起點,兩個終點。從起點跑一遍dij,比較到兩個終點的距離,選小的那個,再以其中乙個終點為起點,跑dij,ans加上到另乙個終點的距離,就是最終結果。include include include include using namespace std struct n...