牛客網NOIP賽前集訓營 提高組(第七場) 小結

2021-08-30 09:09:47 字數 2022 閱讀 4267

終於 牛客的noip賽前集訓營有我會做的題目啦!

之前考的**題天天爆零……

真的不是省選集訓營???

真·純模擬,毫無坑點(以至於我一開始以為題目看錯了,,看了好幾遍……)

#include

using namespace std;

int n,m,k,km,a[

205]

[205

],x,y,t,egy=0;

205]

[205

],sign=

0,vis[

205]

[205];

inline

intread()

while

(ch>=

'0'&&ch<=

'9') x=x*

10+ch-

'0',ch=

getchar()

;return x*f;

}int

main()

if(a[x]

[y]==0)

}else k=

min(km,k+a[x]

[y])

;for

(int u=x-

1;u<=x+

1;u++

)for

(int v=y-

1;v<=y+

1;v++)if

(u>

0&&v>

0&&u<=n&&v<=m)

[v]=1;

vis[x]

[y]=1;

}if(sign)

printf

("-1 -1");

else

printf

("%d %d"

,k,egy)

;return0;

}

很簡單,列舉每個數的因數nsqrt(n)就能過。然鵝我以為過不了就寫了別的……然後掛了。

#include

using namespace std;

int n,c[

500010

],ans=1;

inline

intread()

while

(ch>=

'0'&&ch<=

'9') x=x*

10+ch-

'0',ch=

getchar()

;return x*f;

}int

main()

}}}printf

("%d"

,ans)

;return0;

}

:這的確不是正解,正解是列舉每個數的倍數,複雜度nlogn,但我不想寫了啊啊啊啊

為了學習 (抄)大佬們的**,又去看了bitset……(我是什麼都不會嗎……大概是的吧)

以後打算整理一下stl(如果有時間的話……)

f[i][j]表示從f點出發,經過長度為2^j的路徑後所能到達的點的集合。

#include

using namespace std;

int n,m,q,x,y,l,lg;

bitset <

110> ans,s,f[

110][31

];intread()

while

(ch<=

'9'&&ch>=

'0')

return x*f;

}int

main()

} ans[y]

?printf

("yes\n"):

printf

("no\n");

}return0;

}

:演算法還可以更優,最後兩個for迴圈形式上與矩陣相同,可以寫快速冪。(可惜我弱)

最後。

馬煒梁《植物學》看完祭√

(滑稽)

2020牛客NOIP賽前集訓營 提高組(第四場)

有 f n 2 f 2 f 1 f 2 f 2 f 2 令 g n f n 2 很自然的有 g n 2g 2g g 將遞推式寫成矩陣的形式 a 令 vec n 為 g n,g g t 可以逆推出 vec 0 把 vec 表示成 a n vec 將題目中的 f s sum limits g sum l...

牛客CSP S提高組賽前集訓營2

然後隨便用乙個資料結構維護一下就行了,我寫的線段樹。我們先找出每個環,然後我們先刪連線環的邊,每刪一條就可以多產生乙個聯通塊,在考慮刪環邊,發現從最大的環刪起一定最優 因為你刪的第一條邊得不到任何新的聯通塊 就很容易想到tar jantarjan tarjan 發現你只能寫出80 8080 分,因為...

牛客CSP S提高組賽前集訓營1

比賽鏈結 官方題解 before t1觀察 結論題,t2樹形dp,可以換根或up down,t3正解妙,轉化為圖上問題。題目質量不錯,但資料太水了 一共n個石子堆,每個石子堆有ai個石子,兩人輪流對石子塗色 先手塗紅,後手塗藍 且需要保證當前回合塗的石子顏色不能和它相鄰的兩個同色,誰塗不下去誰輸。一...