洛谷P3230 比賽

2022-04-30 13:36:13 字數 2050 閱讀 2251

emmmmmm,這個之前講課的原題居然出到比賽裡了。

我怒肝2h+然後a了此題,結果還是被某高一巨佬吊打......

題意:n個球隊兩兩比賽,勝得3分,敗得0分,平得1分。

現有乙個總分表,求問可能的比賽情況。

解:發現答案與球隊的順序無關,於是按照分數排序。

然後發現可能搜到重複狀態,可以記憶化嗎?可以拿hash記憶化......(毒瘤)。

然後列舉當前第一隊與其他隊的勝負情況,這裡我又寫了個dfs(毒瘤 << 1)。

然後沒了......注意這道題實現起來滿滿的毒瘤。

1 #include 2 #include 3

4const

int n = 12, b = 31, om = 1000000, mo = 1e9 + 7; 5

6struct

node 15}

16return;17

}18 inline bool

operator ==(const node &d) const

22for(int i = 1; i <= t; i++) 26}

27return1;

28}29 inline void

st()

*/35

return;36

}37 inline void

out()

41 puts(""

);42

return;43

}44 }node[1500000], temp; int

top;

4546

inthead[om];

4748 inline int

find(node x) 54}

55return -1;56

}5758 inline void

insert(node sta)

6566

int dfs(node, int

);67

68int dfsp(node sta, int k, int lw)

74 std::swap(sta.a[1

], sta.a[sta.t]);

75 sta.t--;

76return

dfs(sta, lw);77}

78if((sta.t - k + 1) * 3

< sta.a[1

]) 81

82int ans = 0;83

if(sta.a[k] >= 3)

89if(sta.a[1] >= 3)

95if(sta.a[1] >= 1 && sta.a[k] >= 1)

101return

ans;

102}

103104

int dfs(node sta, int

last)

111return0;

112}

113114

sta.geth();

115int t =find(sta);

116if(t > -1

) 119

120int ans = dfsp(sta, 2

, last);

121122 sta.ans =ans;

123insert(sta);

124125

return

ans;

126}

127128

intmain()

136137 temp.t =n;

138int ans = dfs(temp, tot - (n - 1) *n);

139140 printf("%d"

, ans);

141142

return0;

143 }

ac**

注意到洛谷rank1的搜尋方法和我大同小異,但是速度吊打我14.75倍(毒瘤)。他以為這個東西可以用ll裝下(真tm的可以!!!我是沙雕!),然後我就sb的又存又傳了一大堆陣列......

洛谷 比賽題解

這套題的題目質量很高,寫一發題解。t1 cjwssb最近在物理學科上遇到了難題,他不會計算乙個電路中的總電阻,現在他找到了你,希望你能幫助他。這個電路有如下限定 1 電路只由導線以及電阻為一歐的電阻組成 2 保證電路從左到右連線,即每個電阻或導線的兩個連線點xy保證x 我們可以用dfs求解,這個電路...

洛谷比賽日記

好不容易參箇賽才做幾個小時 只做了前4題,後面5題直接空著其實只是刷刷水題 工廠,模擬題 一開始zz想了半天怎麼貪心,差點去寫搜尋,最後突然發現只能按序放 秒之 一開始沒注意規模wa了,改了long long就a了 不知道為什麼有人t掉,無法理解 1 include 2 intmain 317 an...

關卡一 洛谷比賽

lj終於弄懂了任務,他需要闖過九九八十一個關卡,才能拿到鑰匙,回到主世界。為了早日回家,lj踏入了第一關。這是乙個由方塊構成的世界,連lj都被方塊化了 mc?構成這個世界的方塊只有兩種,泥土方塊和柵欄方塊。由於這是第一關,管理員為了減少難度,將三維世界抽象成二維世界,並派遣npc ljy去告訴lj,...