APCS 2021-01 題解

💡Hint:程式碼省略最前面巨集部分,可以在 About 頁面找到。
p1. 購買力
Solution
把價格 sort 然後照題目條件判斷一下。
AC code
1 | signed main() { |
p2. 流量
Solution
對於每個方案先開一個陣列把流量算好,然後算價格取最小值。
AC code
1 | signed main() { |
p3. 切割費用
Solution
感覺是要考平衡樹,但 C++ 太方便了,直接用 set 的功能就可以做到。對切割的順序排序完從頭掃一次,維護一個 set 是之前切過的所有點,再把目前要切的點丟進 set 並用 set.find() 找到位置,他的前後位置就是要切的棒子的端點。時間複雜度
AC code
1 | signed main() { |
p4. 低地距離
Solution
老題目了,先對 x 再對 y 排序就變成 y 座標的 LIS 問題了。dp 解時間複雜度是
AC code
1 | signed main() { |
- 標題: APCS 2021-01 題解
- 作者: HyperSoWeak
- 撰寫于 : 2024-12-31 18:00:13
- 更新于 : 2024-12-31 18:00:13
- 連結: https://hypersoweak.github.io/blog/apcs/apcs-2021-01/
- 版權宣告: 本作品采用 CC BY-NC-SA 4.0 进行许可。