給定乙個數字 \(n\),請問有哪些區間 \([l,r]\) 使得 \(\sum_^r i=n\)。
請按 \(l\) 從小到大的順序輸出所有區間。
根據題意我們可以列出方程:
\[\frac=n
\]也就是:
\[(l+r)(r-l+1)=n\times 2
\]於是我們可以列舉 \(n\) 的因數 \(x\),令 \(y=\frac n x\),判斷是否有兩數和為 \(y\),差為 \(x\) 即可。(這裡假設 \(x)
列舉因數是 \(o(sqrt n)\),判斷 \(o(1)\),固總時間複雜度 \(o(sqrt n)\)。
這題是一條非常經典的推式子+分解因數,只要把式子列出來發現規律就行了。
這種題在比賽是遇到一定不要慌,慢慢寫出來,注意細節即可。
// problem: d. 【19普轉提 4】簡單mst
// contest: uoj - 麗澤普及2022交流賽day8
// url:
// memory limit: 512 mb
// time limit: 5000 ms
// // powered by cp editor (
#includeusing namespace std;
#define int long long
inline int read()while(ch>='0'&&ch<='9')return x*f;}
//#define n
//#define m
//#define mo
int n, m, i, j, k;
int x, y, l, r;
signed main()
return 0;}/*
(l+r)*(r-l+1)/2=n
(l+r)*(r-l+1)=n*2
l+r-(r-l+1)=l+r-r+l-1=2l-1
l=(x-y+1)/2
r=l+y
*/
20ZR普轉提七連測 Day1
進行 dmo d360 d bmod 360 dmod36 0 討論一下,發現有四個 兩個 乙個一迴圈。然後預處理前四次操作的答案即可,注意對絕對值的處理。如果能確定吃哪些餐館,當然就是不回頭依次吃。那麼列舉那個餐館一定吃,在它之前的餐館可能吃也可能不吃,二分一下吃耗時最小的多少個餐館,套個區間前 ...
20ZR普轉提七連測 Day1
進行 dmo d360 d bmod 360 dmod36 0 討論一下,發現有四個 兩個 乙個一迴圈。然後預處理前四次操作的答案即可,注意對絕對值的處理。如果能確定吃哪些餐館,當然就是不回頭依次吃。那麼列舉那個餐館一定吃,在它之前的餐館可能吃也可能不吃,二分一下吃耗時最小的多少個餐館,套個區間前 ...
ZROI 2018 0821 暑假普轉提模擬賽
60ptsn 10 60 ptsn 10 全排列並分別計算時間 話說暴力分是真的良心 100ptsn 1000 100ptsn 1000 因為期望具有可加性,於是我們可以考慮第 i i 個人在第 j role presentation j j個位置對答案的貢獻,累加即可。時間複雜度 n2 n 2 i...