## 2525/06/08 ## 高一生程式設計排名賽 ## 題解 --- ### 預測難度 ---- Paul : C < E < F < D < I < A < B < G < H Charhao : E < C < F < I < D < G < B < A < H Blame : C < E < F < D < I < G < B = A < H ---- ### 實際難度 (AC人數比較) ---- pC < pE < pG < pF < pB < pA < pH --- ### pA -寶石礦坑 ---- Fun fact 王🉐宏是某個人的化名 他是地科大師 那張照片上面的人根本不是他是charhao ---- 題目:給兩個凸多邊形,問有沒有重疊的部分 ---- 可以把會重疊的情況分成兩種: 1. 兩個多邊形的邊有重疊 2. 某一個多邊形完全被另一個多邊形包覆 ---- solution by Paul 針對第一個,就直接暴力判有沒有認兩條邊重疊 針對第二個,判有沒有其中一個多邊形的每個點都在另一個圖形裡面(打射線出去)~~然後被卡常~~ ---- solution by blame 針對第一個,就直接暴力判有沒有認兩條邊重疊 針對第二個,用向量外積判斷方向性 ---- Bonus 這題可以做到$nlogn$時間複雜度(minkowski sum) 去問 Brinton --- ### pB - 我得自升級 ---- Fun fact 我獨自升級是一個很好看的漫畫 ---- solution by blame 做一次manacher 對所有詢問離線回答 用BIT + 掃描線 ---- solution by brinton 這題是水題 做dp就行了 ---- bonus 假如每一筆詢問 $K$ 可變 又可以怎麼做呢? --- ### pC - 向左走向右走 ---- Fun fact 題目名稱這是一本繪本/電影 然後這題長得有點線段樹的影子 ---- 妥妥的簽到題 沒啥好講的 --- ### pD - 寶箱怪阿祖北京烤鴨 ---- Fun fact 這是唯一一題沒有 fun fact 的題目 ---- solution by charhao 掃描線+[這個技巧](https://cses.fi/problemset/task/1076) ---- bonus 假如每個詢問都給你K K可變 那要怎麼做呢? --- ### pE - 很得的問題 ---- Fun fact 1.原本這題要出最大子區間和,不過因為一直被嗆,所以就在比賽前天緊急換掉 2.這題原本叫簡短的問題,但是因為 $\oplus$ 和 :ideograph_advantage: 很像所以就改了 ---- solution by charhao 對每個數字計算他被所有區間涵蓋到幾次 如果是奇數次就代表他對答案有貢獻 否則就沒有 --- ### pF - 三天之後 ---- Fun fact 原本打算叫做三天三夜但是跟圖片有點不搭 這題原本的解法被打爛 ---- solution by Blame and Charhao 先對兩個數字暴力枚舉之後建表(map) 每次詢問的時候暴力枚舉第三個數字並查表 複雜度 $O(n^{2/3}+qn^{1/3}log(n^{2/3}))$ map、unordered_map會被卡常 要用離散化 --- ### pG - 數剖題 ---- Fun fact 1. 題目其實是想騙你做樹鍊剖分 2. 我畫的畫真好看 ---- solution by blame 仔細觀察會發現 兩點距離 > 63 因為鴿籠原理,所以一定是 YES 其他的用LCA跳一跳就好了 好吧 其實不用鴿籠原理也可以用LCA跳跳解 (我沒卡那個常數ㄏㄏ) --- ### pH - 速通麥塊 ---- Fun fact 1. 這題本來出出來是要拿來卡 Brinton 的 結果他沒有來 所以變成一題好難的防破台題 2. 題目一開始的圖是我畫的Dream ---- solution by blame Max Plus Matrix 也可以說是廣義矩陣乘法 也就是把矩陣的×改成+,+改成max 然後就一般的矩陣轉移 然後多筆區間詢問跟單點修改,線段樹! ---- Bonus 假如 DP 式中的max plus 操作改成其他的 有哪些也可以用相同解法? --- ### pI - 電機社的殞落 ---- Fun fact 題敘是brinton想的,如果有電機社的人請去找他 ---- solution by charhao 把刪點變成加點,每次新增一個點時,就用這個點當作floyed-warshell的中間點做轉移 所以複雜度會是 $O(N^3)$ --- Last Fun Fact ---- 詢問大賽 9題裡有7題是Q筆詢問 --- ## 諧咖 ---- pB 線上賽 GPT 做出來了 沒寫出來的人 應該要檢討 ---- wonderhoi 花了一個小時幫我們驗證了 pF unordered_map 會被卡常 哈哈 ---- 有人 pG 刻 HLD ![image](https://hackmd.io/_uploads/rkruAoMXge.png) 哈哈 考古 但他AC了 ㄏㄏ ---- 現場教學 string ![image](https://hackmd.io/_uploads/HJZ7E3zXex.png) ---- 教學過於認真,需要換頁才能裝得下 ![image](https://hackmd.io/_uploads/SyMr43fmxl.png) ---- 線上組 pF checker 爛掉,讓人AC了 及時修正,問題不大 ouob ---- 有人藏 code 藏到燒雞 哈哈 ---- ams 哈哈 ```cpp= sort(ans.begin(), ams.end()); ``` ---- 想再玩一次 "猜" ```cpp= #include<bits/stdc++.h> using namespace std; typedef long long ll; int main(){ if(time(0) & 1) puts("Yes"); else puts("No"); } ```
{"title":"2525/06/08 高一生程式設計排名賽","contributors":"[{\"id\":\"51bd6757-8451-4ee6-b557-5fb79149702e\",\"add\":1852,\"del\":202},{\"id\":\"666122dc-f2d0-411a-a45d-d744501a3323\",\"add\":671,\"del\":27},{\"id\":\"bd270eee-c832-4601-93c2-c97b0238237f\",\"add\":506,\"del\":16}]","description":"Fun fact"}
    165 views