[algorithmStudy/2013] == 1ì›” 14ì¼ == * [http://183.106.113.109/30stair/in_out/in_out.php?pname=in_out in_out] * [http://183.106.113.109/30stair/ubiquitous/ubiquitous.php?pname=ubiquitous ubiquitous] == 1ì›” 21ì¼ == * [http://183.106.113.109/30stair/matrixprod/matrixprod.php?pname=matrixprod matrixprod] * [http://183.106.113.109/30stair/poop/poop.php?pname=poop poop] == 1ì›” 28ì¼ == * [/shredding] == 2ì›” 4ì¼ == * [/pigs] == 2ì›” 11ì¼ == * [/virtual]ì„ í’€ì—ˆìœ¼ë©´ [/pigs]ë„ ë‹¤ì‹œ 풀어 오는 것으로. == 2ì›” 18ì¼ == * [/koi_virus] == 2ì›” 25ì¼ == * [/ioi_raisins] * 너무 ì–´ë ¤ì›Œì„œ ë‹¤ê°™ì´ GG. == 3ì›” 25ì¼ == === ì°¸ê°€ìž === * [ì¡°ì˜ì¤€], [권ì˜ê¸°], [서지혜], [강성현], [ì´ì§„ê·œ], [서민관] === 진행 === * 개강 후 첫 진행. 모ë‘들 안녕하세요! * 스터디 ë°©ì‹ì„ 모여서 페어코딩 하는 ì‹ìœ¼ë¡œ 변경. * 페어/싱글로 í•´ë„ ë˜ë©°, ê°ê° í’€ê³ ì‹¶ì€ ë¬¸ì œë¥¼ í’€ê³ ë나기 ì „ì— ì§ì ‘/위키로 ê³µìœ * 다른 사ì´íŠ¸ë¥¼ 사용하ìžëŠ” ì˜ê²¬ì´ 있었ìŒ. ë‹¤ìŒ ìŠ¤í„°ë”” 하기 ì „ê¹Œì§€ Slackì—ì„œ ê²°ì •í•˜ê¸°ë¡œ. * http://www.acmicpc.net/ * http://www.topcoder.com/ * 등... === ë¬¸ì œ === * http://183.106.113.109/30stair/tight/tight.php?pname=tight&stair=21 * http://183.106.113.109/30stair/assignment/assignment.php?pname=assignment == 4ì›” 2ì¼ == === ì°¸ê°€ìž === * [ì¡°ì˜ì¤€], [ì´ì§„ê·œ] === ë¬¸ì œ === * http://183.106.113.109/30stair/queen/queen.php * http://183.106.113.109/30stair/nqueen/nqueen.php * http://183.106.113.109/30stair/bus/bus.php == 4ì›” 9ì¼ == === ì°¸ê°€ìž === * [서민관], [ì´ì›ì¤€], [권ì˜ê¸°], [ì¡°ì˜ì¤€], [ì´ì§„ê·œ] (온ë¼ì¸ 참가) === ë¬¸ì œ === * codejam 2012 practice : https://code.google.com/codejam/contest/1460488/dashboard == 4ì›” 29ì¼ == === ì°¸ê°€ìž === * [권ì˜ê¸°], [서민관], [ì´ì›ì¤€], [ì´ì§„ê·œ], [ì¡°ì˜ì¤€] === ë…¼ì˜ì‚¬í• === * 지금까지 진행해 본 ê²°ê³¼ 조금 ë” ëšœë ·í•œ 목표가 필요하는 ì˜ê²¬ì´ 나옴. * ì•Œê³ ë¦¬ì¦˜ ê´€ë ¨ ë¬¸ì œ ì„œì ì„ ë³´ê±°ë‚˜ 현재 ì§„í–‰í•˜ë˜ ëŒ€ë¡œ ìœ ì§€í•˜ìžëŠ” ë“±ì˜ ì˜ê²¬ì´ 나옴. * ì˜ë…¼ì„ í•´ 본 ê²°ê³¼ 매 주 í•˜ë‚˜ì˜ ì£¼ì œë¥¼ ìž¡ì•„ì„œ 스터디를 진행하ìžëŠ” 방향으로 ì˜ê²¬ì´ ìˆ˜ë ´ë¨. * 스터디 ì „ì— í•˜ë‚˜ì˜ ì£¼ì œë¥¼ ì •í•˜ê³ ìŠ¤í„°ë”” ë•Œì—는 해당 ì£¼ì œì— ëŒ€í•´ì„œ ê°ìž í•˜ê³ ì‹¶ì€ ê²ƒë“¤ì„ í•¨. * ì£¼ì œì— ëŒ€í•´ ë¬¸ì œë¥¼ 풀거나 해당 ì£¼ì œë¥¼ 다룬 ì±…ì„ ì½ê±°ë‚˜ 등 다양한 í™œë™ ê°€ëŠ¥. * 스터디를 ë내기 30분 ì „ì— ê°ìž í•œ ë‚´ìš©ì„ ê³µìœ . === ë‹¤ìŒ ì£¼ ì£¼ì œ === * Greedy Algorithm == in the interest of time == * Greedy Algorithm * Dynamic Programming * Tree * Graph == 7ì›” 1ì¼ == * 참가ìž: [ì´ì›ì¤€], [ì¡°ì˜ì¤€] * ë‚´ìš©: http://183.106.113.109/30stair/tram/tram.php?pname=tram + union find == 7ì›” 12ì¼ == * 참가ìž: [서지혜], [강성현], [ì¡°ì˜ì¤€] * Hungarian Method == 7ì›” 26ì¼ == * 참가ìž: [ì´ì›ì¤€], [ì¡°ì˜ì¤€] * Hungarian Merthod cont. === meterials === * http://en.wikipedia.org/wiki/Hungarian_algorithm: 다른 ê³³ì—는 나와있지 ì•Šì€ 'ìµœì†Œí•œì˜ ë¼ì¸ìœ¼ë¡œ ëª¨ë“ 0ì„ ë®ëŠ” 법'ì´ ë‚˜ì™€ìžˆìŒ * http://www.math.harvard.edu/archive/20_spring_05/handouts/assignment_overheads.pdf: ì–´ëŠ ë•Œ ì‚¬ìš©ì´ ë˜ëŠ”지부터 Big-O 분ì„, 구현 방법 ë“±ì´ ì •ë¦¬ë˜ì–´ìžˆìŒ * http://www.wikihow.com/Use-the-Hungarian-Algorithm: 방법 ì„¤ëª…ì´ ê°€ìž¥ ë‹¨ìˆœí•˜ê³ ì‹¬í”Œ. * http://www.ee.oulu.fi/~mpa/matreng/eem1_2-1.htm === ë…¼ì˜ === * 0ë“¤ì„ ì–´ë–»ê²Œ 최소한 ë¼ì¸ìœ¼ë¡œ ë®ëŠ”ê°€? * 위키피디아 해답 step 3 부분 1. 처ìŒì— 가장 ë§Žì€ ì¼ë“¤ì„ í• ë‹¹í•œë‹¤. 1. í• ë‹¹ë˜ì§€ ì•Šì€ row를 * 처ìŒì— 가장 ë§Žì€ ì¼ë“¤ì„ í• ë‹¹í•œë‹¤? * í• ìˆ˜ 있는 ì¼ì´ í•˜ë‚˜ì¸ ì• ë“¤ 부터 í• ë‹¹ * ê·¸ 다ìŒìœ¼ë¡œ 여러 ê°œ í• ìˆ˜ 있는 ì• ë“¤ì„ í• ë‹¹í•œë‹¤ * 조금 ë” êµ¬ì²´ì 으로 하ìžë©´... {{{ n = 1 nì´ ë°°ì—´ì˜ í¬ê¸°ë³´ë‹¤ ìž‘ì„ ê²½ìš° 아래를 ê³„ì† ë°˜ë³µí•œë‹¤. ëª¨ë“ ë¼ì¸ì— 대해서 0ì´ n개가 있는 ë¼ì¸ì´ 있는가? 있으면, 해당ë˜ëŠ” ë¼ì¸ë“¤ 중 í•˜ë‚˜ì˜ ë¼ì¸ì—ì„œ ìž„ì˜ì˜ 0ì„ í• ë‹¹ì‹œì¼œì£¼ê³ , ê·¸ 0ì˜ ê°€ë¡œ/ì„¸ë¡œì— ìžˆëŠ” 다른 0ë“¤ì„ ë‹¤ë¥¸ 값으로 바꿈. ê·¸ë¦¬ê³ nì„ 1ë¡œ 세팅. 없으면, nì„ 1 ì¦ê°€. }}} === ìƒê°ë‚˜ëŠ” 대로 쓰는 í—가리안 순서! === 1. ìž…ë ¥ 1. n*n í–‰ë ¬ 만들기 1. n*n í–‰ë ¬ì´ ì•„ë‹ ê²½ìš°ì— í–‰ë ¬ì˜ ìµœëŒ€ê°’ìœ¼ë¡œ í–‰ ë˜ëŠ” ì—´ì„ ì¶”ê°€í•´ì„œ n*ní–‰ë ¬ì„ ë§Œë“¤ì–´ë²„ë¦¼ 1. í–‰ì— ëŒ€í•´ì„œ ê·¸ í–‰ì˜ ìµœì†Œê°’ìœ¼ë¡œ ì „ë¶€ 뺌 1. 0ì´ ì—†ëŠ” ì—´ì´ ìžˆì„ ê²½ìš° ì—´ì— ëŒ€í•´ì„œ 연산한다. ê·¸ ì—´ì˜ ìµœì†Œê°’ìœ¼ë¡œ ì „ë¶€ 빼기 1. ìµœì†Œí•œì˜ ì„ ìœ¼ë¡œ 0ë“¤ì„ ëª¨ë‘ í¬í•¨í•˜ëŠ” ì„ ë“¤ì„ ê·¸ë¦°ë‹¤ (ì•Œê³ ë¦¬ì¦˜ ë¬¸ì œ 2..)([http://en.wikipedia.org/wiki/Hungarian_algorithm#Matrix_interpretation 위키피디아 Matrix 계산] step 3 부분) 1. ì—´ê³¼ í–‰ì´ ê²¹ì¹˜ì§€ 않게 최대한 ë§Žì€ 0ë“¤ì„ ê³ ë¥¸ë‹¤. (ì´ê²ƒë„ ì•Œê³ ë¦¬ì¦˜ ë¬¸ì œ...) 1. ì„ íƒë˜ì§€ ì•Šì€ ëª¨ë“ í–‰ë“¤ì„ ë§ˆí¬í•œë‹¤ 1. 바로 ìœ„ì˜ í–‰ì—ì„œ 0으로 기ë¡ëœ ì—´ë“¤ì„ ëª¨ë‘ ë§ˆí¬í•œë‹¤ 1. 바로 ìœ„ì˜ ì—´ì—ì„œ ì¼ì„ í• ë‹¹ ë°›ì€ ëª¨ë“ í–‰ì„ ë§ˆí¬í•œë‹¤ 1. ì¼ì •í•œ íŒ¨í„´ì´ ë‚˜ì˜¬ë•Œ 까지 ê³„ì† ë°˜ë³µí•œë‹¤. 1. ì„ ë“¤ì´ ê·¸ë ¤ì§€ì§€ ì•Šì€ ë¶€ë¶„ì—ì„œ ìµœì†Œê°’ì„ ì°¾ì•„ì„œ ì„ ë“¤ì´ ê·¸ë ¤ì§„ ë¶€ë¶„ì— ë”한다. ë‘번 겹친 ë¶€ë¶„ì€ ë‘번 ë”함 1. ì „ì²´ ë°°ì—´ì—ì„œ ìµœì†Œê°’ì„ ì°¾ì•„ ì „ë¶€ 뺀다 1. 0 ë®ê¸°. ìµœì†Œí•œì˜ ì„ ì´ í–‰ì˜ ê°¯ìˆ˜ì™€ 같지 않으면 다시 ìœ„ì— ì—°ì‚°, 같으면 탈출 1. ì´ì œ 행과 ì—´ì„ ê²¹ì¹˜ì§€ 않게 0 ì„ íƒí•˜ê¸°. 1. ìµœì´ˆì˜ ë°°ì—´ì— ì 용하면 최소값 ê³ ë¥´ê¸° 완성. === 소소한 íŒ === * ì´ˆê¸°ì— ìž…ë ¥ë°›ëŠ” ê°’ë“¤ì´ ìŒìˆ˜ì—¬ë„ 괜찮. * 첫번째 스í…ì—ì„œ '최솟값'ì„ ë¹¼ê¸° 때문ì—, ê²°êµ ëª¨ë‘ ì–‘ìˆ˜ê°€ ë¨. * ìž…ë ¥ë°›ì€ ë°°ì—´ì´ n*nì´ ì•„ë‹ ê²½ìš° 빈 ê³³ì— ìµœëŒ“ê°’ì„ ë„£ì–´ì„œ n*n으로 만들어야 함 * ìž…ë ¥ë°›ì€ ë°°ì—´ì— ì „ë¶€ -1ì„ ê³±í• ê²½ìš° '최소 비용' ì´ ì•„ë‹Œ '최대 비용'ì„ êµ¬í• ìˆ˜ 있ìŒ. == 8ì›” 16ì¼ == ACM ICPC 참가 ì‹ ì²ì´ 시작ë˜ì—ˆìŠµë‹ˆë‹¤. ê·¸ì— ë”°ë¼ ACM 기출 ë¬¸ì œ í’€ì´ë¥¼ ì§„í–‰í•˜ë ¤ê³ í•©ë‹ˆë‹¤. * [http://acm.kaist.ac.kr/phpBB3/portal.php 안내 페ì´ì§€] * [https://icpcarchive.ecs.baylor.edu/ ACM ë¬¸ì œ ì•„ì¹´ì´ë¸Œ] * [ACM_ICPC/Problems] * 6500 기타 ì˜¤ê°”ë˜ ì´ì•¼ê¸°ë“¤ * 온ë¼ì¸ 예비소집 - 온ë¼ì¸ ì˜ˆì„ - ì§€ì— ë³¸ì„ - 세계 ë³¸ì„ ìˆœìœ¼ë¡œ ì´ë£¨ì–´ 진다. * ë¬¸ì œëŠ” ì „ë¶€ ì˜ì–´ë¡œ 나온다. * 3ëª…ì´ í•œ 컴퓨터를 ì“°ë©´ 보통 어떻게 ì¼ì„ 분담하는가? * í•œ ëª…ì€ ì½”ë”©í•˜ê³ , 나머지 ë‘ ëª…ì€ ì†ìœ¼ë¡œ ì•Œê³ ë¦¬ì¦˜ì„ êµ¬ìƒ. 번ì—ì„ ìž˜ 하는 ì‚¬ëžŒì´ ìžˆìœ¼ë©´ ë¬¸ì œë¥¼ 번ì—í•´ 주는 ê²ƒë„ ê´œì°®ë‹¤. * 지ë„êµìˆ˜ í•œ ë¶„ì´ ì—¬ëŸ¬ íŒ€ì„ ë§¡ì„ ìˆ˜ 있는가? * ëœë‹¤. 하지만 ì œí•œì´ ìžˆì„ ìˆ˜ 있으니 확ì¸í•´ 보는 ê²ƒì´ ì¢‹ë‹¤. * 온ë¼ì¸ ì˜ˆì„ ì—ì„œ ì¼ì • ë¬¸ì œ 수 ì´ìƒì„ 풀지 않으면 실격 ë 수 있으니 ìœ ì˜. * ë³¸ì„ ì—ì„œ ì¢…ì´ 25ìž¥ì— (커버 í¬í•¨, ì–‘ë©´ 가능) ë‚´ìš©ì„ ì •ë¦¬í•´ ê°ˆ 수 있다. 단, 50cm 거리ì—ì„œ ì‹ë³„ì´ ê°€ëŠ¥í•´ì•¼ 한다. * íŒ€ì„ ì§œê³ ì—í• ë¶„ë‹´ì„ í•˜ëŠ” ê²ƒë„ ë§¤ìš° 중요. * 못 푼 ë¬¸ì œ ë¯¸ë ¨ê°€ì§€ê³ ê³„ì† ë¶™ìž¡ì§€ëŠ” ë§ìž. * ACM ì°¸ê°€í•œë‹¤ê³ í•˜ë©´ í•™êµì—ì„œ 경비와 ì´ê²ƒ ì €ê²ƒ 지ì›ì„ í•´ 준다. * 1í•™ë…„ë“¤ë„ ê²½í—˜ 삼아 참가를 í•´ 보는 ê²ƒì„ ì¶”ì²œí•œë‹¤. 차후 나갈 ë•Œ ë„ì›€ì´ ë 것ì´ë©°, 맛있는 ê²ƒë„ ë¨¹ì„ ìˆ˜ 있다 :D == 8ì›” 23ì¼ == [https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=609&page=show_problem&problem=4512 ì˜¤ëŠ˜ì˜ ë¬¸ì œ]: 네 명 다 펑... ì´ëŸ° ë¬¸ì œëŠ” 버리ìž. * ìž‘ë…„ì— ì„±í˜„ì´ í˜•ì´ í’€ì—ˆë˜ ë¬¸ì œ - 0번, 6번, 10번, 11번 * ë„ì „í–ˆë˜ ë¬¸ì œ - 8, 9번