數學 8 29木板

2022-05-20 03:36:51 字數 1333 閱讀 1437

解鎖成就:死於看成平面幾何題

將乙個邊長為 n

'>n 的正方形裁剪成四個直角三角形。注意面積不能為 0

'>0

。三個必要的切割中的兩個始終從乙個角落g進行(圖中g位於a,實際上也可以是b、c、d),第三次切割必須垂直於前面兩個之一(在圖中,ae部分垂直於ef部分)。

切割機僅接受整個座標值,這意味著n必須是整數的,並且點e和f的座標必須是整數的。 有時候這可能是不可能的。

編寫乙個程式,根據給出的 n

'>n

,確定是否可以將四邊形的正方形三角形切割成四個矩形三角形,如果可能的話,可以採用多少種方法來完成。

每行乙個整數 n

'>n,以 0

'>0

結尾每行乙個整數表示方案數,方案不同當且僅當 e、f、g 的座標不同

10

20100

320

0872

24

對於 40% 的資料,n≤10^7

對於另 10% 的資料,n 是質數

對於 100% 的資料,n≤10^14,不超過5組資料

時間限制 1 s

空間限制 512 mb

畢竟資訊用的數學和數學競賽還是不大一樣啊……

這裡非常重要的一步是從a=(n-x)*x/n想到劃分剩餘類。

於是最樸素的解法就是列舉x.

注意到x有乙個充要的命題:

注意是向上取整。

由於x的取值是$[1,n)$,所以x的個數就是:

化簡一下可以得到:

就可以了。

1 #include2 typedef long

long

ll;3

const

int maxn = 10000000;4

5int pr[800035];6

bool vis[10000035];7

ll n,cnt;89

void

makeprime()

1019}20

}21ll qmi(ll a, ll b)

2229

return

ret;30}

31int

main()

3245 printf("

%lld\n

",cnt*8ll-8ll);46}

47return0;

48 }

end

機房測試8 29

其他同學說馬上開學了,我說 在學校呆了一整年了。bluetrex是真的恐怖,考試題都是gal,據說明天題目 殼女?比逛公園簡單 但我爆了。dag上的dp dfs也可。l放在外面,經過的景點數作為乙個維度。include include include define fn park const int...

釘子與木板

3.釘子與木板 30分 問題背景 牆上有n個釘子,編號為1,2,n。其中釘子i的橫座標為i,縱座標初始為xi。可以進行兩種操作 0 k v 豎直移動釘子k,座標變為 k,v 1 s t v 若在高度為v處放一塊橫座標範圍是 s,t 的水平木板,它將下落到什麼高度?換句話說,求出釘子s,s 1,s 2...

牛牛的木板

題意 牛牛從牛畢那裡拿了一根長度為n的白木板,木板被等分成了n段 沒有被切割,只是虛擬劃分成了n段 其中有些段被牛畢用顏料染成了黑色。牛牛非常不喜歡黑色,它找來了一桶清洗劑決定對木板進行清洗,但是牛牛發現自己的清洗劑最多只能清洗m段。清洗完後,牛牛會把木板鋸成純色的幾段。例如假設木板是 黑黑黑白白白...