日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

论逗逼的自我修养——BZOJ第一页计划

發(fā)布時(shí)間:2025/4/5 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 论逗逼的自我修养——BZOJ第一页计划 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  感覺都干了這么久BZOJ了,還沒有上第一頁有點(diǎn)對(duì)不起我的300塊大洋,打算在WC前淦上第一頁。

  upd 1. 2 : 以奇怪的姿勢(shì)做完了cerc2014感覺感覺做了3天做了沒幾道不太水的題,今天又以刷完cerc2014的理由水了一波傻逼題也是挺愉♂悅的。

  upd 1.14 : 感覺刷水絲毫沒有前途。。。這個(gè)就慢慢補(bǔ)吧。。。下學(xué)期前我肯定會(huì)做好的。

  upd 2.23 : 劃了波水就上了。

現(xiàn)在都淦了65個(gè)題了

  【BZOJ3631】  看著n挺大,我們考慮使用差分,然后維護(hù)下子樹和。

  【BZOJ2780】  AC自動(dòng)機(jī)可以直接秒,其實(shí)我是想到SAM也能做。建個(gè)多串SAM,然后就變成子樹的顏色數(shù),離線搞一搞就可以了。

  【BZOJ3165】  直接暴力線段樹,然后暴力維護(hù)點(diǎn)標(biāo)號(hào),這樣的復(fù)雜度是nlognlogn的。

  【BZOJ3240】  爆算式子,可以發(fā)現(xiàn)就是幾個(gè)求和,擼一擼就好了。

  【BZOJ1172】  發(fā)現(xiàn)每個(gè)數(shù)有用的只是gcd(x, k)的值,而且k的約數(shù)很小,那么考慮直接dp它們的gcd(..., k)的值就可以了。

  【BZOJ3172】  AC自動(dòng)機(jī)。

  【BZOJ3170】  經(jīng)典題。

  【BZOJ3210】  同3170.

  【BZOJ1071】  我們考慮(min_s, min_h)對(duì)應(yīng)的一個(gè)集合S,那么(min_s, min_h+1)對(duì)應(yīng)的集合不過是S上加一些值再減掉min_h的點(diǎn),那么考慮直接枚舉min_s, min_h然后單調(diào)維護(hù)就可以了。

  【BZOJ1041】  很容易知道\(2r=d(a^{2}+b^{2})\),其中\(zhòng)(d=gcd(r+x, r-x)\), \(r+x=da^{2}\), \(r-x=db^{2}\),我們枚舉d,然后再枚舉a就可以了,注意到如果對(duì)于合法的a, b如果交換他們的值對(duì)應(yīng)的x, y是不變的,那么就將a枚舉的值縮一半就可以了,最后乘4加4就可以了。

  【BZOJ1019】  令\(f_{i,j}表示把i個(gè)盤子在j個(gè)柱子上的移到g_{i,j}上的步數(shù)\),然后類似hanoi的遞推就能做了。

  【BZOJ3000】  用stirling公式化一化,小數(shù)據(jù)暴力,大數(shù)據(jù)近似就可以了。

  【BZOJ4048】  考慮一個(gè)區(qū)間在[l,r]內(nèi),那么我對(duì)于包含在內(nèi)的一個(gè)最大長度一定要搞,那么我們就可以這樣dp。令\(dp_{l,r}\)表示在\([l,r]\)中的最小代價(jià),因?yàn)橐欢ㄒ_掉那個(gè)最大長度,我們就可以直接暴力合并了。

  【BZOJ3928】  同4048,雙倍經(jīng)驗(yàn)。

  【BZOJ4050】  暴力。

  【BZOJ4047】  一開始看錯(cuò)題了,囧。。。考慮直接\(dp_{i,j}\)表示到第i個(gè)物品被開了j個(gè)消失,這樣羅一羅就好了。

  【BZOJ4042】  這題讓我想到了個(gè)多校題,那個(gè)做法是\(nlogn\)的,區(qū)別僅在不共邊和不共點(diǎn)上,不共邊的話我們可以考慮在每個(gè)邊上多造一個(gè)點(diǎn),然后每個(gè)path兩端都往里縮一格就可以了。學(xué)習(xí)了下其他的姿勢(shì)覺得很厲害啊,令\(dp_{u}\)為u子樹的最大值,再搞出子樹中每個(gè)點(diǎn)多余的匹配位置,在u上可以用集合dp做。

  【BZOJ4347】  dp下余數(shù)和異或值就可以了。

  【BZOJ4325】  noip時(shí)候?qū)懻?#xff0c;感覺這個(gè)在uoj上也能被卡掉,并不知道為什么沒人卡。

  【BZOJ4045】  保持比例暴力就可以了。

  【BZOJ4044】  顯然肯定要搞一個(gè)回文其他直接添加,那么就是搞出所有回文的構(gòu)造最小步驟數(shù)。考慮用回文樹就能夠快速搞咯。

  【BZOJ4043】  顯然的我們發(fā)現(xiàn)如果第i-1位的關(guān)系方案數(shù)給弄出來那么第i位就能搞出來,然后我不會(huì)討論就想了另一種方法。令\(dp_{i,j}\)表示前i位組成了第j中關(guān)系,那么我們?cè)龠f推一個(gè)\(trans_{a,b,c1,c2,c3}\)第a種關(guān)系擼到第b種當(dāng)前的值是c1,c2,c3的轉(zhuǎn)移方案數(shù),這樣就可以做了。

  【BZOJ4387】  可以分治一維然后考慮合并兩個(gè)塊,那么就是two pointer掃一掃就可以了。

  【BZOJ4378】  令不小于s的數(shù)個(gè)數(shù)為cnt個(gè),小于s的和為sum,那么如果\(sum>=(c-cnt)*s\)那么就可以了,否則就爆了,這樣弄一個(gè)線段樹搞一搞就可以了。

  【BZOJ4049】  這道題好像類似的做過?線段樹上套凸包二分下就好了。

  【BZOJ4046】  考慮從大到小做生成樹,每次我們?nèi)右粋€(gè)邊進(jìn)去就有邊會(huì)出來,由于需要在線維護(hù),就可以使用可持久化線段樹維護(hù)當(dāng)前邊集。

  【BZOJ1072】  dp下余數(shù)和數(shù)集就可以了。

  【BZOJ1060】  搞出一個(gè)最大鏈,然后貪心亂搞一發(fā)就好了。

  【BZOJ1067】  分類討論,用線段樹什么維護(hù)維護(hù)。

  【BZOJ1068】  dp維護(hù)最右邊的M的位置就可以了。

  【BZOJ1085】  因?yàn)橛猩辖?#xff0c;所以用迭代dfs+啟發(fā)式函數(shù)優(yōu)化。

  【BZOJ1086】  塊狀樹的構(gòu)造。dfs一下,維護(hù)不管前面剩余與下面的搞一搞構(gòu)成塊,剩余的和上面合并一下,這個(gè)用dfs很容易自底向上維護(hù)。

  【BZOJ4385】  單調(diào)隊(duì)列做一做。

  【BZOJ4377】  弄了很久,可以搞出一開始一個(gè)可能合法的區(qū)間然后對(duì)它+a到下一個(gè)區(qū)間然后搞出這些可取不可取的區(qū)間,做一個(gè)不可取的并減一減,然后特判末尾。

  【BZOJ4275】  我們弄幾個(gè)dp分個(gè)段搞一搞就是O(n^2)了。

  【BZOJ4276】  二分圖匹配做一下就好了。jiangshibiao告訴我這是一個(gè)原題。。。很厲害的樣子還沒做馬克一下。

  【BZOJ4277】  移動(dòng)r,然后前面兩個(gè)手推一個(gè)東西出來,那么就是顯然的。

  【BZOJ4278】  比較下后綴的大小,貪心取一取就可以了。

  【BZOJ4281】  倍增。

  【BZOJ3157】  我們可以令\(f(k)=\sum_{1<=i<=n}i^{k}m^i\),用\((m-1)f(k)\)就很容易拆分計(jì)算了。就能\(O(n^2)\)進(jìn)行遞推。

  【BZOJ3516】  雙倍經(jīng)驗(yàn)。

  【BZOJ4280】  維護(hù)上下界和一個(gè)加的標(biāo)記,用線段樹維護(hù)。

  【BZOJ4321】  被告知oeis大法有線性遞推并不能理解。我們可以dp連通性就可以了。

  【BZOJ3620】  顯然對(duì)i...n造KMP暴力搞就可以了。

  【BZOJ1089】  令\(f_{i}\)表示深度不超過i的樹個(gè)數(shù),那么\(f_{i}=f_{i-1}^{n}+1\),就高精下咯。

  【BZOJ1002】  我就是來水一下的,拿了公式搞一搞。

  【BZOJ4327】  AC自動(dòng)機(jī)裸題?!?/p>

  【BZOJ4350】  令\(f_{i,j}\)表示[i,j]的組成的個(gè)數(shù),分()(S),((S)),((S))(S'),折三類搞,可以維護(hù)一個(gè)\(s_{i,j}\)表示對(duì)于1~i的中在1~j中的右括號(hào)數(shù),這樣就方便轉(zhuǎn)移了。

  【BZOJ3212】  線段樹裸題。

  【BZOJ4293】  考慮到交換位置不影響結(jié)果,那么我們從小到大,用線段樹亂搞就可以了。

  【BZOJ1101】  上古題目,用低水平姿勢(shì)就能推出來了。

  【BZOJ2801】  對(duì)于一個(gè)連通分量,對(duì)一個(gè)點(diǎn)設(shè)一個(gè)x,然后遞推一發(fā)。

  【BZOJ2799】  從小到大考慮,我們搞出以前沒用的且不被覆蓋的權(quán)值,還有維護(hù)當(dāng)前沒被覆蓋的權(quán)值,如果這兩個(gè)等于一個(gè)子樹且從上到下如果只有一個(gè)后繼,那么該點(diǎn)能被推出來,否則就是能搞出沒用且不被覆蓋的權(quán)值個(gè)數(shù)。

  【BZOJ4373】  維護(hù)hash值然后用線段樹搞一搞。

  【BZOJ4390】  樹上差分,dfs序維護(hù)。

  【BZOJ4392】  線段樹。

  【BZOJ3943】  最大生成樹。

  【BZOJ3940】  AC自動(dòng)機(jī)。

  【BZOJ4396】  set搞一搞。

  【BZOJ3123】  啟發(fā)式合并+可持久化線段樹。

  【BZOJ3743】  學(xué)習(xí)了一種O(n)的姿勢(shì),先搞出K個(gè)點(diǎn)的最大生成樹,然后考慮點(diǎn)在內(nèi)在外,跑跑bfs就行了。

  【BZOJ1815】  由于整數(shù)拆分的方案很少,直接上burnside就可以了,點(diǎn)的置換可以對(duì)應(yīng)邊的置換,塊內(nèi)n/2,塊間gcd(i,j)。

  【BZOJ3488】  感覺是個(gè)很顯然的題不知道為什么沒什么人過,可以用線段樹合并或者可持久化線段樹都能做。

  【BZOJ3221】  可持久化線段樹就能夠做了。。。我們之后就只需要麻麻麻就可以了。

  【BZOJ3514】  用LCT維護(hù)需要彈哪一個(gè)邊,這樣可持久化線段樹維護(hù)一波就可以了。

轉(zhuǎn)載于:https://www.cnblogs.com/YJMWOI/p/5080269.html

總結(jié)

以上是生活随笔為你收集整理的论逗逼的自我修养——BZOJ第一页计划的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。