bzoj2337 XOR路徑 高斯消元

2021-07-10 08:30:16 字數 876 閱讀 3564

遇到位運算,還是一位一位來。假設考慮二進位制第k位,那麼

令f[i]表示以到達i時,第i位存在的期望,那麼對於所有與i相連的j,如果(i,j)的第k位為1,那麼f[i]+=(1-f[j])/i的入度,否則f[i]+=f[j]/i的入度。

這樣看起來有n個方程,但是有乙個是沒用的,隨便去掉乙個。然後實際上令從n到1是等價的,只需要讓f[n]=0即可。

ac**如下:

#include#include#include#include#define eps 1e-10

#define n 105

#define m 20005

using namespace std;

int n,m,tot,bin[35],etr[n],fst[n],pnt[m],len[m],nxt[m];

double a[n][n];

void add(int x,int y,int z)

void gas()

} for (i=n; i; i--)

}int main()

bin[0]=1; for (i=1; i<=30; i++) bin[i]=bin[i-1]<<1;

double ans=0;

for (i=0; bin[i]<=mx; i++)

else a[x][y]-=1.0/etr[x];

}} for (x=1; x<=n+1; x++) a[n][x]=0; a[n][n]=1;

gas(); ans+=a[1][n+1]*bin[i];

} printf("%.3f\n",ans);

return 0;

}

by lych

2016.3.7

bzoj2337 XOR和路徑 高斯消元

題目 異或就一位一位考慮 x為到n的概率,解方程組即可 考慮了n就各種蜜汁錯誤,所以索性不管n了,這樣的題好像不管n比較方便。如下 include include include include using namespace std intconst m 10005 int n,m,d 105 h...

BZOJ2337 期望 高斯消元

很久沒有寫過高斯消元了,看著別人的 yy了一會。一遍敲出來感覺成就感 而且gauss這個單詞感覺特別帥有沒有!bzoj2337傳送門 突然發現一張圖就把所有題目資訊包含完了,不用手打還有點不習慣 因為原題是要求異或期望,位與位之間沒有影響,所以拆開處理。以下的分析均是針對某一二進位制位上的值 定義f...

BZOJ4269 再見Xor 高斯消元

給定n個數,你可以在這些數中任意選一些數出來,每個數可以選任意多次,試求出你能選出的數的異或和的最大值和嚴格次大值。第一行乙個正整數n。接下來一行n個非負整數。一行,包含兩個數,最大值和次大值。33 5 6 6 5 100 n 100000,保證n個數不全是0,而且在int範圍內 題解 大水 inc...