ABC365G - AtCoder Office
åé¡ãªã³ã¯
https://atcoder.jp/contests/abc365/tasks/abc365_g
å ¬åŒè§£èª¬1ã®èãæ¹
å ¬åŒè§£èª¬ã«å£ãã$i$çªç®ã®é«æ©ããããªãã£ã¹ã®äžã«ããæéã®åºéã®éåã$S_i$ãšããã ã¯ãšãªã®çµ$(A, B)$ã«ã€ããŠãäžèšãã¿ãŒã³I, â ¡ã«åããŠèããã
ãã¿ãŒã³IïŒ æçŽã«ã€ãã³ããœãŒãããŠåŠçã 髿©ããããããã®ã€ãã³ããäºãåããŠããã ã¯ãšãªã®çµ$(A, B)$ã®ã€ãã³ããããŒãžâéè€ããŠããæéãæ±ããã ã¯ãšãª1åããã$O(C_{})$ããã(ã€ãã³ãã¯å ¥åã§ãœãŒãæžã¿ãªã®ã§logã¯ããããªã)ã ã¯ãšãª$Q$åå šéš$C$以äžãããåŸãã®ã§ãã¯ãšãªå šäœã§$O(QC)$ãããã
ãã¿ãŒã³â ¡ïŒ ã¯ãšãªã®çµ$(A, B)$ã¯ã ã»$C$ãã倧ãã髿©ããã$\frac{M}{C}$ ã»ä»»æã®é«æ©ããã$N$ ãã®2çš®ãã1ã€ãã€éžã¶ã®ã§$O(\frac{NM}{C})$åã®ã¯ãšãªããã¿ãŒã³â ¡ã«åœãŠã¯ãŸãåŸãã ãããã¯ãšãªãäºãèšç®ããŠãã£ãã·ã¥ããã¯ãšãªã«çããããã«ããã
$S_i$ã$C$ãè¶ ãã髿©ããã$i$ãä»»æã®é«æ©ããã$x$ãšããŠãã¯ãšãªã®çµ$(i, x)$ããŸãšããŠåèšç®ããã åèšç®1åããããã€ãã³ãå šèµ°æ»ããŠ$x$ãå šéããã£ãã·ã¥ããã®ã§ãæéèšç®é$O(N+M)$ã空éèšç®é$O(N)$ãããã
$i$ã®ããåŸãåæ°ã¯$O(\frac{M}{C})$ (ã€ãã³ãåæ°$M$ããéŸå€$C$ãäœååããã)ã«ããã ãã£ãã·ã¥èšç®å šäœã§æéèšç®é$O(\frac{(N+M)M}{C})$ 空éèšç®é$O(\frac{NM}{C})$
$C=O(\sqrt{\frac{NM}{Q}})$ ãšããããšã§ã å šäœ$O(\sqrt{NMQ}+M\sqrt{\frac{MQ}{N}})$ã§è§£ããã
æåºã³ãŒã https://atcoder.jp/contests/abc365/submissions/56695169
å¹³æ¹åå²ã®èãæ¹1
å¯èœãªãã¯ãšãªã®çãããã¹ãŠäºãèšç®ããŠãã£ãã·ã¥ããããæéãæãããããããã äœåãã£ãã·ã¥ãæã£ãŠããã¹ããïŒ â$\sqrt{N}$ããããã£ãã·ã¥ãã ãã£ãã·ã¥ã§æã¡ãããªãåã¯éœåºŠæçŽèšç®ããã éœåºŠæçŽèšç®ããè² æ ãå°ãªããã®ã¯ã©ãããæ§è³ªãããïŒ â$S$ãå°ãããã®
å¹³æ¹åå²ã®èãæ¹2
ã¯ãšãªå šéšãéœåºŠæçŽèšç®ã§çãããšããã æçŽã§çãåããã¯ãšãª1åãããã®éçã¯ïŒ â$S$ã$\sqrt{M}$ããã ç¯å²å€ã®ãã®ã¯äºãèšç®ããŠãããŠãã£ãã·ã¥ããçããã
å ¬åŒè§£èª¬2ã®èãæ¹
åèšã$M$ã®ãšãã$Q$åã®çžç°ãªããã¢ã«ã€ããŠå°ããæ¹ã®åã¯$O(M\sqrt{Q})$ã§æããããã ã¯ãšãªïŒã€æããšããã§èšç®éãããã¢ã®å°ããæ¹log(ãã¢ã®å€§ããæ¹)ãã«ãªãããã«æžãã°éã«åãã€ã¡ãŒãžã
$O(MâQ)$ã§æããããæããããçç±ã®ã€ã¡ãŒãžã¯ã ãã¢$(A, B)$ã«ã€ããŠã$A$ã$B$ã$M$ãžã®å¯äžåãåããšããäžçªãã€ãã ãã¢ã«ç»å ŽããèŠçŽ ã®çš®é¡æ°ã$x$ã®ãšãããã®å šçµã¿åããã¯${}_xC_2=O(x^2)$ãªã®ã§ èŠçŽ ã®çš®é¡æ°ã$\sqrt{Q}$åã«ããŠã$M$ã$\sqrt{Q}$ã«åçã«å²ãæ¯ãã®ãææªã±ãŒã¹ã ãã®ãšãèŠçŽ äžã€ããã$O(\frac{M}{\sqrt{Q}})$ã ã¯ãšãª$Q$åé£ãã§ããã®ã§$O(\frac{M}{\sqrt{Q}}*Q)=O(M\sqrt{Q})$ã
ã¯ãšãªïŒã€æããšããã§èšç®éãããã¢ã®å°ããæ¹log(ãã¢ã®å€§ããæ¹)ãã«ããããŒã㯠ABC305D-Sleep Logãšåãã
ã¯ãšãªã¯çžç°ãªããã¢ã§ããå¿ èŠãããã®ã§ãåãã¯ãšãªãæ¥ããšãããã«ãã£ãã·ã¥ãå¿ èŠãªç¹ã«æ³šæã
æåºã³ãŒã https://atcoder.jp/contests/abc365/submissions/56669241
é¡é¡ https://www.facebook.com/codingcompetitions/hacker-cup/2022/qualification-round/problems/D















