題目鏈結
唉我個zz……
首先考慮到異或是可以每一位分開算的
好的以後再碰見位運算題我一定先往按位開車上想
然後設f[i]為從i點出發到終點是1的概率
高斯消元解方程組即可。
#include#include#include
#include
#include
#include
#include
#define maxn 200
#define maxm 50020
using
namespace
std;
inline
long
long
read()
while
(isdigit(ch))
return num*f;
}inline
int calc(int a,int b)
struct
edgeedge[maxm*2
];int
head[maxn],num;
inline
void add(int
from,int to,int
val);
head[
from]=num;
}double
s[maxn][maxn];
double
dl[maxn];
double
ans[maxn];
void gauss(int
n) }
}ans[n]=s[n][n+1
];
for(int i=n-1;i;--i)
}int
main()
}double ans=0
;
for(int i=0;i<32;++i)
else s[j][to]-=1.0/dl[j];
}//for(int j=1;j<=n;++j,printf("\n"))
//for(int k=1;k<=n+1;++k) printf("%.3lf ",s[j][k]);
gauss(n);
//printf("\n");
ans+=ans[1]*(1
<}
printf(
"%.3lf
",ans);
return0;
}
WC2011 最大XOR和路徑
wc2011 最大xor和路徑 本題關鍵是抓住xor的性質 a b a b 異或兩次等於0 1到n,一定是走一條路,可能再往別處走出環 每個環都可以 獨立 走出來 1到n的路徑,可以拆成任意一條路和若干個環拼成的 dfs找環,加入線性基 能變大就異或上去。o m 64 include define ...
WC 2011 最大Xor和路徑
給你一張n個點,m條邊的無向圖,每條邊都有乙個權值,求 1到n的路徑權值和的最大值。任意一條路徑都能夠由一條簡單路徑 任意一條 在接上若干個環構成 如果不與這條簡單路徑相連就走過去再走回來 那麼在對這些環進行分類 1 直接與簡單路徑相連 相交的重複部分不算就可以了。2 不與簡單路徑相連 我們需要跑過...
WC2011 最大XOR和路徑 題解
首先看到題面,最大 異或 聯想到了什麼?沒錯,線性基。不會的同學請先學習 線性基。但是這道題,因為是在圖里,所以不能直接簡單地用線性基求解。觀察題目中的圖,我們可以發現 嗎?答案一定是由從 1 到 n 的一條路徑上的異或和以及若干環上的異或和構成的。首先我們要理清乙個問題 從 1 到 n 的路徑不用...