hdu 3915 高斯消元

2021-06-26 17:46:47 字數 1204 閱讀 7280

這道題目是和博弈論掛鉤的高斯消元。本題涉及的博弈是nim博弈,結論是:當先手處於奇異局勢時(幾堆石子數相互異或為0),其必敗。

思路在這裡,最後由於自由變元能取1、0兩種狀態,所以,最終答案是2^k,k表示自由變元的個數。

#include #include #include #include #include #include #include #include #include using namespace std;

#define rd(x) scanf("%d",&x)

#define rd2(x,y) scanf("%d%d",&x,&y)

#define rd3(x,y,z) scanf("%d%d%d",&x,&y,&z)

#define clr0(x) memset(x,0,sizeof(x))

#define clr1(x) memset(x,-1,sizeof(x))

#define eps 1e-9

const double pi = acos(-1.0);

typedef long long ll;

typedef unsigned long long ull;

const int modo = 1e9 + 7;

const int inf = 0x3f3f3f3f;

const int inf = 0x3fffffff;

const ll _inf = 1e18;

const int maxn = 1005,maxm = 10005;

#define maxn 110

#define mod 1000007

#define weishu 31

ll a[maxn], g[maxn][maxn];

int gauss(int n)

if (r < weishu)

for (i = cnt + 1; i < weishu; i++)

}cnt++;}}

return n - cnt;

}int main()

for (i = 0; i < weishu; i++)

vary = gauss(n);

ll ans = 1;

while(vary--)

printf("%i64d\n",ans);

}return 0;

}

高斯消元 浮點高斯消元

浮點數高斯消元 問題描述 給出乙個線性方程組,有n個方程組,m個未知數。解這個線性方程組。輸入格式 第1行 2個整數n和m,n,m 400,且n不一定等於m 接下來n行,每行m 1個整數,表示乙個方程的m個未知數的係數和常數 輸出格式 如果無解,輸出 no solution 如果有唯一解,輸出m行,...

HDU 5755 高斯消元

題意 給出乙個模3意義下的矩陣,每次選中乙個元素就可以使得自身 2,上下左右元素 1。求所有元素變成0的一種解。o nm 3 怎麼會不炸!怎麼會不炸!好吧就是不炸,可能在消元的時候0比較多吧 可以為什麼不用列舉自由元呢?不是很懂這個資料 直接按照上下左右自身的元素對自己的貢獻建立方程組暴力消元,遇到...

hdu4870 高斯消元

題意 乙個人打比賽 rating 有p的概率 為加50分 有1 p的概率為 x 100分 最大值為 1000 最小值為0 有兩個號 每次拿較小的號來提交 計算最後到達 1000分得期望場數是多少,對每個狀態建立乙個方程然後用高斯消元解決 include include include include...