51nod 鎖屏密碼

2021-07-10 03:14:25 字數 534 閱讀 8171

我們先特判掉n=1的情況,答案很好算,就是2^(m-1)。

用數學歸納法證明。

當m=1時,只有一種。當m>1時,設當k對於n>

1,可以發現任選三點共線的概率不是很大,答案大概是(n*m)!的級別,由於答案小於2^63,可知總點數最大在20左右。

考慮狀態壓縮動態規劃,我們用f[i][j][s]表示,當前走到了第i行第j列,已經走過的點的集合為的s方案數可以用小於2^(n*m)的自然數表示。

如果s=2^(n*m)-1,說明所有的點已經被走完,這是乙個合法的方案,所以dp[i][j][s]=1。

否則,我們列舉要走的下乙個點(i',j'),要滿足(i',j')不在s中,並且(i,j)到(i',j')線段上的所有中間點s都在中,那麼dp[i][j][s]就是所有合法的(i',j')的之和。

最後算答案。設第乙個走的點是(i,j),那麼方案數就是f[i][j]。把所有(i,j)的方案數加起來就是答案。

時間是2^(n*m)*(n*m)^2,可能會有壓力,只需對於較大的資料預處理打表。

51nod 貪心入門

有若干個活動,第i個開始時間和結束時間是 si,fi 活動之間不能交疊,要把活動都安排完,至少需要幾個教室?分析 能否按照之一問題的解法,每個教室安排盡可能多的活動,即按結束時間排序,再貪心選擇不衝突的活動,安排乙個教室之後,剩餘的活動再分配乙個教室,繼續貪心選擇 反例 a 1,2 b 1,4 c ...

51nod 迷宮問題

1459 迷宮遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 你來到乙個迷宮前。該迷宮由若干個房間組成,每個房間都有乙個得分,第一次進入這個房間,你就可以得到這個分數。還有若干雙向道路鏈結這些房間,你沿著這些道路從乙個房間走到另外乙個房間需要一些時間。遊戲規定了你的...

51nod 硬幣遊戲

有乙個簡單但是很有趣的遊戲。在這個遊戲中有乙個硬幣還有一張桌子,這張桌子上有很多平行線 如下圖所示 兩條相鄰平行線之間的距離是1,硬幣的半徑是r,然後我們來拋硬幣到桌子上,拋下之後硬幣有時候會和一些直線相交 相切的情況也算是相交 有時候不會。請你來計算一下拋一次硬幣之後,該硬幣和直線相交數目的期望。...