<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>jkrt2 blog</title>
    <link>https://jkrt2.tistory.com/</link>
    <description>PS나 쓰고 싶은 거 쓰는 곳</description>
    <language>ko</language>
    <pubDate>Tue, 16 Jun 2026 10:19:27 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>jkrt2</managingEditor>
    <image>
      <title>jkrt2 blog</title>
      <url>https://tistory1.daumcdn.net/tistory/8334735/attach/4026aed220e6416b8453e99883c543de</url>
      <link>https://jkrt2.tistory.com</link>
    </image>
    <item>
      <title>DOJ Beginner Contest 출제 + 참여 후기</title>
      <link>https://jkrt2.tistory.com/13</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이전 글에도 언급한 바가 있으나, dojoi.xyz에 처음으로 문제를 출제해보았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 UCPC에 낸 문제였다 떨어졌던 문제였는데, 인생 처음으로 만들어본 문제를 대회에 쓰자면 좀 양심이 죽어버리는 거 같아서 처음에 일반 문제로 신청했으나, 나중에&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;dadas08&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 대회 문제로 쓰는 것이 어떠냐 물어보면서 대회에 쓰이게 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 기회에 세팅도 처음으로 해봤습니다. 폴리곤이 생각보다 처음에 고려해야 할 사항이 많아서 제미나이를 여러 번 혹사시키고 다른 분들 도움도 받아보고, 심지어&amp;nbsp;&lt;b&gt;대회 시작 3시간 전&amp;nbsp;&lt;/b&gt;(그 당시 SCSC에서 돌아오는 길이라...)에 세팅을 하기도 했습니다. 그래서인지 솔직히 데이터도 약간 부족한 부분이 은근 있었던 것 같습니다. 이거도 그나마 세팅하기 쉬웠던 문제들이였는데, 스페셜 저지나 인터랙티브를 하면 죽을맛일 것 같아 보입니다. 저거도 나중에 해봐야되겠네요.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;만든 문제들과 대략적인 풀이는 다음과 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dojoi.xyz/ko/problems/65&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dojoi.xyz/ko/problems/65&lt;/a&gt; - +2 x2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대회 세팅을 하던 도중 즉석으로 만든 문제입니다. 처음에는 O(NlogN) 덱 풀이 (최소 지수를 m이라 할 시 쿼리 수의 제한 때문에 대략 m+25 정도까지만 덱에 보관해두면 되는 형식)을 생각하고 있었는데 나중에 O(N) 나이브 덧셈 풀이, 그리고 O(NlogN) 레이지세그 풀이 등이 제안 되었습니다. 이 문제를 밤 뒤늦게까지 검수하느라 하마터면 &lt;b&gt;정해가 틀린 채로&lt;/b&gt; 낼 뻔했습니다 ㄱ-&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지문도 좀 엉성해서 다른 분들이 고쳐주긴 했습니다;;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dojoi.xyz/ko/problems/67&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dojoi.xyz/ko/problems/67&lt;/a&gt; - 67 Eradicator&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이걸 UCPC에 낸다는 사람이 미친놈인 거 같네요. 일단 '67'이 들어간 수는 들어가면 안 되는 것이 자명하며, 이들을 제거한 뒤 (6으로 끝나는 수, 7로 시작하는 수) 짝 중 6으로 끝나는 수를 제거하는 것이 최적임을 보일 수 있고, 이를 Digit DP로 구현하면 됩니다. 다만, 여기서 두 개의 Digit DP를 서로 겹치지 않게 조심히 세팅해야 하며, 그와 동시에 N-1, N, 6 등 예외 처리할 게 생각보다 까다로워서 좀 똥문제가 맞는 듯;; 그래서인지 풀테를 푸신 분이 무려 마지막 문제보다도 더 늦게 나왔는데 어찌저찌 나오긴 했습니다. 저 짧은 시간 안에 저게 풀리나 싶은데 ㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음 대회인 BCD 2는 직접 참가했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 솔직히 본인이 좀 구리게 해서 딱히 할 말이 없네요 ㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;몇 가지 얘기할 게 있자면, B가 CDE보다 어려워서 (사실 저는 찍맞하긴 해서 다 얼추 비슷한 난이도였던 듯 ㄱ-) 스코어보드에 ACDE를 풀고 난 뒤에서야 B를 채우는 것이 좀 황당하긴 했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;또한&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;letter-spacing: 0px;&quot; href=&quot;https://dojoi.xyz/ko/problems/89&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dojoi.xyz/ko/problems/89&lt;/a&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; 에서 특별 분할정복 방식을 깨닫게 됐는데 (백준에서 풀어본 적이 있으나 그 당시에는 그냥 납득만 하고 넘어간 듯...), 이런 태그 좀 연습해야 할 것 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 BCD 1, 2 둘 다 문제가 많이 쉬웠다가 어느 시점에서 급발진하던 것 같은데, 그래서인지 처음에는 1위 유지하다가 점점 떨어지는 것이 일상이 된 것 같습니다. 사실 ABC와 큰차이점이 OI 형식이라 어려운 문제에서도 섭테 정도는 은근 긁어갈 수 있었는데, 어차피 대부분 고수분들이 전에 언급한 89번을 풀로 풀어서 점수 상 밀렸습니다 하하핳! 플레 상위권 연습 좀 하자...&lt;/p&gt;</description>
      <category>PS</category>
      <author>jkrt2</author>
      <guid isPermaLink="true">https://jkrt2.tistory.com/13</guid>
      <comments>https://jkrt2.tistory.com/13#entry13comment</comments>
      <pubDate>Sat, 6 Jun 2026 23:27:17 +0900</pubDate>
    </item>
    <item>
      <title>[JUNGOL #2268] 그레이 코드</title>
      <link>https://jkrt2.tistory.com/12</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;출처: KOI 본선 2010 5번&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;난이도 (Personal):&amp;nbsp;&lt;span style=&quot;color: #9feec3;&quot;&gt;Platinum III - IV&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;태그: Bitmasking, Constructive&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;문제&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(a,b)와 (c,d)가 서로 붙어있는 그레이 코드 (매 인접한 수마다 비트가 하나씩만 다른 원형 배열)을 만들어라.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;풀이:&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일단 본문의 그레이 코드 예시를 살펴보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;00&lt;span style=&quot;color: #ee2323;&quot;&gt;0&lt;/span&gt; - 0&lt;span style=&quot;color: #ee2323;&quot;&gt;0&lt;/span&gt;1 - 01&lt;span style=&quot;color: #ee2323;&quot;&gt;1&lt;/span&gt; - &lt;span style=&quot;color: #ee2323;&quot;&gt;0&lt;/span&gt;10 - 11&lt;span style=&quot;color: #ee2323;&quot;&gt;0&lt;/span&gt; - 1&lt;span style=&quot;color: #ee2323;&quot;&gt;1&lt;/span&gt;1 - 10&lt;span style=&quot;color: #ee2323;&quot;&gt;1&lt;/span&gt; - 100&lt;/b&gt;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;각&amp;nbsp;빨간색&amp;nbsp;위치는&amp;nbsp;어느&amp;nbsp;비트에서&amp;nbsp;달라지는지를&amp;nbsp;나타낸다.&amp;nbsp;편의상&amp;nbsp;1의&amp;nbsp;자리를&amp;nbsp;1번째&amp;nbsp;비트,&amp;nbsp;2의&amp;nbsp;자리를&amp;nbsp;2번째&amp;nbsp;비트,&amp;nbsp;4의&amp;nbsp;자리를&amp;nbsp;3번째&amp;nbsp;비트...&amp;nbsp;라고&amp;nbsp;하겠다. &lt;br /&gt;그러면&amp;nbsp;순서대로&amp;nbsp;1&amp;nbsp;-&amp;nbsp;2&amp;nbsp;-&amp;nbsp;1&amp;nbsp;-&amp;nbsp;3&amp;nbsp;-&amp;nbsp;1&amp;nbsp;-&amp;nbsp;2&amp;nbsp;-&amp;nbsp;1인데,&amp;nbsp;이는&amp;nbsp;하노이&amp;nbsp;탑의&amp;nbsp;이동&amp;nbsp;순서와&amp;nbsp;동일함을&amp;nbsp;알&amp;nbsp;수&amp;nbsp;있다. &lt;br /&gt;대체로&amp;nbsp;n개의&amp;nbsp;비트에&amp;nbsp;대해서&amp;nbsp;이&amp;nbsp;순서대로&amp;nbsp;움직이는&amp;nbsp;것이&amp;nbsp;그레이&amp;nbsp;코드를&amp;nbsp;생성함을&amp;nbsp;보일&amp;nbsp;수&amp;nbsp;있다. &lt;br /&gt;&lt;br /&gt;또한, 모든 비트는 서로 대칭적인 구조를 가지므로 ABACABA... 순서만 따르면 어떤 비트를 먼저 뒤집는지 상관이 없다. 그리고 홀짝도 마찬가지므로 시작하는 값도 무관하다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;예시로 3 - 1 - 3 - 2 - 3 - 1 - 3로 010에서 시작 시&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;0&lt;/span&gt;10 - 11&lt;span style=&quot;color: #ee2323;&quot;&gt;0&lt;/span&gt; - &lt;span style=&quot;color: #ee2323;&quot;&gt;1&lt;/span&gt;11 - 0&lt;span style=&quot;color: #ee2323;&quot;&gt;1&lt;/span&gt;1 - &lt;span style=&quot;color: #ee2323;&quot;&gt;0&lt;/span&gt;01 - 10&lt;span style=&quot;color: #ee2323;&quot;&gt;1&lt;/span&gt; - &lt;span style=&quot;color: #ee2323;&quot;&gt;1&lt;/span&gt;00 - 000&lt;/b&gt;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;으로 그레이 코드가 됨을 볼 수 있다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;이제&amp;nbsp;예제를&amp;nbsp;다시&amp;nbsp;한&amp;nbsp;번&amp;nbsp;살펴보도록&amp;nbsp;하자.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;1번째 비트가 바뀌는 짝은 다음과 같다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; &lt;b&gt;000&amp;nbsp;- 001 &lt;span style=&quot;color: #000000;&quot;&gt;-&lt;/span&gt; 011&amp;nbsp;-&amp;nbsp;010 &lt;span style=&quot;color: #000000;&quot;&gt;-&lt;/span&gt; 110&amp;nbsp;- 111 &lt;span style=&quot;color: #000000;&quot;&gt;-&lt;/span&gt; 101&amp;nbsp;- 100&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1번째 비트가 2^3 / 2번 바뀌기에 가능한 모든 짝이 나타남을 볼 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 2번째 비트가 바뀌는 짝은 다음과 같다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;000&amp;nbsp;- &lt;span style=&quot;color: #ee2323;&quot;&gt;001&amp;nbsp;-&amp;nbsp;011&lt;/span&gt;&amp;nbsp;-&amp;nbsp;010&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;110&amp;nbsp;- &lt;span style=&quot;color: #ee2323;&quot;&gt;111&amp;nbsp;-&amp;nbsp;101&amp;nbsp;&lt;/span&gt;- 100&lt;/b&gt;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;이 때 짝은 모든 홀수 (즉, 1번째 비트가 1인)인 지점을 점거하는데, 이는 2번째 비트가 2^3 / 4번 바뀌며, 2번째 비트가 바뀌는 모든 순간 사이에 1번째 비트가 2번 바뀌기 때문이다. (동일한 비트가 2번 바뀌면 원상태로 돌아온다.)&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;그러면 시작점을 0 대신 1로 바꾸면 어떻게 될까?&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;001 -&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;000 - 010&lt;/span&gt; - 011&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;111 -&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;110 - 100 &lt;/span&gt;- 101&lt;/b&gt;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;이러면 모든 짝수가 (즉, 1번째 비트가 0인) 2번째 비트가 달라지는 짝을 형성한다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;위와 마찬가지 방법으로 진행하면 된다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어서 처음 짝이 P번째 비트, 그 다음 짝이 Q번째 비트에서 달라진다고 하자.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;그러면 ABACABA... 패턴에서 A를 P로 두면, 처음 짝이 항상 나타남을 보장할 수 있다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;i) P = Q&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;이러면 두 번째 짝 역시 항상 나타남을 보장할 수 있다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;ii) P != Q&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;ABACABA... 패턴에서 B를 Q로 두면 Q번째 비트가 바뀌는 모든 짝은 P번째 비트가 모두 같다 (1이든가 0이든가.)&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;그러면 모든 수의 P번째 비트를 전환하면 그레이 코드가 유지되며, Q번째 비트가 바뀌는 모든 짝의 P번째 비트가 전환되므로 둘 중의 하나는 두 번째 짝을 항상 포함해야 한다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어서, 주어진 짝들이&amp;nbsp;&lt;b&gt;[1,3] (P = 2), [0,4] (Q = 3)&lt;/b&gt;이라 하자.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;그러면 ABACABA... 패턴을 [&lt;b&gt;2 (= P)&lt;/b&gt;,&lt;b&gt;3 (= Q)&lt;/b&gt;,2,1,2,3,2]로 둘 시&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;000 - 010 - 110 - 100 - 101 - 111 - &lt;span style=&quot;color: #ee2323;&quot;&gt;011 - 001&lt;/span&gt;&lt;/b&gt;이 된다.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;위와 같이 첫 번째 짝은 항상 포함된다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;그러나, 두 번째 짝이 포함되지 않으므로 모든 수의 2번째 비트를 뒤집는다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;그러면&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;010 - &lt;span style=&quot;color: #006dd7;&quot;&gt;000 - 100&lt;/span&gt; - 110 - 111 - 101 -&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;001 - 011&lt;/span&gt;&lt;/b&gt;이 되어서, 두 번째 짝 역시 포함됨을 확인할 수 있다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;이제 입력 조건 (000...0으로 시작, 8개당 한 줄)만 맞춰서 출력하면 AC를 받을 수 있다.&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;풀이 소스코드:&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1779873127811&quot; class=&quot;vim&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;def numm():
        return map(int,input().split())

        import sys
m,k=numm()
a,b=input().split()
a =int(a,2)
b=int(b,2)
c=a
d=b
K = abs(a-b)
L=K
if K.bit_count()!=1:
    print(-1)
    sys.exit()
if k&amp;gt;1:
    c,d=input().split()
    c =int(c,2)
    d=int(d,2)
    L=abs(c-d)
if L.bit_count()!=1:
    print(-1)
    sys.exit()
K = K.bit_length()-1
L = L.bit_length()-1
ar = [K,L]
if L==K:
    ar.pop()
for i in range(m):
    if i not in ar:
        ar.append(i)
ar2 = [a]
v = 0
for i in range(1,1&amp;lt;&amp;lt;m):
    B = i&amp;amp;(-i)
    B = B.bit_length()-1
    ar2.append(ar2[-1]^(1&amp;lt;&amp;lt;ar[B]))
for i in range(1&amp;lt;&amp;lt;m):
    if (ar2[i],ar2[i-1])==(c,d) or (ar2[i],ar2[i-1])==(d,c):
        v = 1
if not v:
    S = ar2[0]^ar2[1]
    for i in range(1&amp;lt;&amp;lt;m):
        ar2[i]^=S
ar3=[]
for i in range(1&amp;lt;&amp;lt;m):
    B = bin(ar2[i])[2:]
    B = (m-len(B))*'0'+B
    ar3.append(B)
PP = ar3.index('0'*m)
ar3 = ar3[PP:]+ar3[:PP]
for i,z in enumerate(ar3):
    print(z,end=' ')
    if i&amp;amp;7==7:
        print()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>PS</category>
      <author>jkrt2</author>
      <guid isPermaLink="true">https://jkrt2.tistory.com/12</guid>
      <comments>https://jkrt2.tistory.com/12#entry12comment</comments>
      <pubDate>Wed, 27 May 2026 18:12:28 +0900</pubDate>
    </item>
    <item>
      <title>2026 SCSC 프로그래밍 경시대회 [Div. 1] 후기</title>
      <link>https://jkrt2.tistory.com/11</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;카이런&amp;nbsp;(&lt;a href=&quot;https://jkrt2.tistory.com/10)&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://jkrt2.tistory.com/10)&lt;/a&gt;&amp;nbsp;참가가&amp;nbsp;얼마&amp;nbsp;안&amp;nbsp;됐지만&amp;nbsp;계속&amp;nbsp;달린다.&amp;nbsp;이번에는&amp;nbsp;서울대다. &lt;br /&gt;이&amp;nbsp;대회가&amp;nbsp;원래였으면&amp;nbsp;오프라인&amp;nbsp;대회&amp;nbsp;기준으로&amp;nbsp;라스트&amp;nbsp;댄스였을텐데&amp;nbsp;며칠&amp;nbsp;전에&amp;nbsp;&lt;b&gt;입대&amp;nbsp;연기&lt;/b&gt;라는 대형참사가 터져서 의도치 않게 PS 수명이 조금 늘어났다...&amp;nbsp;&lt;b&gt;UCPC&lt;/b&gt; 팀원도 구해야 할 거 같다. 그나마 요즘 폼이 상승세인 게 다행이라 하자 ㅋㅋ; &lt;br /&gt;&lt;br /&gt;아무튼&amp;nbsp;Division&amp;nbsp;1에&amp;nbsp;배정됐다.&amp;nbsp;지난&amp;nbsp;SCSC&amp;nbsp;대회가&amp;nbsp;열렸을&amp;nbsp;당시에는&amp;nbsp;PS는&amp;nbsp;시작하지도&amp;nbsp;않았을텐데,&amp;nbsp;어쩌다&amp;nbsp;딥2하고&amp;nbsp;딥3을&amp;nbsp;건너뛰었다.&amp;nbsp;다름이&amp;nbsp;아닌&amp;nbsp;코포&amp;nbsp;레이팅&amp;nbsp;때문인데,&amp;nbsp;몇&amp;nbsp;달&amp;nbsp;전에&amp;nbsp;2번&amp;nbsp;연속으로&amp;nbsp;최고점이&amp;nbsp;찍혀서&amp;nbsp;&lt;span style=&quot;color: #f3c000;&quot;&gt;2100&lt;/span&gt;을&amp;nbsp;간신히&amp;nbsp;넘긴&amp;nbsp;적이&amp;nbsp;있었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;472&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q9tjX/dJMcadaVCdb/sJvORbVtsY7t35I23fjp41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q9tjX/dJMcadaVCdb/sJvORbVtsY7t35I23fjp41/img.png&quot; data-alt=&quot;진짜 띡하고 한 번 올라갔다 (2104)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q9tjX/dJMcadaVCdb/sJvORbVtsY7t35I23fjp41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq9tjX%2FdJMcadaVCdb%2FsJvORbVtsY7t35I23fjp41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;472&quot; height=&quot;196&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;472&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;진짜 띡하고 한 번 올라갔다 (2104)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 뒤 곧바로 20층으로 내려가고 그 뒤 7번 연속 20층 레이팅을 넘어서 &lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;20층 퍼포&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;를 찍는 저 세상 저점-고점 차이를 보여주고 있었다가, 카이런 포스트에도 잠시 언급한 것과 같이 쌀먹 인터랙티브 덕분에 다시 오렌지를 찍어서 4점 차이로 딥2에 못 갔다는 억울함(...)은 조금 풀린 것 같다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 카이런과 비교해서 난이도가 오름차순이 아닌 점하고 딥1이라 난이도 분포가 &lt;b&gt;골 - 루&lt;/b&gt;라는 게 좀 많이 무섭긴 했다. 그래서 굳이 솔브를 많이 할 생각은 하나도 안 하고 들어갔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 그 날 처음으로 서울대 안으로 가봤는데, 서울대 역하고 샤 구조물하고 거리가 엄청나게 먼 걸 보니까 서울대가 얼마나 큰지 체감이 된 것 같다. 연세대도 은근 큰 것 같았는데....&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번에는 닉네임을 &lt;b&gt;콘치즈볼루션&lt;/b&gt;으로 했다. 지난 번처럼 지메 맵 (&lt;a href=&quot;https://gdbrowser.com/105724358&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://gdbrowser.com/105724358&lt;/a&gt;, 전 platformer 1위) 이름을 갔다 붙였다. 사실 대회 내 누군가를 사칭할까 생각하기는 했는데 그건 나중에 기회가 된다면 한 번 해보겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1:03 - C AC [&lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;+6&lt;/span&gt;&lt;/b&gt;]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 퍼솔한다는 마인드로 A를 건너뛰었다. 아무리 봐도 '잘' 만들면 풀릴 해구성 문제였는데 아무리 봐도 패턴이 안 보여서 N &amp;gt;= 8, 10, 11, 14... 이렇게 수를 늘려가면서 얼마나 가능하고 불가능한지를 찍다가 어느새 퍼솔은 간 지 오래 됐고 WA도 6개나 쌓였다. 결국엔 맞추긴 했는데 아무래도 믿음의 풀이만 계속 제출하다가 1솔한 시점에서 벌써 30위가 된 상황이였다. 여담으로 이 문제는 대 &lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;mythofys&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가 퍼솔에 성공했다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1:35 - A AC [&lt;span style=&quot;color: #009a87;&quot;&gt;+1&lt;/span&gt;]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C를 푼 시점에서 가장 많이 풀린 게 A여서 돌아갔더니 상당히 까다로운 이탐 문제임을 깨달았다. 그걸 알아도 생각보다 구현이 까다로워서 (Master 수의 변화를 트래킹하는 것이 생각보다 실수하기가 쉽다) 1틀을 했다. 그래도 이번 대회에서 가장 쉬운 문제는 맞는 것 같다. 그런데 나중에 에디토리얼에서는 O(N+Q) 그리디가 가능하다고 하였다. N 제한이 2000이 아니였다면 이 문제는 못 맞췄을 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2:38 - J AC &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;+1&lt;/span&gt;]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 이 문제는 얼마나 어려운지 파악을 잘 못 하겠다. 카이런 G와 비슷한 식으로 분할정복을 하면 되지 않을까라 했더니 맞았다. 근데 레지스터를 2048개 이하 써야 한다는 조건이 좀 빡세긴 했는데, 실수로 아직 분할하는 과정에서 채팅봇이 응답하는 가능성이 있었기 때문이다. 그건 좀 어거지로 무작위화를 돌려서 풀 수 있음을 알게 되었고, 그 뒤에는 꽤 순조롭게 맞았다. 좀 무식하게 푼 거 같긴 한데.... 지금 한 문제도 더 풀기 어려운 상황에서 그런 걸 따질 시간은 없었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무튼 이걸 풀 당시에 K 데이터 반영 오류 때문에 대회 시간이 30분만큼 늘었다는 뉴스를 듣게 되었다. 그래서 그 문제도 한 번 보면서 풀려고 했는데 아무래도 CHT 똑붙....인가 했는데 슬라이딩 윈도우 마냥 제거하는 방법을 몰라서 (그리고 그 당시 제대로 못 들어서 L 최종 제한이 100만이였는지 500만이였는지를 잘 몰라서) 그냥 건너뛰었다. 차라리 물어보고 제출하는 게 낫다라는 생각을 지금 와서 뒤늦게 하고 있긴 한데 어차피 풀었어도 등수에 차이는 그렇게 많이 나지는 않았을 것 같다. 참고로 정해는 CHT + Silding Window라는데 도대체 저게 왜 O(L)에 되는 건지 모르겠다. DP 최적화는 아직 배울 게 많나 보다. 그 외에도 D도 뭔가 트리 DP 이상한 거 쓰면 되나 하고 찍맞 유사한 풀이를 몇 개 해봤는데 될 리가 없었다. 그건 뭔 페이커 알고리즘이라고 쓰는 게 있다는데 난 대 상 혁만 알고 있고 공부하기가 귀찮다. 아무튼 다 실패로 끝날 줄 알고 3솔로 만족하려 했더니....&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3:43 - F AC&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;[&lt;span style=&quot;color: #009a87;&quot;&gt;+&lt;/span&gt;]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정말 놀랍게도 하나의 문제를 더 풀었다!!! 이거도 A처럼 제한을 더 늘릴 수 있는 문제라는데 (NTT로 O(NlogN)이 가능하다고 한다), 다행히 quadratic 풀이가 가능했다. 누적 합 + DP를 사용하면 되는데, DP 식을 짜다가 진짜 머리가 아팠다. 정리를 잘 못 하는 인간이라 식 변수도 혼동하는 경우가 몇 번이나 있었지만 놀랍게도 꽤 일찍 예제가 나오는 데 성공하였고 그대로 AC를 맞았다. 다행히 이번 문제는 틀리기 어려운 예제가 있어서 (그리고 스저지 문제가 아니여서) 푼 문제 중 유일하게 WA 없이 맞추게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추가로 주어진 30분은 의미없게 쓰다가 그렇게 대회 끝.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(앳코 기준) 페널티 700분에 4솔로 15위로 마무리했다. C부터 욕심부리지 않았으면 조금 더 낫았을 것 같긴 한데 처음에 박은 거 치고는 뭐 F 푼 것만으로도 충분히 만족스러운 것 같다. 이제 딥1에도 꽤 경쟁력이 생겼다는 점을 보여준 것 같다. 10위 이상이면 키보드가 상품이긴 했는데 받았다면 지메 하느라 업키만 혹사시킬 게 뻔했다. 문제 중에서는 F하고 J가 예상 난이도 P1이라는데 요즘 플레 상위권을 계속 하나씩은 풀고 있는 것 같아서 성장세가 드러나는 것 같긴 하다. 재밌는 점은 &lt;b&gt;&lt;span style=&quot;color: #9feec3;&quot;&gt;P5&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;라고 주장한 문제 (H)가 있음에도 그 문제는 결국 0솔로 마무리되었다. 진짜 지문 보고 바로 입구컷 당했는데 난이도 파악하기도 생각보다 중요한 스킬 같다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2180&quot; data-origin-height=&quot;306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzO5KQ/dJMcagr06Qa/f94y6BEGnonlru4Oaaq6pK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzO5KQ/dJMcagr06Qa/f94y6BEGnonlru4Oaaq6pK/img.png&quot; data-alt=&quot;최종 순위&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzO5KQ/dJMcagr06Qa/f94y6BEGnonlru4Oaaq6pK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzO5KQ%2FdJMcagr06Qa%2Ff94y6BEGnonlru4Oaaq6pK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2180&quot; height=&quot;306&quot; data-origin-width=&quot;2180&quot; data-origin-height=&quot;306&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;최종 순위&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;이 대회 Div 1은 카이런에 2위를 했던&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;dadas08&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 우승하게 됐다. OI식으로 해서 처음 3문제에 거의&amp;nbsp;&lt;b&gt;30틀&lt;/b&gt;을 했고 프리즈 당시 본인 아래였음에도 불구하고 (이건 카이런 때도 그랬다.) 혼자서&amp;nbsp;솔브 수 차이로 혼자 1위를 가져갔다.&amp;nbsp;저 사람이 ICPC에 나가면 대회 폭격할 거 같다. 참고로 대회가 끝난 뒤 집에 돌아와서 저 사람 온라인 저지 내 대회 문제를 세팅했다. 집 가는 버스가 하도 막혀서 12시에 도착했다 보니까 세팅이 끝날 때는 대회 시작 2시간 전인&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;오전 3시&lt;/b&gt;였다...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a href=&quot;https://dojoi.xyz/ko/problems/67&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dojoi.xyz/ko/problems/65&lt;/a&gt; 하고 &lt;a href=&quot;https://dojoi.xyz/ko/problems/67&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dojoi.xyz/ko/problems/67&lt;/a&gt; 이렇게 두 문제를 내긴 했는데 (많관부) 진짜 세팅하는 거도 어렵다고 느낀 게 폴리곤에 별별 오류가 튀어나와서 고치는데 LLM하고 다른 분들의 도움을 정말 많이 받았다. 그 두 문제는 그나마 입력 - 출력 형식이 매우 간단했는데 SCSC에는 저런 걸 12문제 내라니 참 출제자 분들하고 검수자 분들에게 감사함이 느껴지긴 한다 &lt;s&gt;대회 검수 마저 해야 하는데 으악&lt;/s&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;K 오류나 슼보 구현이 안 된 상태인 등 약간 삐걱거린 데가 있긴 했지만 그래도 재밌게 푼 것 같다. 대회 후에는 &lt;span style=&quot;color: #9feec3;&quot;&gt;&lt;b&gt;rongrongbot&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님 팟하고 같이 인도음식 저녁도 옴뇸뇸 먹고 (사실 이건 사진 찍은 게 있지만 너무 구데기같이 찍어서 팟에 어느 누군가가 본인의 블로그에 올리겠지 마인드로 건너뛰겠다  )앳코 폰 스피드 싸움에서 발렸다 ㅋㅋ! (저건 빠른 입출력 해놓고 &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;import sys를 잊어먹어서다... 에휴 바보)&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 놀랍게도 그 대회를 레이티드로 하신 분들도 있는데 나처럼 딥1 가기가 싫었나보다 ㄱ-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>PS</category>
      <author>jkrt2</author>
      <guid isPermaLink="true">https://jkrt2.tistory.com/11</guid>
      <comments>https://jkrt2.tistory.com/11#entry11comment</comments>
      <pubDate>Mon, 18 May 2026 21:48:29 +0900</pubDate>
    </item>
    <item>
      <title>KAIST Run Spring 26' 후기</title>
      <link>https://jkrt2.tistory.com/10</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;마지막에&amp;nbsp;글을&amp;nbsp;쓴&amp;nbsp;게&amp;nbsp;3월인데&amp;nbsp;그&amp;nbsp;이후&amp;nbsp;&lt;b&gt;BOJ&amp;nbsp;서비스&amp;nbsp;종료&lt;/b&gt;라는&amp;nbsp;매우&amp;nbsp;큰&amp;nbsp;일이&amp;nbsp;일어났다.&amp;nbsp;이&amp;nbsp;일에&amp;nbsp;대해서&amp;nbsp;글을&amp;nbsp;작성하려고&amp;nbsp;했는데&amp;nbsp;뭔가&amp;nbsp;내가&amp;nbsp;말빨이&amp;nbsp;좋은&amp;nbsp;사람이다&amp;nbsp;그런&amp;nbsp;건&amp;nbsp;전혀&amp;nbsp;아니여서&amp;nbsp;(블로그&amp;nbsp;다른&amp;nbsp;글을&amp;nbsp;보면&amp;nbsp;알겠지만&amp;nbsp;상당히&amp;nbsp;내용이&amp;nbsp;중구난방이기도&amp;nbsp;하다)&amp;nbsp;작성은&amp;nbsp;딱히&amp;nbsp;하지&amp;nbsp;않았다.&amp;nbsp;근데&amp;nbsp;벌써부터&amp;nbsp;그&amp;nbsp;사이트가&amp;nbsp;그리운&amp;nbsp;건&amp;nbsp;한마음인지&amp;nbsp;슼보에서도&amp;nbsp;백준그리워요&amp;nbsp;닉이&amp;nbsp;난무했다.&amp;nbsp;Good&amp;nbsp;Bye&amp;nbsp;BOJ&amp;nbsp;대회는&amp;nbsp;잘&amp;nbsp;치른&amp;nbsp;거&amp;nbsp;같고&amp;nbsp;오랜간만에&amp;nbsp;몰고&amp;nbsp;회원분들을&amp;nbsp;만나서&amp;nbsp;반갑기도&amp;nbsp;했다. &lt;br /&gt;다시&amp;nbsp;BOJ&amp;nbsp;섭종으로&amp;nbsp;넘어가면,&amp;nbsp;이제&amp;nbsp;여러&amp;nbsp;대회들이&amp;nbsp;갑작스러운&amp;nbsp;섭종&amp;nbsp;소식을&amp;nbsp;듣고&amp;nbsp;열&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;새로운&amp;nbsp;플랫폼을&amp;nbsp;탐색하거나&amp;nbsp;심지어&amp;nbsp;만드려는&amp;nbsp;움직임이&amp;nbsp;여럿&amp;nbsp;보였는데,&amp;nbsp;이런&amp;nbsp;상황에서도&amp;nbsp;대회를&amp;nbsp;열고&amp;nbsp;PS/CP&amp;nbsp;활동을&amp;nbsp;유지시키려는&amp;nbsp;분들에게&amp;nbsp;고마움이&amp;nbsp;든다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1153&quot; data-origin-height=&quot;733&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c709yD/dJMcaiwqb7Z/bXORnfikPayOtogMcQYwUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c709yD/dJMcaiwqb7Z/bXORnfikPayOtogMcQYwUK/img.png&quot; data-alt=&quot;BOJ는... 서비스 종료다....&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c709yD/dJMcaiwqb7Z/bXORnfikPayOtogMcQYwUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc709yD%2FdJMcaiwqb7Z%2FbXORnfikPayOtogMcQYwUK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1153&quot; height=&quot;733&quot; data-origin-width=&quot;1153&quot; data-origin-height=&quot;733&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;BOJ는... 서비스 종료다....&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;대회일&amp;nbsp;(5/3)&amp;nbsp;아침에&amp;nbsp;대전으로&amp;nbsp;내려갔다.&amp;nbsp;고등학교&amp;nbsp;졸업&amp;nbsp;이후&amp;nbsp;2년&amp;nbsp;만에&amp;nbsp;대전을&amp;nbsp;찾은&amp;nbsp;건데,&amp;nbsp;아직도&amp;nbsp;뭔가&amp;nbsp;역&amp;nbsp;모습이&amp;nbsp;익숙해보였다.&amp;nbsp;성심당은&amp;nbsp;여전히&amp;nbsp;대기열&amp;nbsp;길이가&amp;nbsp;엄청났고,&amp;nbsp;카이스트까지&amp;nbsp;대중교통으로&amp;nbsp;가는&amp;nbsp;건&amp;nbsp;여전히&amp;nbsp;힘들었다.&amp;nbsp; &lt;br /&gt;null(ptr)scapes란&amp;nbsp;이름으로&amp;nbsp;참가했다.&amp;nbsp;Why?&amp;nbsp;모르겠다,&amp;nbsp;닉&amp;nbsp;후보를&amp;nbsp;찾으니까&amp;nbsp;아무래도&amp;nbsp;지메만&amp;nbsp;하는&amp;nbsp;이&amp;nbsp;사람한테는&amp;nbsp;이게&amp;nbsp;가장&amp;nbsp;잘&amp;nbsp;맞는&amp;nbsp;것&amp;nbsp;같았다.&amp;nbsp;ptr는&amp;nbsp;'PS에요'&amp;nbsp;호소하려고&amp;nbsp;괄호&amp;nbsp;안에&amp;nbsp;붙였는데&amp;nbsp;아무래도&amp;nbsp;이&amp;nbsp;사람은&amp;nbsp;자기&amp;nbsp;닉을&amp;nbsp;어떻게&amp;nbsp;발음할지에&amp;nbsp;대한&amp;nbsp;생각을&amp;nbsp;하나도&amp;nbsp;안&amp;nbsp;한&amp;nbsp;게&amp;nbsp;확실하다. &lt;br /&gt;대회장에 가보니까 생각보다 사람이 많았다. 아직 오프라인 경험이 거의 없어서 그런지, 아는 분들은 거의 대부분 몰고 소속이였던 것 같다. 그래도 전보다는 그 비중이 줄어든 것 같아서 얼마 정도 CP에 참여는 하고 있구나 생각은 들긴 했다. 근데 그거도 그렇고 많은 분들이 그냥 미친 고수로 소문나서 알게 된 것 같기도 하다. 이 중 바로 옆자리에 배정된 분이 무려 dadas08이라... (참고로 다다스님은 몇 달 전에 대곽 후배인 koi312500이 리겜 입문해줬을 때 우연히 옆에서 사볼을 하게 되느라 만나게 된 경험이 이미 있다) 저 분 코드 베껴간다고 드립성으로 말하기도 했다 (실제로 저 분은 대학생 분들 사이에서 아예 대회 2등을 차지하셨다. 그냥 괴물이 맞다.)&lt;br /&gt;아무튼&amp;nbsp;포인트는&amp;nbsp;이미&amp;nbsp;실력이&amp;nbsp;엄청난&amp;nbsp;분들이&amp;nbsp;여럿&amp;nbsp;있어서&amp;nbsp;그냥&amp;nbsp;재미로&amp;nbsp;풀어보자라는&amp;nbsp;생각만&amp;nbsp;하고&amp;nbsp;있었다.&amp;nbsp;그나마&amp;nbsp;최근에&amp;nbsp;Good&amp;nbsp;Bye&amp;nbsp;대회와&amp;nbsp;몇&amp;nbsp;달만의&amp;nbsp;코드포스&amp;nbsp;오렌지&amp;nbsp;복귀에&amp;nbsp;성공하는&amp;nbsp;등&amp;nbsp;고점이&amp;nbsp;터지긴&amp;nbsp;했는데,&amp;nbsp;그래봤자&amp;nbsp;레드&amp;nbsp;퍼포도&amp;nbsp;아직&amp;nbsp;아니여서&amp;nbsp;잘한다는&amp;nbsp;기대는&amp;nbsp;딱히&amp;nbsp;안&amp;nbsp;한&amp;nbsp;것&amp;nbsp;같다.&amp;nbsp;사실&amp;nbsp;순위상의&amp;nbsp;존재조차&amp;nbsp;대회장에서&amp;nbsp;다른&amp;nbsp;분들하고&amp;nbsp;얘기하느라&amp;nbsp;알았고,&amp;nbsp;대회&amp;nbsp;룰조차&amp;nbsp;숙지를&amp;nbsp;제대로&amp;nbsp;한&amp;nbsp;편은&amp;nbsp;아니였던&amp;nbsp;것&amp;nbsp;같다.&amp;nbsp;이&amp;nbsp;중&amp;nbsp;하나가&amp;nbsp;문제&amp;nbsp;순서대로&amp;nbsp;난이도가&amp;nbsp;배치됐다는&amp;nbsp;점인데,&amp;nbsp;지금&amp;nbsp;생각해보니&amp;nbsp;이&amp;nbsp;룰은&amp;nbsp;오히려&amp;nbsp;몰랐던&amp;nbsp;게&amp;nbsp;득이&amp;nbsp;됐던&amp;nbsp;것&amp;nbsp;같다.&amp;nbsp;아무튼&amp;nbsp;저렇게&amp;nbsp;무지한&amp;nbsp;상태로&amp;nbsp;대회를&amp;nbsp;시작했다. &lt;br /&gt;&lt;br /&gt;[0:05]&amp;nbsp;B&amp;nbsp;50&amp;nbsp;(Total&amp;nbsp;50) &lt;br /&gt;다들 A를 풀고 있었는데 A가 무서워보여서 바로 B로 넘어갔다. 아무래도 B가 깡수학 같아 보여서 그렇나? 아무튼 successive fibonacci가 서로 서로소임을 보이면 풀리는 문제이다. 근데 그걸 바로 관찰해놓고서 약간 오버띵킹을 심각하게 한 것 같다. 겹치는 원소를 잘못 파악해서 Floorsum 같은 공식을 써야하는 줄 알아서 일단 검증용으로 floorsum을 쓰기 전에 Naive로 섭테2까지 확인해봤더니 맞았다. &lt;br /&gt;&lt;br /&gt;[0:22]&amp;nbsp;B&amp;nbsp;50&amp;nbsp;(total&amp;nbsp;100) &lt;br /&gt;그래서&amp;nbsp;플썸을&amp;nbsp;만들고&amp;nbsp;공식을&amp;nbsp;조금씩&amp;nbsp;정리해봤더니&amp;nbsp;시간이&amp;nbsp;조금&amp;nbsp;많이&amp;nbsp;흘렀고,&amp;nbsp;그&amp;nbsp;사이&amp;nbsp;B를&amp;nbsp;맞춘&amp;nbsp;사람이&amp;nbsp;3명&amp;nbsp;정도&amp;nbsp;늘었다.&amp;nbsp;근데&amp;nbsp;나는&amp;nbsp;예제를&amp;nbsp;돌려보니까&amp;nbsp;벌써&amp;nbsp;틀리게&amp;nbsp;나왔는데,&amp;nbsp;이&amp;nbsp;때&amp;nbsp;쯤&amp;nbsp;난이도&amp;nbsp;순으로&amp;nbsp;문제가&amp;nbsp;배치됐다는&amp;nbsp;것을&amp;nbsp;눈치채기&amp;nbsp;시작했다&amp;nbsp;(오래도&amp;nbsp;걸린&amp;nbsp;것&amp;nbsp;같다.)&amp;nbsp;그래서&amp;nbsp;A로&amp;nbsp;넘어갈까&amp;nbsp;했는데&amp;nbsp;무슨&amp;nbsp;이유에서인지&amp;nbsp;B를&amp;nbsp;마저&amp;nbsp;풀고&amp;nbsp;싶다&amp;nbsp;생각해서&amp;nbsp;붙잡았더니....&amp;nbsp;플썸&amp;nbsp;자체가&amp;nbsp;틀린&amp;nbsp;공식이라는&amp;nbsp;것을&amp;nbsp;알게&amp;nbsp;되었다.&amp;nbsp;사실&amp;nbsp;2번째로&amp;nbsp;가장&amp;nbsp;쉬운&amp;nbsp;문제에&amp;nbsp;플썸&amp;nbsp;같은&amp;nbsp;공식이&amp;nbsp;나오는&amp;nbsp;게&amp;nbsp;이상하긴&amp;nbsp;했는데&amp;nbsp;눈치가&amp;nbsp;없어서&amp;nbsp;그걸&amp;nbsp;파악하는데&amp;nbsp;너무&amp;nbsp;많은&amp;nbsp;시간을&amp;nbsp;허비했다.&amp;nbsp;아무튼&amp;nbsp;고쳐서&amp;nbsp;맞았다.&amp;nbsp;처음에&amp;nbsp;공식을&amp;nbsp;이상하게&amp;nbsp;안&amp;nbsp;세웠으면&amp;nbsp;거의&amp;nbsp;대부분이&amp;nbsp;A부터&amp;nbsp;시작해서&amp;nbsp;높은&amp;nbsp;확률로&amp;nbsp;퍼솔이&amp;nbsp;가능했을텐데&amp;nbsp;그&amp;nbsp;점이&amp;nbsp;좀&amp;nbsp;아쉽긴&amp;nbsp;하다. &lt;br /&gt;&lt;br /&gt;[0:38]&amp;nbsp;A&amp;nbsp;100&amp;nbsp;(total&amp;nbsp;200) &lt;br /&gt;그래서&amp;nbsp;다시&amp;nbsp;A로&amp;nbsp;돌아갔는데&amp;nbsp;문제가&amp;nbsp;좀&amp;nbsp;무시무시해보였다.&amp;nbsp;뭔가&amp;nbsp;원소&amp;nbsp;몇&amp;nbsp;개를&amp;nbsp;고정시키고&amp;nbsp;값을&amp;nbsp;계속&amp;nbsp;변화시키는&amp;nbsp;발상을&amp;nbsp;생각해봤는데&amp;nbsp;그러면&amp;nbsp;빠지는&amp;nbsp;케이스가&amp;nbsp;하나씩&amp;nbsp;있어서...&amp;nbsp;모두&amp;nbsp;다&amp;nbsp;그런&amp;nbsp;특수&amp;nbsp;원소가&amp;nbsp;홀수&amp;nbsp;개가&amp;nbsp;들어가게&amp;nbsp;construct할&amp;nbsp;수&amp;nbsp;있을까&amp;nbsp;등&amp;nbsp;괴상한&amp;nbsp;그래프&amp;nbsp;이론&amp;nbsp;문제까지&amp;nbsp;생각해버렸다.&amp;nbsp;지금&amp;nbsp;생각해보면&amp;nbsp;아무래도&amp;nbsp;난이도&amp;nbsp;순이라는&amp;nbsp;것을&amp;nbsp;인지한&amp;nbsp;게&amp;nbsp;맞나&amp;nbsp;싶다. &lt;br /&gt;그래서&amp;nbsp;뇌를&amp;nbsp;빼고&amp;nbsp;생각을&amp;nbsp;해보니까&amp;nbsp;'그냥&amp;nbsp;통으로&amp;nbsp;랜덤질하면&amp;nbsp;안&amp;nbsp;됨?'&amp;nbsp;이랬다.&amp;nbsp;생각해보니까&amp;nbsp;기댓값이&amp;nbsp;요구하는&amp;nbsp;값과&amp;nbsp;같아서&amp;nbsp;한&amp;nbsp;번&amp;nbsp;돌려봤더니&amp;nbsp;맞았다&amp;nbsp;(사실&amp;nbsp;부등호&amp;nbsp;실수&amp;nbsp;때문에&amp;nbsp;한&amp;nbsp;번&amp;nbsp;TLE가&amp;nbsp;나긴&amp;nbsp;했다.&amp;nbsp;무슨&amp;nbsp;이유로&amp;nbsp;초반부에&amp;nbsp;실수를&amp;nbsp;좀&amp;nbsp;많이&amp;nbsp;하는&amp;nbsp;것&amp;nbsp;같다.)&amp;nbsp;놀랍게도&amp;nbsp;이게&amp;nbsp;에디토리얼에&amp;nbsp;나온&amp;nbsp;풀이&amp;nbsp;중&amp;nbsp;하나였는데&amp;nbsp;기댓값이&amp;nbsp;주어진다고&amp;nbsp;분포가&amp;nbsp;랜덤질로&amp;nbsp;가능하나...?라는&amp;nbsp;생각이&amp;nbsp;아직&amp;nbsp;들긴&amp;nbsp;한다.&amp;nbsp;아무튼&amp;nbsp;그거든&amp;nbsp;deterministic이든&amp;nbsp;둘&amp;nbsp;다&amp;nbsp;실버&amp;nbsp;발상은&amp;nbsp;아닌&amp;nbsp;것&amp;nbsp;같다&amp;nbsp;ㅋㅋㅋ&amp;nbsp;B보다&amp;nbsp;어려웠다. &lt;br /&gt;사실&amp;nbsp;이&amp;nbsp;시점에서&amp;nbsp;진짜&amp;nbsp;삽질을&amp;nbsp;엄청나게&amp;nbsp;한&amp;nbsp;것&amp;nbsp;같은데&amp;nbsp;(특히나&amp;nbsp;이&amp;nbsp;사람이&amp;nbsp;초반부에&amp;nbsp;강한&amp;nbsp;걸&amp;nbsp;생각해보면...)&amp;nbsp;그래도&amp;nbsp;20위대&amp;nbsp;정도에&amp;nbsp;들은&amp;nbsp;것으로&amp;nbsp;기억난다.&amp;nbsp;나머지&amp;nbsp;분들도&amp;nbsp;A/B가&amp;nbsp;어려웠나보다 &lt;br /&gt;&lt;br /&gt;[0:51]&amp;nbsp;D&amp;nbsp;100&amp;nbsp;(total&amp;nbsp;300) &lt;br /&gt;C가&amp;nbsp;무서워보여서&amp;nbsp;이번에도&amp;nbsp;건너뛰었다.&amp;nbsp;그냥&amp;nbsp;순서대로&amp;nbsp;풀&amp;nbsp;생각을&amp;nbsp;없앤&amp;nbsp;것&amp;nbsp;같다.&amp;nbsp;놀랍게도&amp;nbsp;AB보다&amp;nbsp;더&amp;nbsp;수월하게&amp;nbsp;진행됐다.&amp;nbsp;뭔가&amp;nbsp;개수를&amp;nbsp;고정시키면&amp;nbsp;일반적인&amp;nbsp;그리디&amp;nbsp;아닌가?라&amp;nbsp;생각해서&amp;nbsp;매우&amp;nbsp;평범한&amp;nbsp;이탐&amp;nbsp;+&amp;nbsp;우큐&amp;nbsp;문제가&amp;nbsp;되어버렸다.&amp;nbsp;유일하게&amp;nbsp;WA&amp;nbsp;하나&amp;nbsp;없이&amp;nbsp;100점을&amp;nbsp;맞은&amp;nbsp;문제이다.&amp;nbsp;다행히도&amp;nbsp;이번&amp;nbsp;대회에서는&amp;nbsp;WA&amp;nbsp;페널티가&amp;nbsp;없어서&amp;nbsp;본인한테&amp;nbsp;영향을&amp;nbsp;주지는&amp;nbsp;않았다.&amp;nbsp;다만&amp;nbsp;이&amp;nbsp;문제에서&amp;nbsp;heap&amp;nbsp;default가&amp;nbsp;최소/최대인지를&amp;nbsp;좀&amp;nbsp;혼동해서&amp;nbsp;시간을&amp;nbsp;좀&amp;nbsp;날린&amp;nbsp;것&amp;nbsp;같다. &lt;br /&gt;&lt;br /&gt;[1:20]&amp;nbsp;C&amp;nbsp;100&amp;nbsp;(total&amp;nbsp;400) &lt;br /&gt;이거도 솔직히 AB보다는 무난히 진행된 것 같다. 사실 가장 큰 문제점이 '연결된'을 아예 connected component로 봐서 처음에 코드를 잘못 짠 건데 예제를 보면 해결되는 거였다. 지문이 약간 모호한 점도 있지만 앞으로 예제를 살펴보면서 내가 해석한게 맞는지부터 생각해야 할 것 같다. 아무튼 다항식 곱셈이라 사실 연산 수가 어떤 순서든 항상 같아서 분할정복 곱셈이 필요 없었는데 그걸 굳이 또 했다. 그리고 답을 출력할 때 답에 998244353 mod를 안 씌워서 한 번 더 틀렸다. 다행히 이번엔 많이 빨리 발견해서 고쳤다. 이번에 BIKO에서 몇 번째 테케에서 틀렸나를 알려주는데 그걸 통해서 어디가 잘못됐는지 얼추 유추가 가능했던 것 같다. 놀랍게도 ABCDE 중에서 푼 시간이 가장 오래 걸렸는데, 쓸데없이 분할정복한다고 구현하느라 (일일히 곱해도 시복이 같기 때문) 시간이 좀 걸렸던 것 같다. &lt;br /&gt;&lt;br /&gt;[1:43]&amp;nbsp;E&amp;nbsp;100&amp;nbsp;(total&amp;nbsp;500) &lt;br /&gt;뭐지 왜 갑자기 잘 풀리지 &lt;br /&gt;이거도&amp;nbsp;뭔가&amp;nbsp;웰노운&amp;nbsp;같다.&amp;nbsp;XOR&amp;nbsp;max&amp;nbsp;논리를&amp;nbsp;적용해보면&amp;nbsp;이탐이&amp;nbsp;가능하다는&amp;nbsp;것을&amp;nbsp;알&amp;nbsp;수&amp;nbsp;있다.&amp;nbsp;이거도&amp;nbsp;좀&amp;nbsp;실수가&amp;nbsp;있었던&amp;nbsp;것&amp;nbsp;같다.&amp;nbsp;처음에는&amp;nbsp;오름차순&amp;nbsp;대신&amp;nbsp;내림차순이라&amp;nbsp;답해서&amp;nbsp;틀렸으며&amp;nbsp;(놀랍게도&amp;nbsp;이탐도&amp;nbsp;마지막에&amp;nbsp;2로&amp;nbsp;나누는&amp;nbsp;연산을&amp;nbsp;잊어버려서&amp;nbsp;예제하고&amp;nbsp;답이&amp;nbsp;똑같게&amp;nbsp;나오는&amp;nbsp;일이&amp;nbsp;일어나버렸다),&amp;nbsp;나중에는&amp;nbsp;트라이&amp;nbsp;크기&amp;nbsp;바꿔놓으라&amp;nbsp;주석에&amp;nbsp;대놓고&amp;nbsp;써놓으면서&amp;nbsp;안&amp;nbsp;그래서&amp;nbsp;틀렸다.&amp;nbsp;그래도&amp;nbsp;그&amp;nbsp;외에는&amp;nbsp;잘&amp;nbsp;풀렸다.&amp;nbsp;CDE를&amp;nbsp;은근&amp;nbsp;빨리&amp;nbsp;풀어서&amp;nbsp;그런지&amp;nbsp;이&amp;nbsp;시점까지는&amp;nbsp;점수&amp;nbsp;동률&amp;nbsp;상태로&amp;nbsp;(전부&amp;nbsp;500점이였다)&amp;nbsp;한&amp;nbsp;자리&amp;nbsp;수&amp;nbsp;랭킹에&amp;nbsp;박혀&amp;nbsp;있었다.&amp;nbsp;솔직히&amp;nbsp;2시간&amp;nbsp;지난&amp;nbsp;시점에서&amp;nbsp;그&amp;nbsp;순위를&amp;nbsp;유지할&amp;nbsp;줄은&amp;nbsp;모르긴&amp;nbsp;했다. &lt;br /&gt;&lt;br /&gt;[2:00]&amp;nbsp;F&amp;nbsp;30&amp;nbsp;(total&amp;nbsp;530) &lt;br /&gt;사실&amp;nbsp;이&amp;nbsp;시점부터는&amp;nbsp;풀&amp;nbsp;수&amp;nbsp;있으려나?&amp;nbsp;라는&amp;nbsp;생각이&amp;nbsp;들어서&amp;nbsp;1위라도&amp;nbsp;일시적으로&amp;nbsp;먹을&amp;nbsp;겸&amp;nbsp;점수라도&amp;nbsp;얍삽하게&amp;nbsp;챙겨보자라는&amp;nbsp;마인드로&amp;nbsp;섭테를&amp;nbsp;긁기&amp;nbsp;시작했다.&amp;nbsp;1과&amp;nbsp;2는&amp;nbsp;생각하기&amp;nbsp;비교적&amp;nbsp;쉬운&amp;nbsp;아이디어라&amp;nbsp;간단한&amp;nbsp;구현으로&amp;nbsp;30점을&amp;nbsp;챙겼다.&amp;nbsp;아쉽게도&amp;nbsp;이&amp;nbsp;문제를&amp;nbsp;풀기&amp;nbsp;직전&amp;nbsp;1위&amp;nbsp;분&amp;nbsp;(TLE)가&amp;nbsp;해당&amp;nbsp;문제에&amp;nbsp;100점을&amp;nbsp;추가하여&amp;nbsp;2위에&amp;nbsp;만족해야&amp;nbsp;했다.&amp;nbsp;그래도&amp;nbsp;이&amp;nbsp;정도면&amp;nbsp;만족한다&amp;nbsp;생각하고&amp;nbsp;F를&amp;nbsp;좀&amp;nbsp;더&amp;nbsp;생각하려고&amp;nbsp;하다가....&amp;nbsp;갑자기&amp;nbsp;대회&amp;nbsp;안내서에&amp;nbsp;적힌&amp;nbsp;문장&amp;nbsp;하나가&amp;nbsp;생각이&amp;nbsp;났다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;'&amp;nbsp;인터렉티브나&amp;nbsp;투&amp;nbsp;스텝&amp;nbsp;유형의&amp;nbsp;문제가&amp;nbsp;적어도&amp;nbsp;하나&amp;nbsp;이상&amp;nbsp;출제됩니다.&amp;nbsp;' &lt;br /&gt;&lt;br /&gt;인터랙티브는&amp;nbsp;거의&amp;nbsp;항상&amp;nbsp;나에게&amp;nbsp;고마운&amp;nbsp;존재였다.&amp;nbsp;처음으로&amp;nbsp;블루&amp;nbsp;-&amp;gt;&amp;nbsp;퍼플로&amp;nbsp;올라간&amp;nbsp;것도&amp;nbsp;어려운&amp;nbsp;문제에&amp;nbsp;배치된&amp;nbsp;인터랙티브,&amp;nbsp;처음으로&amp;nbsp;퍼플&amp;nbsp;-&amp;gt;&amp;nbsp;오렌지로&amp;nbsp;올라간&amp;nbsp;것도&amp;nbsp;어려운&amp;nbsp;문제에&amp;nbsp;배치된&amp;nbsp;인터랙티브&amp;nbsp;덕분이였다.&amp;nbsp;오프라인&amp;nbsp;대회에&amp;nbsp;참가하면서&amp;nbsp;풀은&amp;nbsp;첫&amp;nbsp;다이아&amp;nbsp;(SUAPC&amp;nbsp;25&amp;nbsp;Summer)&amp;nbsp;역시&amp;nbsp;인터랙티브&amp;nbsp;형태였다.&amp;nbsp;(물론&amp;nbsp;그건&amp;nbsp;팀원의&amp;nbsp;힘을&amp;nbsp;좀&amp;nbsp;많이&amp;nbsp;받긴&amp;nbsp;했지만) &lt;br /&gt;아무튼&amp;nbsp;그래서&amp;nbsp;이번에도&amp;nbsp;도움이&amp;nbsp;되려나&amp;nbsp;살펴보더니&amp;nbsp;뭔&amp;nbsp;문제에&amp;nbsp;2^30,&amp;nbsp;2^40&amp;nbsp;같은&amp;nbsp;괴상한&amp;nbsp;숫자가&amp;nbsp;온갖&amp;nbsp;나오는&amp;nbsp;것이였다. &lt;br /&gt;그래서&amp;nbsp;사실&amp;nbsp;F로&amp;nbsp;돌아갈까&amp;nbsp;했는데&amp;nbsp;솔직히&amp;nbsp;그걸&amp;nbsp;풀&amp;nbsp;바에&amp;nbsp;G를&amp;nbsp;이해하려는&amp;nbsp;게&amp;nbsp;더&amp;nbsp;빠르다&amp;nbsp;생각해서&amp;nbsp;파보기&amp;nbsp;시작했다. &lt;br /&gt;&lt;br /&gt;[2:21]&amp;nbsp;G&amp;nbsp;30&amp;nbsp;(total&amp;nbsp;560) &lt;br /&gt;k = 1과 섭테 2/3은 대략적인 이탐 논리로 해결하면 풀린다. 사실 여기서 가장 힘들었던 점은 인터랙터 숫자가 참 괴상해서 답을 겁증할 방법이 무지성으로 BIKO에 제출하기밖에 없었다. 섭테 1 - 3은 그래도 유사 이탐이라 비교적 쉽게 맞출 수 있었다. 사실 이건 푸는 거보다 지문 이해가 더 빡센 게 맞는 것 같다. (실제로 2^30, 2^40이 서로 번갈아서 나와서 오타 아니냐를 시전할 뻔했다)&lt;br /&gt;&lt;br /&gt;그래서 여기서 더 생각해보니까 분할정복으로 왼쪽 / 오른쪽을 선호하는 쪽으로 각각 나누면 어떨까라는 생각을 해서 한 번 구현을 시작해보았다. 사실 처음에 저걸 '좌파 / 우파'라고 노트에 끄적여놔서 진짜 뻘짓하는 줄 알았는데 알고 보니까 그게 진짜 풀이였던 것이다. 다만, 제한에서 -1/2^20이 조금 찔리긴 한 게 구현을 잘못 했으면 무한 WA의 굴레에 갇힐 수 있다는 생각이 들긴 했다. &lt;br /&gt;그래서&amp;nbsp;제발&amp;nbsp;한&amp;nbsp;번에&amp;nbsp;맞자는&amp;nbsp;마인드로&amp;nbsp;제출했는데&amp;nbsp;인터랙션&amp;nbsp;쿼리를&amp;nbsp;잘못&amp;nbsp;날려서&amp;nbsp;2번&amp;nbsp;연속&amp;nbsp;틀렸으나&amp;nbsp;3번째&amp;nbsp;제출할&amp;nbsp;때&amp;nbsp;시간이&amp;nbsp;조금&amp;nbsp;오래&amp;nbsp;걸렸다. &lt;br /&gt;그러고&amp;nbsp;나서&amp;nbsp;결과를&amp;nbsp;보니....&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2332&quot; data-origin-height=&quot;1308&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgyeO5/dJMcai4dP5h/1N2wJ2iWfdi3Mkz8eIkWOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgyeO5/dJMcai4dP5h/1N2wJ2iWfdi3Mkz8eIkWOk/img.png&quot; data-alt=&quot;이 상태로 50분을 있었는데 이 사람은 슼보가 줌에 있다고 사진을 안 찍었다. 하마터면 인생퍼포 못 남길 뻔 (cenix님 사진 제공 감사합니다)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgyeO5/dJMcai4dP5h/1N2wJ2iWfdi3Mkz8eIkWOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgyeO5%2FdJMcai4dP5h%2F1N2wJ2iWfdi3Mkz8eIkWOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2332&quot; height=&quot;1308&quot; data-origin-width=&quot;2332&quot; data-origin-height=&quot;1308&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이 상태로 50분을 있었는데 이 사람은 슼보가 줌에 있다고 사진을 안 찍었다. 하마터면 인생퍼포 못 남길 뻔 (cenix님 사진 제공 감사합니다)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;[2:32]&amp;nbsp;G&amp;nbsp;100&amp;nbsp;(total&amp;nbsp;630,&amp;nbsp;&lt;b&gt;First&amp;nbsp;Solve&lt;/b&gt;) &lt;br /&gt;인터랙티브가&amp;nbsp;이&amp;nbsp;사람을&amp;nbsp;한&amp;nbsp;번&amp;nbsp;더&amp;nbsp;고점으로&amp;nbsp;끌고&amp;nbsp;가버렸다.&amp;nbsp;B를&amp;nbsp;놓쳐서&amp;nbsp;퍼솔은&amp;nbsp;영영&amp;nbsp;못&amp;nbsp;할&amp;nbsp;줄&amp;nbsp;알았는데,&amp;nbsp;퍼솔에다가&amp;nbsp;무려&amp;nbsp;리더보드&amp;nbsp;1위를&amp;nbsp;대회&amp;nbsp;반이&amp;nbsp;지난&amp;nbsp;시점에서&amp;nbsp;먹어보았다.&amp;nbsp;진짜&amp;nbsp;꿈&amp;nbsp;꾸는&amp;nbsp;줄&amp;nbsp;알았는데&amp;nbsp;어떻게&amp;nbsp;처음에&amp;nbsp;스피드포스도&amp;nbsp;애매하게&amp;nbsp;해놓고&amp;nbsp;1위를&amp;nbsp;차지할&amp;nbsp;수&amp;nbsp;있었는지가&amp;nbsp;의문이였다.&amp;nbsp;좀&amp;nbsp;10분&amp;nbsp;동안은&amp;nbsp;멍때린&amp;nbsp;것&amp;nbsp;같다. &lt;br /&gt;&lt;br /&gt;그&amp;nbsp;뒤에&amp;nbsp;1위를&amp;nbsp;유지하던&amp;nbsp;탓이였을까,&amp;nbsp;나머지&amp;nbsp;문제는&amp;nbsp;딱히&amp;nbsp;성과가&amp;nbsp;없었던&amp;nbsp;것&amp;nbsp;같다.&amp;nbsp;I도&amp;nbsp;뭔가&amp;nbsp;O(N^2)&amp;nbsp;(즉,&amp;nbsp;75점&amp;nbsp;정도)를 푼 것 같다는 설레발을 쳤는데 알고 보니까 계산 과정부터가 틀려먹어서 어쩔 수 없이 50점짜리 세제곱을 냈다. [3:53, total 680] 이 시점에서는 I에서 점수 최대한 먹는다고 뻘짓을 겁나 많이 하다가 1위 자리를 A - G를 올솔한 분에게 뺏겼는데 나중에 무려 프리즈 전에 H까지 푸신 걸 보니 굇수임이 틀림없다 ㅋㅋㅋ &lt;br /&gt;그&amp;nbsp;뒤에&amp;nbsp;남은&amp;nbsp;유일한&amp;nbsp;문제인&amp;nbsp;H도&amp;nbsp;최대한&amp;nbsp;깎으려&amp;nbsp;했는데&amp;nbsp;2&amp;nbsp;-&amp;gt;&amp;nbsp;16&amp;nbsp;-&amp;gt;&amp;nbsp;30으로&amp;nbsp;조금씩&amp;nbsp;올리는&amp;nbsp;것이&amp;nbsp;최선이였다.&amp;nbsp;[4:21,&amp;nbsp;total&amp;nbsp;710]&amp;nbsp;대충&amp;nbsp;플로우&amp;nbsp;문제라&amp;nbsp;하는데&amp;nbsp;이&amp;nbsp;사람의&amp;nbsp;플로우&amp;nbsp;모델링&amp;nbsp;능력을&amp;nbsp;생각하면&amp;nbsp;못&amp;nbsp;푸는&amp;nbsp;게&amp;nbsp;당연하긴&amp;nbsp;했다&amp;nbsp;ㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 I 50이 H 30보다 점수를 따기가 더 쉬웠던 것 같다. 이번 대회는 순서를 의심하는 것이 신의 한 수가 맞았던 듯&lt;br /&gt;&lt;br /&gt;그렇게 하다가 대회 끝. 프리즈 전 2위, 그리고 프리즈 후 5위라는 성적으로 대회를 마감했다. 놀랍게도 외부인이 없었던 YCPC보다도 한 단계 높게 나왔다 (???) 사실 순위상이 3위까지인 거는 아쉬웠으나 생각도 안 하고 있었는데 그 정도로 근접한 거 자체가 기적인 것 같다. 그리고 그 사이에 따라잡으신 세 분도 전부 뒷심이 그냥 대단한 게 맞는 것 같다. 괜히 레드 하는 게 아닌가 보다. 도대체 뭐를 해야 F를 푸는 건지;; 퍼솔상 넙죽이 에코백도 맛있게 쌀먹하긴 했는데 정작 카이가 날 떨궈서 어쩌면 좀 들고 다니다가 슬퍼질 에코백일 거 같다.&lt;br /&gt;&lt;br /&gt;아무튼 끝나고 다른 분들하고 같이 싸이뮤직에서 리겜 입문을 하고 그 다음 날에도 온갖 재밌는 짓을 다 하고 집에 돌아갔는데 글이 너무 길어지는 것 같으니 나중에 쓰고 싶으면 더 쓰겠다. [뒷풀이에서 테트리스 굇수들이 옆자리에 있었던 썰 같은 거처럼 풀고 싶은 게 좀 있긴 하다 ㅋㅋ]&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 아는 분이 많지 않다는 거 치고 만난 분들이 너무 많아서 뭔가 다 적을 자신이 없어서 비워두기로 했다 (???) 다들 저하고 같이 얘기 나눠주고 그래서 감사합니다  &lt;br /&gt;&lt;br /&gt;최고점이&amp;nbsp;연속으로&amp;nbsp;찍히니까&amp;nbsp;오프라인&amp;nbsp;대회&amp;nbsp;중에서는&amp;nbsp;라스트&amp;nbsp;댄스가&amp;nbsp;될&amp;nbsp;가능성이&amp;nbsp;높은&amp;nbsp;SCSC&amp;nbsp;성적도&amp;nbsp;갑자기&amp;nbsp;기대가&amp;nbsp;되기&amp;nbsp;시작한다.&amp;nbsp;창대하게&amp;nbsp;마무리&amp;nbsp;한&amp;nbsp;번&amp;nbsp;했으면&amp;nbsp;좋겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;P.S. 변수명을 이상하게 짓는 건 아직도 습관이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;518&quot; data-origin-height=&quot;239&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blgypf/dJMcaipGAgA/FTxd2KhhOLk7gz7HYZ6szK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blgypf/dJMcaipGAgA/FTxd2KhhOLk7gz7HYZ6szK/img.png&quot; data-alt=&quot;tot가 두 개일 때 대체명을 써야 했음 ㄱ-&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blgypf/dJMcaipGAgA/FTxd2KhhOLk7gz7HYZ6szK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fblgypf%2FdJMcaipGAgA%2FFTxd2KhhOLk7gz7HYZ6szK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;518&quot; height=&quot;239&quot; data-origin-width=&quot;518&quot; data-origin-height=&quot;239&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;tot가 두 개일 때 대체명을 써야 했음 ㄱ-&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>PS</category>
      <author>jkrt2</author>
      <guid isPermaLink="true">https://jkrt2.tistory.com/10</guid>
      <comments>https://jkrt2.tistory.com/10#entry10comment</comments>
      <pubDate>Tue, 5 May 2026 22:42:19 +0900</pubDate>
    </item>
    <item>
      <title>BOJ 31439 선형대수학: 개념과 방법</title>
      <link>https://jkrt2.tistory.com/9</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;난이도:&amp;nbsp;&lt;span style=&quot;color: #9feec3;&quot;&gt;&lt;b&gt;Platinum I &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(체감상&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #99cefa;&quot;&gt;Diamond V&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;태그: #애드혹, #해구성, #많은조건분기&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;128&quot; data-origin-height=&quot;128&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1pigl/dJMcadahK00/GiMXEZvAafJ0R0j6aYdX21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1pigl/dJMcadahK00/GiMXEZvAafJ0R0j6aYdX21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1pigl/dJMcadahK00/GiMXEZvAafJ0R0j6aYdX21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1pigl%2FdJMcadahK00%2FGiMXEZvAafJ0R0j6aYdX21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;32&quot; height=&quot;32&quot; data-origin-width=&quot;128&quot; data-origin-height=&quot;128&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좀 무식하게 푼 거 같긴 하지만 오랜만에 어려운 문제 하나 풀었고 원래 풀이와도 약간 다른 것 같아서 생각 과정과 함께 올려봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Statement&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1385&quot; data-origin-height=&quot;1436&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crofQz/dJMcaflHADl/t5jz5KiQxmJrPQoPYb2YJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crofQz/dJMcaflHADl/t5jz5KiQxmJrPQoPYb2YJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crofQz/dJMcaflHADl/t5jz5KiQxmJrPQoPYb2YJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrofQz%2FdJMcaflHADl%2Ft5jz5KiQxmJrPQoPYb2YJ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;468&quot; height=&quot;485&quot; data-origin-width=&quot;1385&quot; data-origin-height=&quot;1436&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Solution / Thought Process&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Subtask 1 (N = 17)을 보고 백트래킹을 해야 되겠다 생각했습니다. 구현 과정은 그렇게 어렵진 않습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;N = 17이 되는 것을 확인하였으나, 홀수는 N = 11부터 되고, 짝수는 N - 1일 때 제외하고는 (전체 배열을 보면 안 된다는 것이 자명하게 보입니다.) 안 된다는 점을 파악했습니다. N이 작을 때 (&amp;lt;=17) 는 예외가 많을 것 같아서 백트래킹을 돌리는 걸로 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 앞으로 이야기하는 케이스는 모두 &lt;b&gt;N&amp;gt;17&lt;/b&gt;를 전제로 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이가 큰 수에도 적용한다는 가정을 하면서 Subtask 2 (N은 짝수)를 풀었습니다. 최대한 경우의 수를 줄이기 위해 N과 1을 붙여놓고, 짝수/홀수를 이어붙이는 방법을 생각했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 또 하나의 조건은 이웃한 원소의 차가 2가 되면 안 된다는 점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 짝수 구간 / 홀수 구간만 선택하면 max - min이 4 이상 짝수이며, 짝수 / 홀수 구간을 동시에 고를 시 max / min이 N / 1임이 보장됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한, 나중에 홀수 N으로 할 때 홀/짝 간 interaction에서 max(X)-min(X)의 서로 다른 값을 최소화하기 위해, N 바로 옆에 가장 작은 짝수인 2를 놓았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때, N이 충분히 큰 짝수이고 (&amp;gt;=18면 충분합니다) N - 1이 합성수이면 항상 해구성이 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어서 N = 16이면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12 8 4 14 10 6 &lt;b&gt;2&lt;/b&gt; &lt;b&gt;16 1&amp;nbsp;&lt;/b&gt;5 9 13 3 7 11 15&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가 가능합니다. 볼드체 친 수들은 위치관계가 중요한 이들입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Subtask 3 [홀수]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기가 많조분이 많이 어렵습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Subtask 2하고 N-1하고 1 사이에 N을 넣으면 되지 않나? -&amp;gt; 이건 애초에 N-1이 유효한 순열을 가져야 하기 때문에, N-2이 합성수일 때만 성립합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어서 N = 17이면&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;12 8 4 14 10 6&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;2&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;16 17 1 &lt;/b&gt;5 9 13 3 7 11 15&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;가 가능합니다. (N = 16에서 추가된 min, max 순서쌍이 (2, 17), (1, 17), (16, 17)밖에 없으므로 성립)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 N-2가 소수일 때는 어떨까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 처음에는 N 옆에 2를 두는 대신, 4 또는 6을 만나면 어떨까 생각했는데 그러면 언젠간 2를 만나면 값이 N-2 (소수)여서 실패합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이보다 한 단계 아래인 N-4를 생각해봤는데, N-4이면 제한이 너무 많이 걸릴 것 같아서 없다고 가정하고 N-4가 합성수인 경우부터 살펴봤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 만족하는 예시 N = 19를 살펴보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 우리는 (max, min) 짝이 (18, 1), (19, 2)면 안 되므로 [...18...19...1...2...] 순서대로 배열되어야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;짝수를 최대한 많이 만들기 위해 2만 끝에 박아두면 될 것 같다는 생각이 들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 전에 있는 아이디어를 비슷하게 사용 시, N-1 (18) 바로 옆에는 N (19)하고 4가 들어가야 한다는 점을 파악할 수 있습니다. 그 뒤 짝수, 홀수 그룹은 지난 subtask와 동일하게 묶으면 됩니다. 단, 이 때 추가할 점은 &lt;b&gt;N-2&lt;/b&gt;로 끝나야 한다는 점입니다. 그래야 2와 이웃해서 차가 N-4가 되기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, N = 19일 때는 다음과 같은 구성이 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14&amp;nbsp;10&amp;nbsp;6&amp;nbsp;16&amp;nbsp;12&amp;nbsp;8&amp;nbsp;&lt;b&gt;4&amp;nbsp;18&amp;nbsp;19&amp;nbsp;1&lt;/b&gt;&amp;nbsp;15&amp;nbsp;3&amp;nbsp;9&amp;nbsp;5&amp;nbsp;11&amp;nbsp;7&amp;nbsp;13&amp;nbsp;&lt;b&gt;17&amp;nbsp;2&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때 &amp;lt;14 ... 18&amp;gt;을 E1, &amp;lt;19 .... 17&amp;gt;을 O라 하면 이가 성립하는 이유를 보일 수 있습니다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;i) 같은 그룹에만 속할 시: 4 이상 짝수만 나오므로 소수 아님&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ii) E1 - O를 지날 시: Max는 N(19)가 확정, Min은 18, 4, 또는 1이 가능하고 이들의 차는 모두 소수가 아니므로 (N-4가 합성수라는 케이스기 때문에) 성립&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;iii) E1 - O - 2 혹은 O - 2를 지날 시: 가능한 순서쌍이 (2, 17), (1, 17), (1, 19) 3개므로 성립.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 항상 소수가 아님&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때, 홀수로 이루어진, 1로 시작하고 N-2로 끝나며 이웃한 수의 차이가 2가 아닌 수열은 N을 4로 나눈 나머지에 따라 백트래킹 등 없이 구성이 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 해서 제출했더니 아직도 57점이 나왔고, 나중에 검사를 해도 틀린 부분이 없어서 N-4가 소수일 때 구성이 안 된다는 가정이 틀렸다는 생각을 해봤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 백트래킹을 통해 N = 15를 돌려본 결과 (N-2 = 13, N-1 = 11은 소수), 다음과 같은 패턴이 띄었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;551&quot; data-origin-height=&quot;107&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sDJFF/dJMcad2qIMp/8w2c8CSw0r6Uu3MAWnzXWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sDJFF/dJMcad2qIMp/8w2c8CSw0r6Uu3MAWnzXWk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sDJFF/dJMcad2qIMp/8w2c8CSw0r6Uu3MAWnzXWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsDJFF%2FdJMcad2qIMp%2F8w2c8CSw0r6Uu3MAWnzXWk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;551&quot; height=&quot;107&quot; data-origin-width=&quot;551&quot; data-origin-height=&quot;107&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞에는 2, 1, 5, 4가 보이고 15 옆에는 6이 놓여있습니다. 이 때, N-2, N-4가 소수일 때, N&amp;gt;17이고 N-2, N-4, N-6은 모두 mod 3이 다르기 때문에 &lt;b&gt;N-6이 합성수&lt;/b&gt;임이 보장됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 전에 이용한 비슷한 논리를 적용 시,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[2, 1, 5, 4] + [N-2] + [3] + [나머지 홀수] + [N] + [6] + [나머지 짝수]를 구성하면 될 것이라는 생각을 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어서, N = 21일 때,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2 1 5 4 19 3&lt;/b&gt; 7 11 15 9 13 17 &lt;b&gt;21 6&lt;/b&gt; 10 14 18 8 12 16 20&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전과 비슷한 논리로 나오는 max - min 값은 항상 소수가 아님을 증명할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, N이 충분히 크면 모든 홀수가 가능함을 보일 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;i) N&amp;lt;=17&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ii) 짝수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;iii) N-2 합성수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;iv) N-2 소수, N-4 합성수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;v) N-2 소수, N-4 소수 (N-6 합성수)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;순서로 나눠서 구현 시 AC를 받을 수 있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고려해야 할 사항이 굉장히 많긴 했지만, 어떻게 해야 max - min 수를 최소화하면서 구성할 수 있었는지 구하는 것이 흥미로웠습니다 :)&lt;/p&gt;</description>
      <category>PS</category>
      <category>ps</category>
      <author>jkrt2</author>
      <guid isPermaLink="true">https://jkrt2.tistory.com/9</guid>
      <comments>https://jkrt2.tistory.com/9#entry9comment</comments>
      <pubDate>Wed, 25 Mar 2026 22:08:07 +0900</pubDate>
    </item>
    <item>
      <title>SUAPC 2026 Winter 참가 후기</title>
      <link>https://jkrt2.tistory.com/8</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blobfearful.png&quot; data-origin-width=&quot;154&quot; data-origin-height=&quot;154&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PEsxK/dJMcafS8Yze/v0KfZZbnpYUnkQpxLn7J60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PEsxK/dJMcafS8Yze/v0KfZZbnpYUnkQpxLn7J60/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PEsxK/dJMcafS8Yze/v0KfZZbnpYUnkQpxLn7J60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPEsxK%2FdJMcafS8Yze%2Fv0KfZZbnpYUnkQpxLn7J60%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;31&quot; height=&quot;31&quot; data-filename=&quot;blobfearful.png&quot; data-origin-width=&quot;154&quot; data-origin-height=&quot;154&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ICPC 전부터 어떻게 참가할지에 대해서 고민이 많았던 대회였습니다. 현재는 1B1P1O1N(...)이 된 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;3Blue&lt;/span&gt;1&lt;span style=&quot;color: #ee2323;&quot;&gt;Nutella&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;의&amp;nbsp;&lt;span style=&quot;color: #f89009;&quot;&gt;&lt;b&gt;a_cedia&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 입대를 하셔서 팀원이 모자란 상태라 처음에 출제할지 생각했는데 문제가 너무 애매해서 버렸습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그렇게 시간이 지나도 팀원을 못 찾았으나&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;dong5995&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 팀 제안을 하게 되었습니다. 사실 이 분이 코포 블루셔서 파란색으로 이름을 나타내긴 했...는데 코포쪽에만 약하신 거지 기하 같은 곳에서의 체급은 엄청납니다. 괜히 아챔 진출하신 게 아니죠 ㅋㅋ! 그래서 나머지 한 분을 찾고 있었는데 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;dong5995&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님의 제안으로 이 분에게 PS를 가르침받고 계셨던 치대 동기 분인 &lt;span style=&quot;color: #f3c000;&quot;&gt;&lt;b&gt;ehehfdlvy4&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님하고 같이 &lt;b&gt;원내생진료실 [술자 | 어시스트 | 환자]&lt;/b&gt; 팀을 맺게 되었습니다. 처음 뵈시는 분인데다가 CP 참가가 처음이신데도 점심도 사주시고 착하게 대해주셔서 너무 감사합니다 ☺️ 여담으로 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;nflight11&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #f3c000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님과 같이 할까 생각하기도 했는데 그 분은 나중에 1인팀을 만들고 나선 개인 사정 때문에 참가 못 했다는 슬&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #f3c000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;픈 사연이... 네임태그를 3개나 만들었는데 아쉬울 따름입니다 :blobsad:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;nflight11.jpg&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhSlk8/dJMcaivwp7c/pIP5fccO8X6i1k0R8Swa71/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhSlk8/dJMcaivwp7c/pIP5fccO8X6i1k0R8Swa71/img.jpg&quot; data-alt=&quot;11 22 33&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhSlk8/dJMcaivwp7c/pIP5fccO8X6i1k0R8Swa71/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhSlk8%2FdJMcaivwp7c%2FpIP5fccO8X6i1k0R8Swa71%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;289&quot; height=&quot;385&quot; data-filename=&quot;nflight11.jpg&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;11 22 33&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무튼 팀원 중 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;dong5995&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 ICPC 당시 &lt;b&gt;SEVERANCE&lt;/b&gt;팀이였던 것처럼 연세대 리저널에 나간 네 팀 모두가 서로 다른 팀이나 운영진으로 빠져나갔는데, 그 중&amp;nbsp;&lt;b&gt;Endgame&lt;/b&gt;은 무려 슈퍼신입생 &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;kolorvxl&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;을 영입하여&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;I&lt;/span&gt;ce &lt;span style=&quot;color: #ee2323;&quot;&gt;C&lt;/span&gt;ream &lt;span style=&quot;color: #ee2323;&quot;&gt;P&lt;/span&gt;izza &lt;span style=&quot;color: #ee2323;&quot;&gt;C&lt;/span&gt;rust&lt;/b&gt;라는 미친 팀을 결성했습니다. 그나마 다른 학교에서는 체급이 강한 분들이 대부분 졸업하신다 들어서 이번 대회에서 연대가 선전할 수 있지 않을까라는 생각을 했습니다. 하지만 요즘 제 고점이 안 터지는 데다가, 최근에 브론즈 풀기에만 몰중해버려서 어려운 문제를 풀 수 있을지에 대한 의문이 들었습니다. 사실 예비소집에서 페널티&amp;nbsp;+1 +5 +5 +7로 문제를 맞추려 했다가 간단한 실수를 해서 허무하게 망가져버렸습니다... 그렇게 대회가 시작되었습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0:00&lt;span style=&quot;color: #ee2323;&quot;&gt;:34&amp;nbsp;&lt;span style=&quot;color: #000000;&quot;&gt;[A [+], 1 Solve]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;A를 제가 바로 본다 해서 그렇게 했습니다. 그냥 평범한 브4 문제일거라는 믿음으로 읽고 바로 구현했습니다. 예제도 안 돌리고 넣는 짓을 했으나 저는 솔직히 퍼솔이 마려웠습니다. 그리고 도박의 결과는 성공적! &lt;b&gt;&lt;span style=&quot;color: #f3c000;&quot;&gt;First Solve&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;를 기록하게 됐습니다. 사실 0분대에 푼 팀이 3팀이 있었으나, 문제풀이 슬라이드에서는 저희 팀이 뜨더라고요... 여담으로 구현이 매우 간단하여 제출 가능 언어 중 하나인&amp;nbsp;&lt;b&gt;아희&lt;/b&gt;로 푸신 분이 오픈콘테스트에 있었다는...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0:13&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: #000000;&quot;&gt;[J [+], 2 Solve]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 뒤에 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;dong5995&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 M을 파악하여 푸시다가 생각보다 엣지케이스가 많아서 그런지, &lt;span style=&quot;color: #ee2323;&quot;&gt;2WA&lt;/span&gt;가 나왔습니다. 그 사이 저는 문제를 왔다갔다 하다가 J가 몇 번 풀린 걸 보고 PBA가 가능한지 생각해봤습니다. 그래서 손으로 작은 값으로 해보더니 주기성이 보이는 것 같아서 그냥 찍어서 냈습니다. 결과적으로는 맞았는데, 왜 맞았는지는 대회가 끝날 때까지 몰랐습니다... 그냥 운좋게 맞추고 별 생각을 안 한 것 같습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;0:17&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: #000000;&quot;&gt;[M [+2], 3 Solve]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이제 틀린 M을 같이 고찰하다가 허점 하나를 발견하여 빠르게 성공적으로 고치고 맞췄습니다. 유독 이번 대회가 예제 수가 적은 것 같았는데, 이번 건 세 개임에도 불구하고도 예제가 잘 나왔습니다... 약간 스포지만 이 '예제는 잘 나오는데'는 대회 후반에도 반복될 예정입니다...&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0:31&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: #000000;&quot;&gt;[E [+], 4 Solve]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;슬슬 최상위권 팀이 다른 문제들을 맞추기 시작했는데 H는 머리를 긁어봐도 도대체 어케 할지 모르겠어서 E를 한 번 살펴봤습니다. 단순 홀짝성 해구성 문제라 무난하게 맞췄습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1:14&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: #000000;&quot;&gt;[H [+2], 5 Solve]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;시간이 지나가는데도 다른 팀에서 풀린 문제가 안 나와서 방황하다가, H에 갑자기 MST라는 아이디어가 생각났습니다. 사실 MST가 여러 개 나올 수 있어서 처음에 버렸다가 나중에 &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;dong5995&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이&lt;span&gt; 모델링을 잘 했으...나 우산 거치대가 0개인 경우가 빠져서 예제부터 틀렸습니다. 그래서 제가 모델링을 억지로 다시 맞춰봤으나 논리부터 틀려서&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;1WA&lt;span style=&quot;color: #000000;&quot;&gt;, 그걸 구현을 잘못한 줄 알아서 고치니까 &lt;span style=&quot;color: #ee2323;&quot;&gt;2WA&lt;span style=&quot;color: #000000;&quot;&gt;가 나왔습니다. 그래서 다시 원래 해결책으로 돌아가니 한 가지 경우만 추가하면 된다는 것을 알고 풀게 되었습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1:27 [C [+], 6 Solve]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;H하고 비슷한 양상으로 간 것 같습니다. 제가 대충 브루트포스를 '똑똑하게 하면' 된다라는 아이디어를 잡았으나 뻘짓을 해서 이분탐색을 해야 한다 (???)라는 소리를 했습니다. 다행히 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;dong5995&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이&lt;span&gt;&lt;span&gt; 우큐를 이용해서 깔끔하게 정리시켰기에 WA는 없었습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;2:05 [B [+], 7 Solve]&lt;/span&gt; &lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;지금쯤 3위에 있었는데 문제가 잘 안 풀려서 저는 이번에도 문제를 회전초밥마냥 돌아가서 보고 슼보도 확인해봤는데 B가 몇 번 풀려있길래 확인해봤....는데 몇 달 전에 푼 루비 문제가 바로 생각이 난 겁니다. 놀랍게도 그 루비 문제는 이번 대회 운영자인&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;annyeong1&lt;/b&gt;&lt;/span&gt;님이 만드신 건데, 이 정도면 제가 풀길 원했던 것 같습니ㄷ&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;아무튼 사이클 분할을 잘 하고 거기에 아이디어 하나 정도만 추가하면 풀 수 있었습니다.&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;3:03 [K [+2], 8 Solve]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;사실 2시간 때까지만 해도 은근 고점이였습니다. 그런데 문제가 더 안 풀리거나, 해봐도 감이 하나도 안 잡혔습니다. 사실 K는 문자열 문제인데 '문자열 시러'하고 그냥 바로 던져서 혹시나 해서 봤...더니? 그냥 트라이 세그 문제였습니다?? 근데 거기서 노드가 200만개인 HLD를 해야 한다는 사실(...)을 알고 절망에 빠져버렸습니다. 두 개 다 구현하기 겁나 귀찮은데 말이죠. 다행히, HLD가 뻘짓인 걸 알아채고 자구조 정비를 하서 제출...했으나, 제출하자마자 인덱스가 잘못했다는 것을 알아채버렸습니다 (근데 우연히도 예제는 맞았습니다. How?). 그리하여 &lt;span style=&quot;color: #ee2323;&quot;&gt;1WA &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;적립. 그래서 고쳤으나 또 틀렸습니다. 뭔가 작은 예시로 해보라는 조언을 받아서 돌려봤더니 substring인 케이스를 잘못 처리한 것이였습니다. 다행히 이거도 빨리 알아채서 재빨리 고치니 맞췄습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3시간 이후에는 슼보가 프리즈가 걸리고 그대로 제 머리도 프리즈가 걸렸습니다. K를 구현하느라 머리가 빠져서 그냥 머리가 아팠던 것 같습니다. 그래서 그냥 멀뚱거리다가 &lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #f3c000;&quot;&gt;&lt;b&gt;ehehfdlvy4&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 G하고 D에서 가능한 아이디어를 설명하셨는데 (나중에 아이디어를 찾는데 큰 도움이 됐습니다), 일리있어 보였으나 제 남은 힘으로는 풀지 못 했습니다. 그러다가 그 내용을 전달받은 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;dong5995&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 G 풀이를 파악했는지 구현을 몇십분 한 끝에 예제가 나왔으나...!&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;RE&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가 나온 것입니다. 사실 여기서부터는 나머지 팀들도 거의 안 푼 영역이라 그냥 솔브 수만 채운다는 마인드로 try except를 이용한&amp;nbsp;&lt;/span&gt;&lt;b&gt;런타임 에러 이진탐색&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(...)을 하기 시작했습니다. 그리하여 무수히 많은 &lt;/span&gt; &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;RE&lt;/span&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;와 &lt;span style=&quot;color: #ee2323; text-align: start;&quot;&gt;WA&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;가 나왔고... 마침내!! 오류를 모두 찾았습니다. 그래서 드디어 제출한 결과...!!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;3:57 [G [&lt;span style=&quot;color: #ee2323;&quot;&gt;-11&lt;/span&gt;], 8 Solve]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;결국 &lt;span style=&quot;color: #ee2323; text-align: start;&quot;&gt;WA&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;가 다시 나오고 말았습니다... 지금쯤이면 제미나이에 돌리면 나온지 오래될텐데 계속 예제만 나오고 틀리니 속은 타들어갑니다. 저였으면 거의 반포기 상태였을텐데 무지성으로 예외가 될만한 케이스를 찾아보니까 나왔습니다. 하지만 오히려 이제 예제까지 틀려가는 케이스가 만들어져가며 도대체 이 100줄짜리 파이썬 코드가 디버깅이 가능하나 싶은 생각이 들게 되었습니다. &lt;span style=&quot;color: #ee2323; text-align: start;&quot;&gt;WA&lt;span style=&quot;color: #000000;&quot;&gt;만 더 쌓여가고 거의 지쳐가고 있었던 그 순간 제출을 하게 되는데...!!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;GG.png&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;76&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4YCz1/dJMcajnD1Mb/wnyF6TQ21vgl8pecPh8D4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4YCz1/dJMcajnD1Mb/wnyF6TQ21vgl8pecPh8D4k/img.png&quot; data-alt=&quot;그는 갓.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4YCz1/dJMcajnD1Mb/wnyF6TQ21vgl8pecPh8D4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4YCz1%2FdJMcajnD1Mb%2FwnyF6TQ21vgl8pecPh8D4k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;924&quot; height=&quot;76&quot; data-filename=&quot;GG.png&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;76&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그는 갓.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #ee2323; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4:18 [G [&lt;span style=&quot;color: #409d00;&quot;&gt;+13&lt;/span&gt;], 9 Solve]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #ee2323; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 어려운 걸 해냈습니다. 그 이후에는 저는 숭배만 계속 했던 것 같습니다. 솔직히 D는 &lt;span style=&quot;color: #f3c000;&quot;&gt;&lt;b&gt;ehehfdlvy4&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님하고 더 상의해봤고 뭔가 다 시도해볼만 했던 거 같은데 아이디어가 더 안 나와서 그냥 아희로 제출하고 L에 혼신의 랜덤질을 하는 뻘짓을 하고 대회를 마쳤습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;L.png&quot; data-origin-width=&quot;792&quot; data-origin-height=&quot;234&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/73axj/dJMcah4uBJf/skbkfcd5kf5f6glIgrfyL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/73axj/dJMcah4uBJf/skbkfcd5kf5f6glIgrfyL1/img.png&quot; data-alt=&quot;10솔임 ㅅㄱ&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/73axj/dJMcah4uBJf/skbkfcd5kf5f6glIgrfyL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F73axj%2FdJMcah4uBJf%2Fskbkfcd5kf5f6glIgrfyL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;663&quot; height=&quot;196&quot; data-filename=&quot;L.png&quot; data-origin-width=&quot;792&quot; data-origin-height=&quot;234&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;10솔임 ㅅㄱ&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사실 프리즈 전 3위였으나 많은 팀들이 8솔을 하고 우리가 생각보다 WA가 상당히 쌓여 G가 아니였으면 6위로 마감했을 예정이였으나 스코어보드에서 충격과 공포의 &lt;b&gt;+13&lt;/b&gt;이 공개되고 나서 최종 순위는&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #f3c000;&quot;&gt;3위&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;로, 매우 의례적으로 프리즈 이후에도 순위를 유지할 수 있었습니다. CP 대회 중 최고 성적도 덤이고요. (전: YCPC 6위) 정말 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;dong5995&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 후반부에는 무시무시해지는 것 같아서 그 점이 너무 부럽습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사실 &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;lindelof&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님&lt;/span&gt;이 대회 후에 절망하시는 거 같아서 설마 프리즈 이후에 못 풀었나 싶어서 2위도 사실 기대하고 있었으나 저 팀은 전에 언급한 ICPC도 못 푼&amp;nbsp;&lt;b&gt;I&lt;/b&gt;번을 풀어서 (근데 오픈콘에는 무려 그 문제의 제한을 업그레이드시킨 문제가 있다고 함...) 그 팀이 2위를 차지하게 되었습니다. 그럼에도 불구하고 저 팀하고 1위 팀을 우승 정배로 여기고 있었는데 그 팀 바로 밑까지 추격할 수 있었다는 건 정말 큰 성과 같습니다. 그래도 PS를 한 성과가 보여서, 그리고 어쩌다 순위권을 모두 연대로 채웠다는 점에서 정말 행복하게 대회를 끝마칠 수 있었습니다. 진짜 막판에 너무 캐리받은 걸 보니까 왜 저런 분들이 아챔에 가는지 납득이 가는 경험이기도 했습니다... 대회 5시간 동안 열심히 참여해주신 &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #f3c000;&quot;&gt;&lt;b&gt;ehehfdlvy4&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님하고 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;dong5995&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님에게 다시 한 번 정말 큰 감사를 드립니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #f3c000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;P.S. 참고로 저 두 분은 차를 타고 대회장에 왔다는데 나중에 확인해보니 주차금이&amp;nbsp;&lt;b&gt;10분 1500원&lt;/b&gt;이라는 살인적인 물가라 상금에서 상당수가 저기에서 빠져나갔다네요... 3위 안 했으면 적자 날 뻔 ㄱ-&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>PS</category>
      <category>CP</category>
      <category>ps</category>
      <author>jkrt2</author>
      <guid isPermaLink="true">https://jkrt2.tistory.com/8</guid>
      <comments>https://jkrt2.tistory.com/8#entry8comment</comments>
      <pubDate>Sat, 21 Feb 2026 01:31:40 +0900</pubDate>
    </item>
    <item>
      <title>1/17 CP (KCPC 2025 + Codeforces 1073) 후기</title>
      <link>https://jkrt2.tistory.com/7</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;뭔가 글 두 개로 쓰긴 애매할 거 같아서 하나로 묶었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온사이트 신청을 안 해서 온라인으로 나가게 되었습니다. Div. 1은 하다가 힘없이 털릴 거 같아서 Div. 2로 갈아타서 봤습니다. (원래 Div. 2는 내부인 대상으로만 한다고 하네요...)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;밥 먹고 나자 대회가 시작해있어서 허겁지겁 컴퓨터를 키긴 했는데 A를 보니까 구현이 막막하게 생겨서 그냥 끌리는 문제 하나로 넘어갔습니다. 이 당시 저는&amp;nbsp;&lt;b&gt;난이도 오름차순 정렬&lt;/b&gt;이라는 사실을 모르고 있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;0:22 - H [&lt;span style=&quot;color: #f3c000;&quot;&gt;First Solve&lt;span style=&quot;color: #000000;&quot;&gt;, +1]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;대강 생각해보니까 K의 위치는 정해져있으므로 이들부터 옮긴 뒤 모든 P를 (끝쪽이 아닌) 한 뭉치로 옮기기 위해서는 최대한 중앙값 근처로 접근해야 한다는 아이디어가 빨리 잡혔습니다. 그런데 처음에 중앙값을 계산해놓고 최대/최솟값 조절을 처음 값인 거 마냥 조정해서 1WA 뜨고 맞았습니다. 그래도 나머지 분들이 대부분 ABC 푸느라 퍼솔 챙길 수 있었습니다. CP 하면서 인생 처음 퍼솔이여서 기분은 좋았어요 (사실 SUAPC에서 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;additionalpass05&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 한 적 있긴 한데 그 문제에 제가 관여한 게 하나도 없어서...&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;0:29 - F [&lt;span style=&quot;color: #f3c000;&quot;&gt;First Solve&lt;span style=&quot;color: #000000;&quot;&gt;, +]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;사실 이제 슼보를 보니까 대충 난이도 오름차순 순이다라는 파악을 했...는데 어차피 H가 풀려서 이 참에 퍼솔 최대한 많이 먹는다는 마인드로 F에 들어갔습니다. (사실 그 전에 I를 풀려고 했는데 막혀서 그냥 F로 넘어갔습니다.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;지문이 무서워보였지만 단순 포함 배제를 잘 사용하면 python pow로 쉽게 해결되는 문제였습니다.&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;0:44 - G [&lt;span style=&quot;color: #f3c000;&quot;&gt;First Solve&lt;span style=&quot;color: #000000;&quot;&gt;, +1]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대충 생각해보니까 누적합으로 하면 뚫릴까 싶었습니다. 가능한 케이스가 6가지가 끝이기에 모든 회전에 대해서 하드코딩을 했습니다. 다행히 6가지라는 경우의 수가 워낙 적어서 무지성 index로도 시간 내에 돌려졌습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 맞기 전에 하드코딩 한 줄을 잘못 해서 한 번 틀렸습니다. 예제 처음 거만 체크해서 그런 듯... 아무튼 어찌저찌 퍼솔 해트트릭 달성 야호! 여담으로 Div 1의 변형 문제는 State가 48개더라고요... 저건 어케 푸는지 모르겠&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;0:54 - E [+1]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때 쯤이면 퍼솔이 다 사라져서 그냥 풀고 싶은 순서대로 푼 거 같습니다. 평범한 DP 문제입니다. 그런데 -1을 output하고 continue해야 하는데 그걸 안 넣어서 1WA 했습니다. 그냥 체크를 안 하고 내는 게 습관이 된 듯.... o(N^2)이 Div 1에 있다는데 그거도 업솔빙 해봐야 되겠습니다.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1:00 - D [+]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해 구성 문제입니다. N &amp;gt;= 999998 정도까지만 따로 경우를 만들면 나머지는 형태 하나로 처리가 가능합니다. 이거도 Div 1버젼이 흥미로워 보입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1:06 - A [+]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A 치고는 구현이 빡센 건 맞는 거 같은데 그래도 결국 갯수 세기 + 많조분 문제라 브론즈는 맞는 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1:07 - B [+]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1분 컷 했습니다. 대충 이차함수 최댓값이다라는 수학 직관 쓰면 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;13분 동안 4솔 하면서 CP 인생 처음으로 전체&amp;nbsp;&lt;b&gt;1위&lt;/b&gt;를 10분 정도 달성했습니다. 아무래도 Div 1으로 대부분의 미친 고수분들이 빠지니까 그래도 경쟁력이 생긴 거 같습니다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1:33 - C &lt;span style=&quot;color: #ee2323;&quot;&gt;[+3]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;진짜 정신나가는 줄 알았습니다. 아이디어는 거의 바로 잡았는데 많조분 과정에서 health가 안 떨어질 때 멈추는 과정, 수식 정리 과정 (나눗셈이 두 번이라 floating point 이슈 있을 줄 알고 식정리를 좀 했습니다)에서 실수를 3번 정도 한 데다가 데이터세트가 그렇게 많은 거도 아니라서 자잘한 픽스를 한 뒤에야 맞았습니다. 그래도 다시 1위로 올라갔습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2:31 - I &lt;/b&gt;&lt;b&gt;[+]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;여기부터 확실히 고전했던 것 같습니다. 전에도 언급했듯이 먼저 풀려고 했다가 안 잡혀서 나중으로 미뤘습니다. 근데 이제 풀게 I, J밖에 없었습니다. 그래서 생각난 게 레이지세그였습니다. 그런데 추가시간 없는 1초인데 N&amp;lt;=1e6이라 파이썬에서 할 생각을 바로 접고 C++에서 짰습니다. 이전에 쓰던 레이지세그 구현이 정말 엉망이라 최근에 푼&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;Reactor &lt;span style=&quot;color: #000000;&quot;&gt;코드를 개인 노트에 넣고 구현하니까 확실히 더 편하긴 했는데 그래도 그렇게 쉽진 않았습니다. 아무튼 660ms에 돌아서 약간 아슬아슬하게 골인했습니다. 나중에 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;badtreap&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 말하시길 Linear Solution이 존재한다고 해서 그거도 나중에 살펴봐야 할 듯...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3:39 - J&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;[+]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;마지막 문제는 처음에 N, M 범위 때문에 DP 같은 아이디어 잡아보려고 했다가 실패하고 전에 I까지 풀었던 과정에서 약간 힘이 빠져서 30분 동안 쉬고 오더니 발상이 잡혔습니다. (사실 N, M 범위는 별로 큰 의미가 없었습니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;대충 두 개의 서로 다른 문자가 있으면 패턴이 고정이다라는 점을 통해서 많조분을 하면 되는데 그거조차 식정리가 워낙 빡세서 모든 케이스 정리를 적절히 하는데만 30분이 더 걸렸습니다. 다행히 예제는 잘 준비되어있어서 억울한 WA 받는 일은 없었습니다. 그렇게 올솔&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2518&quot; data-origin-height=&quot;1356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7rZTa/dJMcab31ERE/qrARCXoKCGiF4dKxfpUSoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7rZTa/dJMcab31ERE/qrARCXoKCGiF4dKxfpUSoK/img.png&quot; data-alt=&quot;최종 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7rZTa/dJMcab31ERE/qrARCXoKCGiF4dKxfpUSoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7rZTa%2FdJMcab31ERE%2FqrARCXoKCGiF4dKxfpUSoK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2518&quot; height=&quot;1356&quot; data-origin-width=&quot;2518&quot; data-origin-height=&quot;1356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;최종 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇게&amp;nbsp;&lt;b&gt;10/10 905 min. 5위&lt;/b&gt;로 대회 마감했습니다. 뭔가 퍼솔 노리다 보니까 떨어진 감은 없진 않지만 그래도 올솔했으면 됐다 생각합니다. 대회 자체는 약간 관찰보다 케이스워크 구현 제대로 하기 쪽이였던 것 같던게 아쉬웠지만 그래도 전체적으로는 무난했던 것 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 이번에 1위 분이&amp;nbsp;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;sk091204&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이시던데 이번 SUAPC에 YCPC 1위&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;paracompact&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님하고 같이 나온다니 벌써부터 1위 후보 나온 거 같네요 으악&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그걸 다 보고 나서 코포를 쳤습니다. 그래도 오늘 대회 결과하고 최근 5번 중 3번이 오렌지 퍼포였다는 점을 감안하면 그래도 이번에 기대가 됐습니다. 다만 이번이&amp;nbsp;&lt;b&gt;분리 Div 1&lt;/b&gt;을 처음 본다는 점이 약간 불안하긴 했습니다. 원래 스피드포스가 장점이였는데 첫 문제부터 2C 난이도면 그 장점 자체가 사라지지 않나... 게다가 심지어 3시간 라운드라 이번에도 마지막 1시간을 날릴 준비 하고 있었습니다  &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;0:05 - A [+]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;솔직히 B1 B2 안 풀리면 튀려고 했는데 그냥 A가 거의 바로 아이디어가 나오니까 그냥 가보자 마인드로 B 안 보고 제출했습니다. 지문이 문제를 더 어려워보이게 했던 것 같습니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;0:32 - B1 [+1]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대충 그리디하게 하면 되겠지 하고 돌리니까 처음에 틀리게 나왔습니다. 벌써부터 왜 레지했지라는 생각이 들었는데 다행히 곧바로 반례를 찾아서 (처음에는 이웃한 닫는 괄호를 모두 닫아야 한다 생각했으나 하나만 제거해도 충분했음...) 맞았습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1:25 - B2 [+1]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그냥 DP 문제였던 거 같은데 모든 케이스 관리하는 게 빡셌습니다. 예제도 안 나오는 거만 몇 번이여서 수정을 매번 했습니다. 그래도 원래 디버깅 할 때 LLM에 의존하던 지금의 나보단 낫아진 것 같습니다. 그런데 엣지케이스 체크도 안 하고 내는 제 습관은 여전했는지 67x67x101 array를 101x67x67로 착각해서 RE가 일어났습니다. 좀 허무하게 점수 날린 거 같네요; 참고로 N&amp;lt;=100이였는데 O(N^3) 안에 풀리던 거 같네요. 왤케 제한 낮게 줬지&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2:01 - C [+]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;솔직히 B2까지는 장점이였던 스피드포스조차 못 해서 정말 큰일났다 생각하고 있었습니다. C는 인터랙티브였는데 끄적이니까 C 중에서는 꽤 간단한 관찰이 나왔습니다. 지난 번에 퍼플 승급할 때도 E에서 그런 인터랙티브 나와서 잘 본 건데 그냥 운이 잘 따라주는 건가 싶습니다. 머지소팅 쿼리 정리하는 형식이라 꽤 재밌게 풀었습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그 뒤로는 D에서 아이디어가 안 잡혀서 59분 동안 아무거도 못 했습니다. 그냥 1시간 쉬는 게 정배가 맞는 거 같습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그래도 C는 풀어서 퍼포 괜찮게 나오겠지 하고 보니까&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image.png&quot; data-origin-width=&quot;2424&quot; data-origin-height=&quot;84&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6sgc5/dJMcahJXuAp/B5JuN4voykBUfX3cN6OCl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6sgc5/dJMcahJXuAp/B5JuN4voykBUfX3cN6OCl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6sgc5/dJMcahJXuAp/B5JuN4voykBUfX3cN6OCl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6sgc5%2FdJMcahJXuAp%2FB5JuN4voykBUfX3cN6OCl1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2424&quot; height=&quot;84&quot; data-filename=&quot;image.png&quot; data-origin-width=&quot;2424&quot; data-origin-height=&quot;84&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ㅇㄴ +55 가야 마스터인데 +50가 떴습니다 캐럿에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 5n 정도 올라가면 LLM 쓱싹한 뒤에 오렌지는 가겠지 하고 존버를 탔는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;점수 업뎃이 하도 안 되느라 그냥 잤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 일어나고 보니&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image0.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;707&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A4jXb/dJMcagRN4CV/tfktsbBiWeHqIdNKTckOQk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A4jXb/dJMcagRN4CV/tfktsbBiWeHqIdNKTckOQk/img.jpg&quot; data-alt=&quot;이거진짜에요?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A4jXb/dJMcagRN4CV/tfktsbBiWeHqIdNKTckOQk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA4jXb%2FdJMcagRN4CV%2FtfktsbBiWeHqIdNKTckOQk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;570&quot; height=&quot;373&quot; data-filename=&quot;image0.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;707&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이거진짜에요?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;?????&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아니 이걸 +56을 주네&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무튼 진짜 어쩌다&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;2101 Master&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;에 도달했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;상당히 운이 따라준 거 같긴 했지만, 1달 전만 해도 '가능하긴 함?' 하던데다가&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Expert &lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&amp;gt;&amp;nbsp;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;CM&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;에만 15라운드 정도를 치뤘던 걸 감안하면 이번에 한 5라운드 승급은 정말 행복합니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음에는 솔직히 뭘 해야 할지 조금 더 생각해봐야 되겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출제조건 C를 위해서 &lt;b&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;2200&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #f89009;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;찍기던가, 아니면 코포 내 문제 출제 요청이든가, 아니면 그냥 대체로 플레 랜다 해보기라든가 생각나는 게 많네요&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제 저점도 충분히 올린 거 같으니 이 참에 고점 올려보는 거도 좋을 것 같습니다... 오렌지 올라갔는데 지금까지 레드 퍼포가 없어요 ㅠㅠㅠ&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>PS</category>
      <author>jkrt2</author>
      <guid isPermaLink="true">https://jkrt2.tistory.com/7</guid>
      <comments>https://jkrt2.tistory.com/7#entry7comment</comments>
      <pubDate>Mon, 19 Jan 2026 13:02:31 +0900</pubDate>
    </item>
    <item>
      <title>YCPC 2025 후기</title>
      <link>https://jkrt2.tistory.com/6</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;ICPC Regional도 어느새 일주일이 지나고 제 첫 개인 프로그래밍 대회에 나가게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엄청난 구현 삽질로 7솔 날려먹은 게 아직도 아쉬운데 이번에는 제발 안 그랬으면 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런 걸 잡아줄 팀원이 없어서 걱정되긴 하지만, 그래도 그나마? 이번에 저한테 유리한 점은 난이도 순으로 문제가 나옴을 알고 있어서, 문제 푸는 순서는 확실히 잡힐 것 같습니다. 그리고 세트가 5시간이 아닌 3시간이라 스피드상으로는 유리할 것이라 생각했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;팀노트는 어차피 인터넷 검색 가능하다 해서 ICPC 때 쓴 코드 몇 개 대충 복붙해놓은 거 썼습니다. 옷은 올해 Regional 때 받은 파란 셔츠를 입고 왔는데, 대회 진행자&amp;nbsp;&lt;b&gt;conu&lt;/b&gt;님이 그에 맞춰서 작년 Regional 옷을 입게 되었습니다. 작년 네온 오렌지 색이 정말 파격적입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이름은 &lt;a href=&quot;https://gdbrowser.com/u/checksteam&quot;&gt;제 지메 닉네임&lt;/a&gt;을 따라서 CheckSteam이라 했습니다. 솔직히 왜 그랬는지는 모르겠습니다 할 이름이 그렇게 없었나 읍읍&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 약간의 문제 스포일러가 들어갔습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;0:00&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시작하자마자 A는 바로 답이 나온 것 같아서 1분이 지나기 전에 제출....을 했는데 &lt;span style=&quot;color: #ee2323;&quot;&gt;틀렸습니다.&amp;nbsp;&lt;span style=&quot;color: #000000;&quot;&gt;사실 저는 A 퍼솔 맞는다고 예제도 안 돌리고 바로 제출했는데&amp;nbsp;&lt;b&gt;min이 아니라 max&lt;/b&gt;를 써버려서 틀렸습니다... 그렇게 처음부터 어이없게 20분 추가로 먹고 시작했어요 :blobsad: (&lt;b&gt;1 Solve, 21&lt;/b&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0:01&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다행히 그 이후 B는 실수 없이 빨리 풀었습니다. 여담으로 B 특별상 이름이 연세를 사랑하는 상인가 그랬는데 B 막솔한테주는 거였습니다. 근데 저는 또 input에 상관없이 Yonsei Win 하면 주는 건줄... 아무튼 연대 최고 ^^ &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;(&lt;/span&gt;&lt;b&gt;2 Solve, 23&lt;/b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;)&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;0:03&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;자 여기서부터 대환장파티가 시작됩니다. C는 어떻게 하는지는 거의 바로 구했는데 그걸 또 구현하라니까 생각보다 경우가 많아서 종이에 끄적거리다가&amp;nbsp;&lt;b&gt;0:09&lt;/b&gt;에 내고 예제부터 틀렸습니다. 그냥 검토를 할 생각이 없나 봅니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여튼 그러고 나서 더 깔끔하게 할 수 있는 방법을 구해서 (무지성으로 중점 이웃한 모든 점 시도하기), 구현을 했....더니 정말 멀쩡해보이는 코드에서&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;컴파일 에러&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가 떴습니다. 보니까 abs() 함수는 y1에 적용이 안 된다 이러던데 y1이 정수인데 그냥 abs 함수가 이상하게 반환하는 건가? 하고 (int)abs(y1)이라 적거나, 아예 abs 함수를 직접 만들어서 사용하는 등 온갖 짓을 다 했습니다. 그래도 컴파일 에러가 없어지지 않았습니다. 그래서 최후의 수단으로 &lt;b&gt;y1&lt;/b&gt;&lt;b&gt;, y2 변수명을 y11, y22로 바꿨는데 돌려졌습니다 (????)&lt;/b&gt; 진짜 도대체 왜??????? 싶었는데 나중에 뒷풀이에서 &lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;oh040411&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 말하시길, y1은 &lt;b&gt;math.h에서 베셀 함수로 지정이 된 상태라 (....) 못 쓰는 거였습니다.&lt;/b&gt; 실제로 IDE에서 Function으로 이미 정의가 됐다 하던데 그걸 의미하는 거였습니다... 이런 걸 대회에서 처음 당할 줄은 생각도 못 했네요.&lt;/span&gt; 아무튼 컴파일이 되는 사실에 너무 기뻐해서 음수 좌표가 나올 수 있다는 사실을 잊어버린 채 제출해서 WA를 한 번 더 당하고, 27분이 지나서야 풀게 됐습니다... (&lt;b&gt;3 Solve, 91&lt;/b&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;0:27&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 때까지만 해도 순위가 대략 1n등 정도라 원래 생각하고 있었던 SUAPC 등수 (7위) 넘기기는 커녕, 상 범위 (10위) 안에 들어갈지조차 의문이였습니다. 그래도 마음을 다듬고 D를 풀었습니다. 이번 대회에 푼 거 중에서 구현 비중이 가장 커서 빨리 풀이를 발견했음에도 코드 작성에 거의 15분의 시간이 걸렸습니다. 그래도 다른 분들이 이 문제에 말려서 그런지 솔브 수 하나로 악으로 깡으로 등수가 상당히&amp;nbsp;올라가긴 했습니다. 물론 페널티가 A/C 때문에 많이 불안해서 계속 이 페이스로 나가야 합니다.&amp;nbsp; &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;(&lt;/span&gt;&lt;b&gt;4 Solve, 132&lt;/b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;)&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;0:41&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;E는 기본적인 우큐 그리디 문제였습니다. B를 제외하면 가장 스무스하게 지나가서 딱히 할말이 없네요, 5분 안에 구현까지 끝냈습니다. (&lt;b&gt;5 Solve, 178&lt;/b&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;0:46&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;F는 보자마자 무지성으로 N(N+1)/2 아님? 이거 왜 F임? 하다가 틀렸습니다. 그래서 연결시켜야함을 깨닫고 N이 짝수일 때 1을 더해서 다시 제출하고 다시 틀렸습니다. 그 때 스코어보드에도 F에 WA 표시가 은근 많았는데도 이렇게 생각 없이 하는 걸 보면 한심합니다. 그래도 2번째 오답 직후에는 한붓그리기라는 점을 알아채고 바로 고쳐서 맞았습니다. 진작에 천천히 생각했으면 됐는데 왜 그랬나 싶네요. 그래도 솔브 간격은 이번에도 4분밖에 안 됐습니다. E/F를 빠르게 컷하며 등수가 어느새 &lt;b&gt;3위&lt;/b&gt;까지 올라갔습니다 야호&amp;nbsp;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;(&lt;/span&gt;&lt;b&gt;6 Solve, 268&lt;/b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;)&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;0:50&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;G만 Subtask가 있는 문제였습니다. 솔직히 Subtask 1 없었더라면 조금 더 고민했을 거 같은데 다행히 Subtask 1을 푼다면 Subtask 2는 구현실수가 없지 않는 가정하에 동시에 처리 가능한 구조였습니다. 루트질 배우는 기본 문제가 여기 나와서 좀 놀라긴 했습니다. 구현을 구데기 같이 해서인지 600ms 정도가 걸렸는데 Python에서도 그 정도 걸렸다 하면... 뭐지 &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;(&lt;/span&gt;&lt;b&gt;7 Solve, 330&lt;/b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;)&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;1:02&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;H는 애드혹입니다. 다만 대회가 끝나고 풀이를 찾는 최적화된 방법 (에디토리얼 참고)가 있다는 점은 생각 못 했습니다. 원래 중복을 허용해서 출제할 생각이 있었다는데 나중에 제거했답니다. 만약 중복 있었더라면 또 구현실수 nmk번 했을 듯... &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;(&lt;/span&gt;&lt;b&gt;8 Solve, 401&lt;/b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;)&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;1:11&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;I를 봤더니 해구성 문제라 생각해봤는데 지문에서 '이웃한 모든 원소가 다르다'를&amp;nbsp;&lt;b&gt;'같은 숫자에 대해서, 이웃한 원소들의 위치는 서로와 모두 다르다'&lt;/b&gt;로 생각해서 &quot;012012...&quot; 아님 &quot;021021...&quot; 이런 거만 되는 줄 알고 제출했다가 (만약 저게 맞다면 N = 6만 해가 있습니다) 틀렸습니다. 그래서 지문을 다시 읽고 나니, 그냥 브루트포스를 해서 억지로 패턴을 찾기로 했습니다. 그러더니 6, 16 때 되는 패턴을 확장하니 N%10 ==&amp;nbsp; 6일 때 된다는 걸 찾았습니다. 나머지는 안 된다는 가정을 하고 제출하니 틀렸습니다 (2WA). 그래서 브루트포스를 다시 확인해보니 6 - 16까지를 다 했는데 무슨 일로&amp;nbsp;&lt;b&gt;11을 건너뛰었다는 점&lt;/b&gt;을 알게 되었습니다. 그 당시 무슨 생각인지는 모르겠는데 '11만 예외인가 보다' 싶어서 제출했다가 또 틀렸습니다 (3WA) 이 정도면 그냥 틀리고 싶나 봅니다. 3번째 WA를 보고 나서야 정신을 차려서 패턴을 어찌저찌 확장시키고 제출하여 맞았습니다. 나머지 수가 안 된다는 증명은 그냥 건너뛰긴 했는데 그런 걸 하다간 제 뇌가 못 견딜 거 같아서 넘어갔습니다. (&lt;b&gt;9 Solve, 567&lt;/b&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;1:46&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;그 이후로 J를 풀려다가 괄호로 트리 만들어보기, 괴상한 점화식 만들어보기를 해보려 했으나 실패했습니다. 컴퓨터 배경화면에 blobthinking 이모지 같은 걸 달아놓으면서 생각을 해보려 했지만 실패했습니다. 결국 프리즈 이후, L번에 &lt;b&gt;Text&lt;/b&gt;로 &lt;b&gt;conu&lt;/b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;님에게 세트가 생각보다 너무 어렵다고 호소했습니다. 그 결과 스코어보드 공개 과정에서 박제당했습니다   J는 계속 뻘짓을 하다가 생각 없이 간단한 식 하나 정도 제출하고 거뜬히 틀렸습니다. 그렇게 타임오버&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;최종&amp;nbsp;&lt;b&gt;9 Solve, 567&lt;/b&gt;&lt;b&gt;분&amp;nbsp;&lt;/b&gt;페널티로 프리즈 전에 4위였으나, 프리즈 도중 H - J를 시도한 분이 많이 보여서 조마조마하다가, 정말 아슬아슬하게 6위로 마무리 지었습니다. A, C, I에서 한 뻘짓을 감안하면 같은 9솔을 한 분들 5명 중 2등은 어떻게 한 건지가 의문입니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;아무튼 3등상 (1+2+3위까지 3등상이랍니다)은 타긴 했는데 ICPC 본선 팀들인&amp;nbsp;&lt;b&gt;SEVERANCE&lt;/b&gt;나&amp;nbsp;&lt;b&gt;Kpop Ssal Hunters&lt;/b&gt; 인원 대부분한테 서열정리당한 건 좀 아쉽긴 합니다. 케쌀헌은 25학번임에도 경곽 버프인지 너무 강한 것 같습니다. 그리고 세브란스에서는 특히 &lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;dong5995&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 프리즈 전에 10위 정도였다가 1시간 동안 3문제를 푸는 (&lt;s&gt;그리고 L을 순수 무작위화로 풀려고 한 노력&lt;/s&gt;)을 한 것을 보고 나서 아직 그 정도 실력까지 가기에는 좀 남았다는 생각이 들었습니다. 그리고&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;lindelof&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님은 시작하고 한 3분부터 대회 끝까지 혼자서 선두에 있는 걸 보고 이 분이 연대의 PS를 책임줄거라는 믿음이 생겼습니다. 정말 갓입니다.&lt;/span&gt;&amp;nbsp;J는 조합 배울 때 직사각형에서 한 점에서 다른 점으로 가는 문제와 거의 비슷한 문제인 걸 듣고 좀 허무하긴 했습니다 으악&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;우리 ICPC 팀원은&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;additionalpass05&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 꽤 안정하게 하면서 (&lt;s&gt;그리고 L에 hello world를 제출하면서&lt;/s&gt;) 9위로, &lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;a_cedia&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 D를 건너뛰고 ABCGEIF 순서대로(...?) 풀면서 11위를 기록하게 됐습니다. H도 풀이는 구했다는데 하필 끝나기 2분 전이라 아쉬운 거죠&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여튼 YCPC를 끝으로 참가하려고 한 주요 대회는 다 끝난 것 같습니다. 뭐 나중에 기회가 생긴다면 더 참가할 수 있겠지만, 입대도 해야하고 그래서 앞으로 PS는 대애충 취미로 슬쩍슬쩍 하면서 백준도&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Ruby V &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;찍고 콜포테도 해보고 해야되겠습니다 ㅎㅎ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>PS</category>
      <author>jkrt2</author>
      <guid isPermaLink="true">https://jkrt2.tistory.com/6</guid>
      <comments>https://jkrt2.tistory.com/6#entry6comment</comments>
      <pubDate>Sat, 29 Nov 2025 01:43:56 +0900</pubDate>
    </item>
    <item>
      <title>Connected Profile DP - 싼 비용 (BOJ 1144)</title>
      <link>https://jkrt2.tistory.com/5</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Difficulty:&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;Diamond III&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Connected Profile을 배우기 전 BOJ 1648 (격자판 채우기, &lt;b&gt;&lt;span style=&quot;color: #9feec3;&quot;&gt;Platinum III&lt;/span&gt;&lt;/b&gt;)를 먼저 보고 오시는 것을 추천드립니다. 해당 문제에서의 DP 아이디어 중 가장 많이 쓰이는 것이 비트필드를 이용하여 &lt;b&gt;최근 M칸의 state를 DP 요소로 잡는 것&lt;/b&gt;인데, 이 문제 역시 이와 비슷한 양상을 띄고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제 역시 최근 M칸의 state를 저장하는 것이 핵심입니다. 여기서는 이들의 연결 관계 또한 트래킹하는 것이 중요합니다. 연결된 Profile이 여러 개 있으면, 이를 M개 칸에 나타나는 순서대로 1, 2, 3...이라 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;N, M은 한 자리 자연수이므로 State는 한 자리 수로 나타낼 수 있습니다. 즉, M칸의 state를 길이 M의 string 하나로 나타낼 수 있다는 뜻입니다. 이 때, 이전의 칸이 M개 이하라면 그 전의 수는 모두 '0'으로 처리합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 우리는 board[i][j][state]를 &lt;b&gt;(state에서 (i,j)부터 채워나가며 조건을 만족시키고 만들 수 있는, (i,j)부터 마지막 칸까지 수의 합의 최솟값)&lt;/b&gt;으로 잡을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 우리가 최종적으로 구하는 값은 board[0][0][&quot;00...0&quot; (0 M개)]가 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1094&quot; data-origin-height=&quot;774&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cH4OQd/dJMcahpk9tj/iMAAE65P0XsSTpej2KuEE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cH4OQd/dJMcahpk9tj/iMAAE65P0XsSTpej2KuEE0/img.png&quot; data-alt=&quot;예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cH4OQd/dJMcahpk9tj/iMAAE65P0XsSTpej2KuEE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcH4OQd%2FdJMcahpk9tj%2FiMAAE65P0XsSTpej2KuEE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;362&quot; data-origin-width=&quot;1094&quot; data-origin-height=&quot;774&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;String으로 저장되기 때문에, unordered_map을 통해서 dp 값을 저장할 수 있습니다. 최소값을 구하는 함수이므로, find가 안 된다면 default 값이 INF임에 유의합시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 DP 전이를 본격적으로 시작하기에 앞서 구현해야 할 함수가 몇 개 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) &lt;b&gt;정규화&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1, 2, 3...은 M개 중에서 나타내는 순서대로 적혀있기에 임의의 string을 정규화하는 과정이 필요합니다. 이 정규화 과정까지 거치고 나면 state로 가능한 경우의 수는 그렇게 많은 편이 아닙니다. 그래서 작은 M, N에 대해서는 은근 빨리 코드가 돌려지게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2)&amp;nbsp;&lt;b&gt;합치기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 state인 상태에서 cell을 선택하지 않으면 ('0'), 이 경우는 state[1:] + '0'을 정규화한 것임을 알 수 있습니다. 그런데 만약 cell을 선택한다면 어떻게 될까요? 일단 정규화는 나중에 해도 되기 때문에 '9'라는 임시 글자로 둡니다. 그러면 바로 위의 칸이 이미 선택됐다면, 즉 state[0]이 '0'이 아닐 시, state[0] 역시 '9'로 변해야 하고, state[0]와 같은 수를 가진 글자 모두 '9'로 바뀌어야 합니다. 이는 바로 왼쪽의 칸에 대해서 역시 적용되는데, 이 때 만약 선택하는 칸이 1열에 있다면&lt;b&gt; '바로 왼쪽의 칸'이 없다는 점&lt;/b&gt;에 유의하면서 구현해야 합니다. 그 다음에 이를 정규화하면 합친 state가 나오게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3)&amp;nbsp;&lt;b&gt;건너뛰기의 가능성 판정&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 건너뛰면 Profile이 끊겨서 다시는 연결시킬 방법이 없을 수도 있습니다. 이 때는 cell을 선택하지 않으면 안 됩니다. i번째 칸이 정해지면 i-M번째 칸은 다시 연결될 수 있는 방법이 없기에, 만약 state[0]가 '0'이 아니고 (즉, '1'이고), state[1:] 중 state[0]와 같은 글자가 하나도 없으면 건너뛸 수 없음을 반환해야 합니다. 여기서 주의할 점은&amp;nbsp;&lt;b&gt;&quot;1000..00&quot; 역시 False&lt;/b&gt;를 반환해야 합니다. 이 때는, 'Profile이 일찍이 끝나는 경우가 가능해서 Skip 가능하다고 예외 케이스를 만들어줘야 하지 않나?'라 생각할 수 있습니다. 그러나, 실제로 여기서 True를 반환하면, state는 지난 M칸의 상태만을 저장하기 때문에 아래와 같은 답안이 반환될 수 있습니다. Profile이 일찍 끝나는 경우가 최소인 케이스에 대해서는 DP 전이 과정에서 다뤄야 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;808&quot; data-origin-height=&quot;834&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nM1fu/dJMcafZlP9u/ICVH7PZpUkzpXSehbPTWB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nM1fu/dJMcafZlP9u/ICVH7PZpUkzpXSehbPTWB0/img.png&quot; data-alt=&quot;state의 memory는 제한되어 있으므로 잘못된 skip 구현으로 인해 이런 예외가 나올 수 있다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nM1fu/dJMcafZlP9u/ICVH7PZpUkzpXSehbPTWB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnM1fu%2FdJMcafZlP9u%2FICVH7PZpUkzpXSehbPTWB0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;572&quot; height=&quot;590&quot; data-origin-width=&quot;808&quot; data-origin-height=&quot;834&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;state의 memory는 제한되어 있으므로 잘못된 skip 구현으로 인해 이런 예외가 나올 수 있다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 이제 DP 전이를 해보도록 합시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함수 check(int a, int b, string u)는 dp[a][b][u]를 구하는 과정을 재귀적으로 나타낸 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 a == n이면, 보드의 끝에 다다랐다는 뜻인데, 이 때, u를 검사한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) u가 '0'과 '1'로만 이루어져있다 - Valid profile이다 - 반환값 0&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) u가 '2' - '9' 중 하나가 들어간다 - 보드의 끝까지 갔으나, profile이 나뉘어져있다 - 즉 이 경우는 고려하면 안 되므로 최솟값이 될 리가 없게 &lt;b&gt;INF를 반환한다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 이를 제외한, 다음 칸 check를 호출하는 방법을 봅시다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 u가 '0'과 '1'로만 이루어져 있을 시, 여기서 더 이상 원소를 택하지 않는 방법이 있으므로 board[a][b][u]를&lt;b&gt; INF 대신 0으로 초기화합니다.&amp;nbsp;&lt;/b&gt;이러면 위에 언급한 &lt;b&gt;&quot;1000..00&quot;&lt;/b&gt;에 대해서도 고려를 한 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 뒤에는, 합친 경우를 보면서 다음 칸에 대한 check를 호출합니다. 이 때, 칸을 선택했으므로, [a][b]에 있는 숫자를 dp에 더하는 걸 잊지 않도록 합시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고, skip이 가능한 경우에는, skip한 경우를 보면서 다음 칸에 대한 check를 호출합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 board[0][0][&quot;00...0&quot; (0 M개)]를 출력할 시 답이 나오게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 모두 구현하면 AC를 받을 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1422&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZqzoG/dJMcadmSslo/yhDhWzOHfhlnpmvSXbNcS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZqzoG/dJMcadmSslo/yhDhWzOHfhlnpmvSXbNcS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZqzoG/dJMcadmSslo/yhDhWzOHfhlnpmvSXbNcS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZqzoG%2FdJMcadmSslo%2FyhDhWzOHfhlnpmvSXbNcS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1422&quot; height=&quot;190&quot; data-origin-width=&quot;1422&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Source Code - &lt;a href=&quot;http://boj.kr/d0fe61ba41e242b6ac3ded7ff0ede965&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;http://boj.kr/d0fe61ba41e242b6ac3ded7ff0ede965&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>PS</category>
      <author>jkrt2</author>
      <guid isPermaLink="true">https://jkrt2.tistory.com/5</guid>
      <comments>https://jkrt2.tistory.com/5#entry5comment</comments>
      <pubDate>Sat, 29 Nov 2025 01:07:46 +0900</pubDate>
    </item>
    <item>
      <title>2025 ICPC Seoul?????? Regional 후기</title>
      <link>https://jkrt2.tistory.com/4</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://jkrt2.tistory.com/1&quot;&gt;2025 ICPC 예선 후기&lt;/a&gt;에서 팀원 소개를 한 바가 있으니 참고바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 동안 팀연습을 하는데 6솔만 뚫고 7솔 이후에는 항상 고전해서 이번에는 꼭 뚫고 싶었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt; &lt;b&gt;a_cedia&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 본선 준비 기간 도중 퍼플을 찍고 애드혹 플레 푸는 능력이 늘어나서 내심 기대를 하고 있기도 했습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;어쩌다 열차를 예비소집날&amp;nbsp;&lt;b&gt;오전 7시&lt;/b&gt;에 잡아서 (지금 생각해보니까 왜 이리 일찍 잡았지라는 생각도 했음...) 그 때 밤을 새고, 본선 전 날에는 12시간을 자서 컨디션은 오히려 괜찮았던 것 같았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;팀노트는 전하고 거의 비슷하게 했는데, 팀연습을 하는 도중 제가 넣은 Aho-Corasick 코드에서 트라이는 만들어두고 정작 핵심인 KMP식 구현은 만들어두지도 않았다는 점을 알게 되어서 수정하게 됐습니다. 그 외에도 제가 빠트린 게 좀 많이 있어서 앞으로는 아무래도 코드 검토라도 해봐야되겠습니다...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예비소집은 솔직히 한 게 Linux 적응 빼고는 딱히 없었습니다. 할 게 하도 없어서 PB를 42번 제출해서 기괴한 페널티를 만드려고 했으나 정작 풀어보려고 하니까 귀찮아져서 버렸어요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아무튼 원래 이번에는 딱히 토템(?)을 생각하고 있지는 않았는데&lt;span style=&quot;color: #8a3db6;&quot;&gt;&amp;nbsp;&lt;b&gt;a_cedia&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;님이 고양이 인형 (뒤에 숨겨진 한별이)를 가져왔습니다. 다음 번에 일페 갈 때 한별이 키링 같은 거 좀 사가야 되겠습니다 ㅎㅎ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;대회 진행&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0:00&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제지를 열고 처음에는 &lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;a_cedia&lt;/b&gt;&lt;/span&gt;님이 처음 파트, 제가 다음 파트,&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;additionalpass05&lt;/b&gt;&lt;/span&gt;님이 마지막 파트를 맡기로 했는데 저는 가운데 문제가 죄다 어려워보여서 금방 버리고 스코어보드 따라가서 L을 풀기로 했습니다. 처음에 최대 최소 헷갈려서 upper_bound, lower_bound 쓰는 뻘짓을 해서 밀리긴 했는데 그거 외에는 무난하게 풀긴 했습니다. &lt;span style=&quot;color: #009a87;&quot;&gt;&lt;b&gt;(1 Solve - 17 Min)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0:17&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;M도 많이 풀었길래 보고 3의 배수 아니다라는 말을 듣고 제가 '1 2 3 ... n 3번 출력하면 된다'라고 말하고 그대로 1분 컷 했습니다. 작년 리저널에서는 이런 꽁으로 주워먹는 문제가 없었는데 좀 의외였습니다. 만약 3의 배수가 가능했다면 난이도가 어떻게 달라질지 궁금하기도 합니다...만 그거도 한 칸씩만 잘 옮기면 되는 거라 뭐가 됐든 간에 작년 리저널 가장 쉬운 문제보다도 아래일 것 같습니다. &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;b&gt;(2 Solve - 36 Min)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0:19&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그 뒤에는 스코어보드 눈치보며 문제를 막 해결하려 했습니다. C는 &lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;a_cedia&lt;/b&gt;&lt;/span&gt;님이 풀이에 근접했던 것 같은데 O(n^4)이라고 해서 잠시 넘겼습니다. 사실 처음에 읽기 싫어서 넘겼는데 제가 다시 G를 보니까 전형적인 이탐문제일 거 같아서 구현을 해봤습니다. 그런데 십몇분 가량을 이탐 과정에서 무한루프에 갇혀서 뭔가 문제가 했는데... 횟수가 처음으로 X보다 커지는 횟수를 구해서 잔여 횟수가 음수가 되어서, while(K--) 루프가 무한히 돌게 된 겁니다... 이탐 된다/안 된다 여부 찾기 이런 거는 구현 항상 헷갈리는 거 같네요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;여담으로 서울역에서 만나게 된 동국대 학생 분들이 이 문제에서 스팸 없이 50틀을 찍어서 특별상을 받게 되었는데, 나중에 물어보니 ll 오버플로우 때문이라고 합니다. 운 좋게도 우리 쪽에서는 ll 오버플로우 없이 구현에 성공했는데, 그 사실을 모른 체 구현한 분들이 불쌍하면서도 50번이나 수정을 거치면서 시도한 분들이 놀랍기도 했습니다. (본인은 3틀 정도 하면 '데이터세트가 틀린 거 아니냐'하고 정신승리함...)&lt;span style=&quot;color: #009a87;&quot;&gt; &lt;b&gt;(3 Solve - 87 Min)&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;0:51&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 동안 스코어보드는 E가 약간 풀려있어서 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;additionalpass05&lt;/b&gt;&lt;/span&gt;님이 맡게 되었고, 저는 &lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;a_cedia&lt;/b&gt;&lt;/span&gt;님과 D를 맡았습니다. 제가 어떤 거는 항상 고정이고 어떤 거는 항상 움직일 수 있다라는 말을 듣고 &lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;a_cedia&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;님이 바로 뚝딱 아이디어를 완성했습니다. 그런데 제 문해력이 딸리는 건지 처음에 의도한 거하고 다른 구현을 해버렸고, 그 다음에는 큰 책 작은 책 분류하는 거 잊어먹어서&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;1WA&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;를 먹고 나서야 풀게 되었습니다. 에디토리얼 상으로 이 문제가 (우리가 푼 문제 중에서는) 가장 뒤에 나왔는데, &lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;a_cedia&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;님이 그 사실에 좀 의아해하던 것 같습니다. 근데 저였으면 고정/자유이동 판단 이후 그대로 못 풀 거 같아서 그래도 백준에 올라가면 플레는 갈만하다고 생각함...&lt;span style=&quot;color: #009a87;&quot;&gt; &lt;b&gt;(4 Solve - 201 Min)&lt;/b&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1:34&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그러고 나서 유기했던 C를 다시 주웠는데, &amp;nbsp;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;a_cedia&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;님이 트리 형식이니 유사 위상정렬로 하면 된다는 사실을 찾았습니다. 바로 구현을 시작했는데, 계속 틀려서 원인이 뭔가 했더니&amp;nbsp;&lt;b&gt;가로줄 세로줄 거꾸로 씀&lt;/b&gt;,&amp;nbsp;&lt;b&gt;if문에 중괄호 안 넣&lt;/b&gt;&lt;b&gt;음&lt;/b&gt; 같은 정말 멍청한 실수였습니다. 디버깅만 얼마를 했는지 모르겠지만 다행히 예제가 맞으면 나머지 테스트케이스에서 틀리기는 어려운 구조였기 때문에, 제출할 때는 WA 없이 맞았습니다. &lt;span style=&quot;color: #009a87;&quot;&gt;&lt;b&gt;(5 Solve - 338 Min)&lt;/b&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 때까지만 해도 2n위 정도에 들었고 이렇게 안정하게만 하면 순위를 유지할 수 있을 거라 생각했습니다.&lt;/p&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;하지만 여기서부터 이 사람의 엄청난 삽질이 시작됩니다.&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2:17&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;I번은 전형적인 코테 문제 같아보였습니다 (애니팡처럼 줄로 되어있는 거 없애는 형식의 문제입니다). 저는 몇 주 전에 코테를 본 경험이 있고 기출문제와 유형도 비슷하기에 한 번 해보겠다고 나섰습니다. 진짜 깡구현이라 오래 걸렸습니다. 처음에는 중력을 오른쪽으로 (...) 작용하게 만들어서 예제가 안 나오고, 그 다음에는 Stage 1 바로 다음에 반복 없이 Stage 2를 진행한다거나, 아님 비브라늄 블록을 없앤다거나 등등 여러 이유로 무한루프를 만들고 세그폴트가 나기도 한 끝에 결국 만들어서 제출을 했....는데 틀렸습니다 &lt;b&gt;(1WA)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 다시 보니까 처리과정에서&amp;nbsp;&lt;b&gt;if문에 중괄호를 안 넣었습니다.&lt;/b&gt; 그래서 고쳐서 냈더니 또 틀렸습니다. &lt;b&gt;(2WA)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 나서, 위치를 트래킹할 게 아니라 폭탄 번호를 트래킹하는 게 맞다고 생각하고 다시 제출했더니&amp;nbsp;&lt;b&gt;또&amp;nbsp;&lt;/b&gt;틀렸습니다.&amp;nbsp;&lt;b&gt;(3WA)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3:30&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 전 그 코드를 프린트하고, 그 동안 &lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;a_cedia&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;님이 합류한 E번 문제는 그리디로 한 번 해볼까라는 추측을 노리고 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;additionalpass05&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;님이 구현하였으나 거기서도 WA가 쌓이게 되었습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 사이에 전 점심을 먹고 고민하였는데 아무리 생각해도 답이 안 나와서 &lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;a_cedia&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;님에게 물어보았더니, 알고 보니 폭탄을 동시에 터트리지 않은 탓에 여태까지 틀렸던 것입니다.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 코드를 약간 뜯어고쳤더니 예제가 안 나왔습니다. 디버깅을 하니 입력 &lt;b&gt;if문에 중괄호를 안 넣어서&lt;/b&gt; 제대로 돌려지지가 않았던 것입니다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 고친 코드를 돌렸더니 &lt;b&gt;또&amp;nbsp;&lt;/b&gt;틀렸습니다. &lt;b&gt;(4WA)&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다시 프린트를 하고 E에서 그 동안 그리디 풀이를 약간 고쳐서 내기로 했는데 WA는 계속 쌓여갔습니다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4WA 코드를 보니 조건문 하나에서&amp;nbsp;&lt;b&gt;if문 2개에 중괄호를 안 넣어서&lt;/b&gt; 코드가 이상한 방향으로 새어나갔다는 것을 알게 됐습니다. 이번 문제에서만 똑같은 실수 3개째입니다... 그래도 고쳤으니 됐다하고 냈습니다. 그러니&amp;nbsp;&lt;b&gt;또 틀렸습니다. (5WA)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;슬슬 정신이 나가기 시작했고, 내가 도대체 어딜 잘못한거지하고 E는 볼 생각도 안 하고 (정작 대회가 끝나고 거의 바로 발상을 생각해버렸습니다) I만 보다가 팀원 분들한테 예외를 물어봤습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;additionalpass05&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;님이 '크로스 형태로 젬이 모여있으면 안 되지 않나'라고 했는데 저는 맨 처음부터 그 경우를 고려해서 된다라고 자부하고 코드를 돌...렸더니 처리가 안 됐습니다. 그래서 왜인가 봤더니 &lt;b&gt;while문 중괄호 순서를 틀리게 해서&amp;nbsp;&lt;/b&gt;여태까지 코드가 내내 꼬였던 겁니다. 진짜 어지간합니다. 그걸 고쳤더니&amp;nbsp;&lt;b&gt;드디어 6솔을 했습니다.&amp;nbsp;&lt;/b&gt;338분인 페널티는 이 문제로 무려&amp;nbsp;&lt;b&gt;729&lt;/b&gt;로 뻥튀기가 되었습니다. &lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;b&gt;(6 Solve - 729 Min)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4:51&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 나서 E를 마저 풀려 했는데 시간이 저 꼴이라 그냥 자포자기한 채로 원래 그리디에서 수정만 조금 했는데 애초에 이건 발상이 틀려서 WA만 계속 쌓다가 끝났습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;결론&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연세대 4팀 중 4위인 44등 (?)으로 마무리 했습니다. 솔직히 애초에 4시드 자격으로 들어온 거고 고점 은근 잘 띄운 예선에서도 30위 턱걸이라 얼마 정도 예상은 하고 있었으나, 초반에는 잘했으면서 E/K 같은 문제 제대로 잡았으면 7솔, 심지어 8솔도 할 수 있는 상황에서 제 손으로, 그거도 같은 실수 4번으로 말아먹은 게 참 허탈합니다. 이 사람이 도대체 어떻게 이 팀의 구현러가 됐는지, 그리고 어떻게 Python이 아니라 C++를 주력으로 쓰는지가 의문일 수준입니다. 뭐 그러면서 배우는 거니 어쩌겠어요. 그리고 PS커뮤에서 알던 분들도 실제로 만나 뵙고 이야기도 터고 하면서 얻어갔던 게 많은 대회였던 것 같습니다. 다음 주 연세대 경시대회를 위한 연습도 확실히 됐던 것 같아요. 대회가 끝나고는 받은 풍선을 일렬로 연결시키거나 헬륨 흡입처럼 별 이상한 짓 다 하고 다녔습니다 (아쉽게도 저는 원하던 목소리 변조가 나오지 않았습니다. 제대로 흡입 안 해서 그런가). 내일 귀사할거라 남은 시간 동안이라도 재밌게 놀고 가렵니다 하핳&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;P.S. I번에서 폭탄 마냥 터지는 젬이 있었는데 그런 폭탄 목록을 저장하는 배열 이름을&amp;nbsp;&lt;b&gt;reze&lt;/b&gt;로 잡았습니다. 정작 저는 체인소맨은 커녕 다른 애니조차 본 적이 없습니다. 그러면서 왜 저걸로 지었는지는 모르겠네요. 봐야 하나  &lt;/p&gt;</description>
      <category>PS</category>
      <author>jkrt2</author>
      <guid isPermaLink="true">https://jkrt2.tistory.com/4</guid>
      <comments>https://jkrt2.tistory.com/4#entry4comment</comments>
      <pubDate>Sun, 23 Nov 2025 01:50:21 +0900</pubDate>
    </item>
  </channel>
</rss>