构造入门
構造死磕
什么是構造
構造舉例
CF743C Vladik and fractions
- 題目讓我們構造一組數字,滿足\(\frac{2}{n} = \frac{1}{x} + \frac{1}{y} + \frac{1}{z}\)
- 第一眼看到就想到聽老師講了半天才知道這不是簡單的OI題目,而是先用數學解決再編程實現的構造題
- 我們考慮如何構造:
\[ \dfrac{2}{n} = \dfrac{1}{x} + \dfrac{1}{y} + \dfrac{1}{z} \]
- 首先容易想到\(\frac{2}{n} = \frac{1}{n} + \frac{1}{n}\)
- 這樣我們可以令\(x = n\),對原式化簡可以推出\(\frac{1}{n} = \frac{1}{y} + \frac{1}{z}\)
- 我們考慮人人都要在推數列時用到的一個公式:
\[ \dfrac{1}{x} - \dfrac{1}{x-1} = \dfrac{x}{x \times (x-1)} - \dfrac{x-1}{x \times (x-1)}= \dfrac{1}{x \times ( x-1)} \]
- 那么我們就有了\[\frac{1}{x} = \frac{1}{x-1}+\frac{1}{x \times (x - 1)}\]
- 把上式中的\(x\)替換成\(n\)這一題就出來了.
P3599 Koishi Loves Construction
- 這一題就是個坑,雖然大多數構造都是坑,但是您就不能給一組std的結果么?
task1
- 我們先考慮\(task1\),要求求出一組\(1-N\)排列使得其前綴和在\(\% N\)意義下各不相同.
- 我們發現排列中\(N\)前一項和自己這一項的前綴和相等,所以\(N\)只能處于排列首位
- 我們考慮取模的性質,對數字加上或者減去\(N\)并不影響答案.
- 那么第一項為\(N\),其前綴和取模后為\(0\).我們是否能構造出前綴和依次遞增\(1\)的序列呢?
- 想了想好像不行,因為如果想依次遞增\(1\),那么每一項都為\(1 + k \times N\ (k \in\ N)\),這顯然是不可能的,因為只有\(1\)滿足這個條件.
- 那么我們可以讓序列來回震蕩么?
- 考慮前綴和為\(0,1,-1,2,-2,3,-3,\cdots\),我們想想是否可以構造.
- 第一項為\(N\),第二項為\(1\),第三項為\(N-2\),第四項為\(3\),第五項為\(N-4\) \(\cdots\cdots\)
- 顯然可以構造,只要滿足\(N\)偶數即可!
- \(N\)為奇數時是否可以構造呢? \(N=1\)時顯然可以,之后的\(N=3,5,7\cdots\)時,根據官方題解:\(\sum^{N}_{i=1}{i} = \frac{N\times(N-1)}{2}\)而\(N\mid\frac{N\times(N-1)}{2}\).故無解.
task2
- 我們同樣發現,\(N\)出現后的前綴積全為\(0\),所以\(N\)必須在最后一位出現,同理\(1\)出現前一位的前綴積和自己這一項的前綴積相等,所以\(1\)必須出現在第一項.
- 然后考慮如何構造,先考慮遞增的.
- 第一項為\(1\),我們是否能構造出第\(k,k\not = N\)項前綴積為\(k\)呢?
- 那么,每一項應該為\(1,\frac{2}{1},\frac{3}{2},\frac{4}{3},\cdots\),考慮\(x \cdot inv(x)\equiv1(mod\ N)\),我們可以有如下轉化\(\frac{k}{k-1} = k \cdot inv(k-1)\),然后坑比樣例不是這樣給的,但是這樣是對的.
- 思考下什么時候無法構造,如果\(N\)不為質數和\(4\),那么\(N\mid (N-1)!\)是一定的,對于\(4\),其因子在\(3!\)只出現一次,成立.
- 特判一下\(1\)和\(4\),這一題也做完了.
推薦文章
轉載于:https://www.cnblogs.com/byha/p/11249141.html
總結
- 上一篇: NOIP模拟测试8「匹配·回家」
- 下一篇: 优就业怎么样?