2021 02 27 NOIP提高B組 模擬 總結

2021-10-20 12:12:03 字數 1110 閱讀 8766

第一題:把所有質數找出來,然後兩兩乘一下,用字首和即可。尤拉篩:設當前第j

jj個質數為p

jp_j

pj​,則當i≡0

(mod

pj

)i\equiv 0(\mod p_j)

i≡0(mo

dpj​

)時,就不用再篩了。原因:ipj

+1≡0

(mod

pj

)ip_\equiv0(\mod p_j)

ipj+1​

≡0(m

odpj

​),所以這個數在用p

jp_j

pj​篩時就已經被篩了。因為每個數被篩一次,所以時間o(n

)o(n)

o(n)

。第二題:乙個貪心:任意相鄰的兩個企鵝匹配是最優的。所以我們先求出最多能有多少個組匹配,假設為x

xx,如果2x≥

k2x\geq k

2x≥k

,說明我們直接放就行了,答案為⌈k2

⌉\lceil\frac k 2\rceil

⌈2k​

⌉。否則我們就把剩下的繼續放,就是x+(

k−2x

)x+(k-2x)

x+(k−2

x)。匹配的求法:可以貪心,從下往上,遇到沒有匹配的就直接匹配;也可以動態規劃,設fi,

0/1f_

fi,0/1

​分別表示當前子樹的答案(這個節點擊還是不選)。轉移的話也是沒有匹配就匹配。

實話說這道題目考察了動態規劃和貪心。

第三題:狀壓一下,跑一遍搜尋或者spf

aspfa

spfa

。時間是一樣的。

第四題:有乙個貪心:從小到大遍歷,我們從左到右找到一合法位置,從右到左找到乙個合法位置(合法位置指的是滿足是第b+1

b+1b+

1個空位,因為空位的都是比它大的,空位沒放)。然後看一看哪個比較小即可。用資料結構優化,因為空位個數是遞增的,所以二分就行了。因為要查詢加二分,所以大概就是o(n

(log⁡2

n)

2o(n(\log_2^n)^2

o(n(

log2n​

)2。這一題這個貪心思路要仔細想一想。

2021 02 27 NOIP提高B組 模擬 總結

第一題 把所有質數找出來,然後兩兩乘一下,用字首和即可。尤拉篩 設當前第 j 個質數為 p j 則當 i equiv 0 mod p j 時,就不用再篩了。原因 ip equiv0 mod p j 所以這個數在用 p j 篩時就已經被篩了。因為每個數被篩一次,所以時間 o n 第二題 乙個貪心 任意...

2020 12 19 NOIP提高B組 總結

這是乙個好東西 作者主頁 t1 小w砍大樹 題目大意 給你乙個括號序列,裡面有字元t tt或f ff,表示1 11或0 00。當在奇數層時,值是所有t,f t,ft,f的 and andan d 值 當在偶數層時,值是所有的 oror or思路 直接照題目模擬。t2 灌水 給你乙個2n 2m 2n ...

2020 12 26 NOIP提高B組 總結

這是乙個好東西 作者主頁 t1 deep 題目大意 v和k各有一些法力水晶,由k先手,雙方每次可以作出如下選擇 使用乙個法力水晶,使得傳送門的法力等級增加一。不用法力水晶,讓對方增加等於傳送門法力等級的深度,然後將傳送門的法力值清零。特別地,若法力水晶數不為零且傳送門法力等級為零則不能進行這樣的操作...