ZR 539 19普轉提 4 和 題解

2022-09-08 02:39:09 字數 1020 閱讀 7863

給定乙個數字 \(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...