LGR 052 洛谷9月月賽II(加賽)

2022-05-31 05:48:14 字數 1520 閱讀 8224

題解:

沒打。。。

ab題滿世界都過了應該沒什麼意思

c題是個比較有意思的思維題(先看了題解才會的。。。)

我們考慮這麼一件事情

沒鑰匙的人出門後

門一定是開著的

他進來的時候,門一定是開著的

其他時候,一定門能關著比較好

但是這個東西並不是很好維護,因為可能重複算

我們考慮重新排個序

我們把a在b前面的那個排在他前面

這樣我們只需要記錄一下上乙個取了沒有就可以了

感覺說出來不是很好理解這個東西。。。

d題還是個有點難度的資料結構題

一件比較顯然的事情是我們對a的操作等價於是要

找當前x修改後是不是字首最大值,以及他能延伸到哪(這個權值線段樹顯然可以維護)

然後就變成了區間覆蓋成乙個值了

然後 剛開始就想錯了。。。

剛開始想的是去考慮這一段的值是怎麼通過原先值變化的

其實這樣反而不好做

直接去暴力統計現在的值

那麼我們要知道的其實就是 當前區間》k的數的個數以及

這玩意我好像只會樹套樹或者cdq分治+排序+線段樹。。。(寫起來挺煩的啊)

於是複雜度就是nlog^2n了

不知道正解是怎麼玩的。。。

**:

c:

#include using

namespace

std;

#define rint register int

#define il inline

#define rep(i,h,t) for (rint i=h;i<=t;i++)

#define dep(i,t,h) for (rint i=t;i>=h;i--)

const

int n=3000

;const

int inf=1e9;

struct

rea[n],b[n],c1[n],c2[n],p[n];

int pre[n],pos[n],x1[n],x2[n],f[n][n][2

];bool

tt[n];

bool

cmp(re x,re y)

intmain()

sort(a+1,a+n+1

,cmp);

sort(b+1,b+2*n+1

,cmp);

rep(i,

1,n) pos[a[i].pos]=i;

rep(i,

1,n*2)

int cnt=0

; rep(i,

1,n)

if (!tt[i])

}rep(i,

1,n)

rep(j,

0,m)

else

}cout

<1],f[n][m][0

]);

return0;

}

LGR 051 洛谷9月月賽

luogu 給出 k 和質數 m 求最小的 n 使得 111.1 n 個 1 equiv k mod m m le10 0 le k m 把 n 個 1 寫成等比數列求和的形式,不難推出這個式子 10 n equiv9k 1 mod m 所以直接上 bsgs 就行了。應該是不存在無解的情況的,畢竟無...

LGR 054 洛谷10月月賽II

luogu 成功咕掉codeforces round 517的後果就是,我 mbox 依舊沒有寫出來。mbox mbox 為 0 的乘上 mbox 為 1 的就是答案。因為兩個數異或以後二進位制位 1 的個數的奇偶性不會變。至於計算 mbox 預處理到根號,o 1 計算即可。include incl...

LGR 054 洛谷10月月賽II

結論popcnt x y 和popcnt x popcnt y 的奇偶性相同。然後就是popcnt為奇數的乘為偶數的。預處理一下 2 次方以內的popcnt,直接 o 1 算就行。就是求有多少個等差子串行。方程很好寫,f i 表示以 i 結尾的等差子串行個數,f i sum i f j a i a ...