PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Prob_Solve
[問題] NPSC 2017 國中組初賽 D.吃點心
作者:
fatcat8127
(胖胖貓)
2019-04-21 07:50:07
如題,題目在中女中的OJ上(http://tcgs.tc.edu.tw:1218/ShowProblem?problemid=z033)
目前沒人通過且NPSC補完計畫上的程式碼也是會TLE,當年的紀錄也沒有隊伍AC。
題目的數字個數最多會有 1e6 個,雖然時限是 6s
但枚舉任意組的開頭和結尾形成的子區間判斷會吃TLE。
附個暴力法實作的 Code : https://www.codepile.net/pile/oVxp1RVO
想問一下這題有O(N^2)的暴力法外的其他作法嗎?
作者:
sifmelcara
(sifmelcara)
2019-04-21 11:08:00
https://pastebin.com/2MAAqeQq
用了 merkle tree做到 O(logN) 的時間更新"所有數字奇偶狀態的"的 hash但這應該不是 intended solution... 坐等高手
作者: longlongint (華哥爾)
2019-04-21 12:19:00
題目的舉例我看不懂 為什麼吃掉1有算一種?哦 原來數字是種類不是數量用積分方式算[0,L] 的奇偶數, 相扣可以得到任意[L,R]的奇偶數,所以只統計相同奇偶數出現次數k算所有c(k,2)加起來是答案,樓上用 hash tree 加速做掉了?
作者:
GYLin
(Lynx)
2019-04-21 23:46:00
這是國中題目 所以有國中數學的解法...? 坐等高手+1
作者:
LPH66
(-6.2598534e+18f)
2019-04-22 00:56:00
就樓上的方法啦, 積分方式其實就是 prefix sum 而已統計可以用例如 std::map 或 std::unordered_map
作者:
GYLin
(Lynx)
2019-04-22 02:33:00
種類太多 感覺也只能hash了不過hash要怎麼存才不會爆記憶體?
作者:
sifmelcara
(sifmelcara)
2019-04-22 10:41:00
就…只存hash出的值,不存原本的值,祈禱不會碰撞把10^6個數字hash到uint64_t,有碰撞產生的機率差不多是 (10^6)^2 / 2^64 而已 (birthday attack)
作者:
GYLin
(Lynx)
2019-04-22 14:08:00
剛剛用1e18+3這個prime modulo喇過了...仔細想想 1e6種數字 裝到1e60的buckets 還會碰撞也太賽講錯 1e18的buckets
繼續閱讀
Re: [問題] UVa 11464 : Even Parity
ckc1ark
[問題] UVa 11464 : Even Parity
nicknick0630
[請益] leetcode-design your linked list
hayuyang
[問題] 離線處理(已解決)
fatcat8127
Re: [問題] ZeroJudge-c216
stimim
Re: [問題] ZeroJudge-c216
GYLin
[問題] ZeroJudge-c216(已解決)
fatcat8127
[心得] CF771C sum over ceil(path length / k) on a tree
rareone
[心得] CF1142B Greedy + RMQ + Pointer Jumping
rareone
[心得] CF576C Mo's algorithm on non-DS problem
rareone
Links
booklink
Contact Us: admin [ a t ] ucptt.com