附中校內賽

附中沒有什麼人打競程😭,校內賽直接複試,題目好水

時限都是1000ms,語言只有 C C++。

P1 A+1

送分題 輸入 n 輸出 n+1

solution 記得開 long long

P2 8puzzle

預設版面(0是空格):
1 2 3 4 5 6 7 8 0
給多筆測資 T<1'000'000個版面 回答可解還是不可解

solution 我實作炸開,甚至不確定滿分解怎麼做

P3 開會

給 n n<=2e5個會議區間 (a,b) 時間區段,一個會議要用一間會議室,最少要用幾間才可以讓每個會議都可以進行,且不衝突。

solution 差分+離散化

P4 砍樹

給 n n<=2e5棵樹,第 i 棵樹高度是 h_i h_i<=1e9,你想要收集m m<=2e15個木材,於是你決定去砍樹。但為了地球資源,你制定一套方法來砍樹:
設一個數字 k,對於第 i 棵樹,如果h_i>=k,則得到 h_i-k個木材,否則不砍這棵樹。
你想找到 k 的最大值使得得到的木材 >=m,輸出k,如果不存在一種方法可以滿足,輸出 0。

solution 二分搜

P5 RSA 解密

給定多筆測資,每筆測資包含四個整數:

p, q, e, c

其中:

n = p * q

並且:

φ(n) = (p - 1) * (q - 1)

你需要找到一個整數 d,滿足:

d * e ≡ 1 (mod φ(n))

也就是說,d 是 e 在模 φ(n) 意義下的乘法反元素。

接著利用 d 將密文 c 解密,輸出:

c^d mod n
題目會保證gcd(e, φ(n)) = 1

我不會QQ

椒麻

P6 基因工程

給字串 s,t,長度皆不超過 2000,要對 s 進行最少多少次一下三種操作之一使得修改過的 s 變成 t:
刪除任意一個字元
在任何位置增加任意一個字元
修改一個字元

solution DP老梗

P7 好朋友

給 n n<=2e5個人,和 m n<=2e7個朋友關係,如果 a 和 b 有朋友關係,則 a 和 b 在同一個社團,且社團有傳遞性,及 a 和 b 是朋友, b 和 c 是朋友,則 a,b,c 屬於同一個社團,問全部共有幾個社團。
如果一個人沒有朋友,他自己算一個社團。

solution 數連通塊,但是很奇怪的是我 DSU BFS 只拿 75%,但 DFS 100分。超怪?

心得

我大概一小時就拿 500 分了,就是寫完1 3 4 5(25) 6 7(75)
後來又過一小時,我7拿到100分,變 525 分。
之後時間花在 p2 但都沒有分數,我用 DFS 做好像是 stack over flow。

OJ 系統是老師架的,非常簡潔,題目是 PDF ,繳交區是一個編輯欄,按送出之後,會顯示 judging,每題都有4組測資,有部分給分,但沒有子題,會以 1✅2✅3✅4❌ 的方式表現。

我後面時間都一直花在 p2 我應該要寫BFS。