A1488 魔法波(喬明達)

2022-08-22 16:27:08 字數 1238 閱讀 1258

設si表示表示每個格仔的狀態(1表示腐地,0表示土地),xi表示對每個格仔的操作狀態(1表示發射,0表示不發射),可以列出異或方程si^sigma(xj)=1

然而介四o(n^6),boom

於是我們把格仔分成橫向(yl)和縱向(yr)的塊,每乙個塊代表能對其中的格仔產生影響的格仔的集合,所以我們有,,,這裡請把sigma理解為異或和

y=sigma(xi)          ①

si^sigma(ylj)^sigma(yrj)^xi=1  ②

把②移項得xi=si^sigma(ylj)^sigma(yrj)^1  ③

把③帶入①得sigma(ylj)^sigma(yrj)=yi^sigma(sj)^sigma(1)   ④

然而只能a50%,內心崩潰

1     #include2

using

namespace

std;

3#define maxn 805

4 bitset<2005>b[2005];5

char

map[maxn][maxn];

6int num,yl[maxn][maxn],yr[maxn][maxn],ans[2005];7

void

gauss() 15}

16if(j==num) continue;17

for(j=k+1; j) 21}

22 k ++;23}

24for(i=0; i1

; 25

for(i=num-1; i>=0; i--) 32}

33}34}

35int

main()

47}

48for(int i=1;i<=n;i++)55}

5657

for(int i=0;iset

(i);

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

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

66for(int i=0;i)

71 printf("\n"

);72

gauss();

73for(int i=0;i)

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

83 printf("\n"

);84}85

return0;

86 }

view code

1488 新的開始

題目描述 發展採礦業當然首先得有礦井,小 ff 花了上次探險獲得的千分之一的財富請人在島上挖了 n 口礦井,但他似乎忘記考慮的礦井供電問題 為了保證電力的 小 ff 想到了兩種辦法 在這一口礦井上建立乙個發電站,費用為 v 發電站的輸出功率可以供給任意多個礦井 將這口礦井與另外的已經有電力 的礦井之...

1488 新的開始

1488 新的開始 時間限制 1000 ms 記憶體限制 65536 kb 提交數 773 通過數 401 題目描述 發展採礦業當然首先得有礦井,小 ff 花了上次探險獲得的千分之一的財富請人在島上挖了 n 口礦井,但他似乎忘記考慮的礦井供電問題 為了保證電力的 小 ff 想到了兩種辦法 在這一口礦...

題目1488 百萬富翁問題

1 秒 記憶體限制 128 兆 特殊判題 否 提交 4942 解決 1405 題目描述 乙個百萬富翁遇到乙個陌生人,陌生人找他談了乙個換錢的計畫。該計畫如下 我每天給你10 萬元,你第一天給我1 分錢,第二天2 分錢,第三天4 分錢 這樣交換 30 天後,百萬富翁交出了多少錢?陌生人交出了多少錢?注...