牛客寒假集訓營第三場

2021-10-22 17:24:29 字數 2249 閱讀 4990

題目

c題暴力搜尋

#include

using

namespace std;

int n, k, r, ans;

struct ty

a[20

], pos[10]

;bool

xiangjiao

(int i,

int j)

intcalc()

}return cnt;

}void

dfs(

int dep)

for(

int i =-7

; i <=

7; i++

)for

(int j =-7

; j <=

7; j++)}

intmain()

g題

並查集

#include

using

namespace std;

typedef

long

long ll;

const

int max =

(int

)1e5+9

;int t,n,m;

struct xpy

bcj[

1000009];

intfind

(int x)

return r;

}void

union

(int x,

int y)

void

work()

int x, y, t;

while

(m--

)for

(int i =

1; i <= n; i++

)find

(i);

// 更新根節點 保證這個集合的最大值更新到根節點身上

ll sum =0;

for(

int i =

1; i <= n; i++

) cout << sum << endl;

}int

main()

/*6 4

1 2 3 4 5 6

1 22 3

4 55 6

*/

i題

法一動態規劃

}法二

貪心

#include

using

namespace std;

int a[

1000010];

//map<

int,

int> m;

intmain()

m[a[i]]=

1;} cout<

return0;

}

j題

博弈從最後的狀態向前推,找一些規律

#include

typedef

long

long ll;

using

namespace std;

const

int max =

1000009

;int n;

int sum1,sum2;

ll a[max]

;int

main()

if(n ==

1&& sum ==

0) cout <<

"niuniu\n"

;else

if(n ==

1&& sum ==

1) cout <<

"niumei\n"

;else

if(sum >=

2) cout <<

"niumei\n"

;else

return0;

}

2023年牛客寒假集訓營第三場 買禮物

powered by nefu ab in 更新線段樹的三個板子 題意 查詢乙個區間內是否有相同的兩個數 可以動態將某個數剔除掉 知識點 線段樹 鍊錶 思路 include using namespace std define ll long long define ull unsigned lon...

牛客寒假集訓營第三場E線段樹 鍊錶

題目 題目鏈結 有n nn個禮物,每個禮物都有乙個編號,有兩種操作 題解 對於每個位置i ii,維護兩個資訊 l as t i last i last i ia i ai 的位置,如果沒有置為000n ext i next i next i ia i ai 的位置,如果沒有置為n 1 n 1n 1 ...

牛客寒假訓練營2020 第三場B

乙個圖上一直可以到達終點的方案數,畫出乙個符合這個方案數的圖 數字都可以用二進位制數表示,1e9 230,可以用30位二進位制數表示。所以要在圖中想辦法融入二進位制的思維,可以用邊來表示二進位制的一位。先將對角線都設為b,b有兩種方向,可看作二進位制中的 1 到達第乙個b有1種可能性,到達第二個b有...