第一題:把所有質數找出來,然後兩兩乘一下,用字首和即可。尤拉篩:設當前第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
(log2
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先手,雙方每次可以作出如下選擇 使用乙個法力水晶,使得傳送門的法力等級增加一。不用法力水晶,讓對方增加等於傳送門法力等級的深度,然後將傳送門的法力值清零。特別地,若法力水晶數不為零且傳送門法力等級為零則不能進行這樣的操作...