Twitterãå©ç¨ããç·å¥³éãããã³ã°ã·ã¹ãã ã社ä¼ä¸»ç¾©ç彼女ã£ãã¼ã
ã¯ããã«
ä»ãã®ããã°ãèªãã§ããè²´æ¹ãè²´æ¹ã«ã¯ãç¾å¨æ人ã¯ãã¾ããï¼ãããããããã¾ããããï¼
ä¸è¬çã«ã彼女ãå½¼æ°ã¨ãã£ããæ人ãããç¶æ
ã¯ãæ人ãããªãç¶æ
ã¨æ¯ã¹ã¦ã幸ãã§ãããã¨ããèªèãæã£ã¦ãã人ãå¤ãã®ã§ã¯ãªããã¨æãã¾ããã§ãããå®éæ人ããã人ã¯ãé常ã«å°ãªãã§ããããããã¯ã©ããã¦ãï¼çãã¯ç°¡åã§ããç·æ§ã¨å¥³æ§ãä¸æããããã³ã°ãããæ¹æ³ãã確ç«ããã¦ããªãããã§ãã
ããããããã¡ãã¨ããå¶åº¦ã確ç«ããã¦ããªãç¶æ
ã§ãããã³ã°ãè¡ã£ãçµæããä»ã®æ¨ç¶ã§ããã¤ã±ã¡ã³ãé«å¦æ´çã®ãçã¾ãæã£ãæ¦å¨ãæã£ã人ã°ããã«å¥³æ§ãéã¾ããä¸è¬ã®ç·æ§ã®å
ã«ã¯äººã£åä¸äººã¨ãã¦éã¾ããªããä¸ä¸å½¼å¥³ãå±
ãã¨ãã¦ããä½ãããä¸æºãæ±ãã¦ãããã¨ãæ®ã©ã§ãããã女æ§ãµã¤ãã ã¨ãã¦ããããã¯åæ§ãã¨æãã¾ããä¸å¹³çãéå¹çããã®ç¾ç¶ãè¨ã表ãã®ã«ãæãé©ããåèªã§ãããã
ãããä½ã¨åãããããã¨ãï¼ï¼ï¼ä¸ç´ã«å
¥ã£ã¦ãã¾ã ããã®ãããªãå§åçãªä¸å¹³çãæ±ããå°ä¸ã¤éå¹çãªç·å¥³éã®ãããã³ã°ãè¡ããã¦ãããã¨ã«ãç§ã¯çµ¶æããããå¾ãªãï¼
ããã§ããã®最強最速アルゴリズマーã§ãããã®ç§ããæ§æ¥ã®éæªãªç·å¥³äºæ
ãä¸æããå¾æ¥ã®ææå¸å ´ãã¶ã¡å£ããããªãç´ æ´ããããµã¼ãã¹ããç¨æãããã¾ããããã®ãµã¼ãã¹ã«ç»é²ãããã¨ã§ãä»ã¾ã§ããªã¢å
æ°ãï¼ãã¨å«ãã§ããæ¹ã
ãããã£ã¨ç´ æµãªåºä¼ãã訪ãããã¨ã§ãããã
ãããè²´æ¹ããã³ã³ãã¥ã¼ã¿ã«çµ±å¶ãããä¸çã®ãä¸äººã®ä½äººã«ãªã£ã¦ã¿ã¾ãããï¼
ãã®ãµã¼ãã¹ã«ãããã¡ãªãã
- æè¿ãªäººä»¥å¤ã§ã彼女ã«ãªãå¾ãï¼
ãã®ä¸çã«ã¯ãç¾å¨69å人ç¨åº¦ã®äººéããã¾ãã女æ§ã ãã§è¦ãã°ã35å人ç¨åº¦ã§ããããããã§è³ªåã§ããè²´æ¹ãç¥ãåã£ã¦ãã¦ãããç¨åº¦ã®ãã¨ãåãã£ã¦ãã女æ§ã¯ãä½äººç¨ãã¾ããï¼ï¼æ¡ãï¼æ¡ãé常ã«å¤ãã£ãã¨ãã¦ããããããï¼æ¡ã§ã¯ãªãã§ããããï¼ãã®ãããªã極ãã¦éå®çãªç°å¢ã§ãçæ³ã®ç°æ§ãéå½ã®ç¸æãè¦ã¤ããã¨æãã¾ããï¼ç§ã¯ããã¯æãã¾ããã
ããã§ãã³ã³ãã¥ã¼ã¿ã®å§åçãªå¦çè½åãå©ç¨ãã¾ããã³ã³ãã¥ã¼ã¿ãèªåçã«ãããã³ã°ãè¡ããã¨ã«ãã£ã¦ã女æ§ãæ®ã©ç¥ããªãã¦ããç»é²ãã¦ãã女æ§ãå
¨ã¦ç¥ã£ã¦ãããã®ããã«ã彼女ãä½ããã¨ãã§ãã¾ããããã¯å¤§ããªã¡ãªããã«ãªãã§ãããã
- ç¬ã身ã®äººéãå¤§å¹ ã«æ¸å°ãã
è²´æ¹ã¯ã誰ã¨ä¸ç·ã«å±
ã¦ãããã®äººãä¸å¹¸ã«ãã人éã§ããï¼ãä¸ã®ä¸ã®ï¼ï¼å人ã®ã©ããªäººã¨ä¸ç·ã«å±
ã¦ããå¿
ãç¸æã®äººéãä¸å¹¸ã«ãããããªäººéã§ããï¼ãçããNoã§ããã°ããã®ãµã¼ãã¹ã§ãè²´æ¹ã«ã¯å¿
ãç¸æãè¦ã¤ããã¾ãã
ãã®ãµã¼ãã¹ã¯ãæ©æ¢°çã«ã交éãéãã¦å¾ããã幸ç¦åº¦ã®åãæ大åããå¦çãè¡ã£ã¦ãããããä¸äººã§ã幸ç¦ã«ãªããç¸æãæ®ã£ã¦ããã°ãå½ç¶ãã®äººãæ人ã«ãããã¨ãã§ãã¾ããå½ç¶ï¼å¯¾ï¼ã§ã®ãããã³ã°ã¨ãªãã¾ãã®ã§ãç·å¥³ã©ã¡ããã«ä½ã人ãåºã¦ãã¦ãã¾ãã®ã¯ä»æ¹ã®ãªããã¨ã§ã¯ããã¾ããããã以å¤ã®æ¹ã¯ãã¾ãééããªããç´ æµãªåºä¼ããçµé¨åºæ¥ãã§ããããã³ã³ãã¥ã¼ã¿ã«ããã絶対çãªçµ±å¶ããªããã°ããããããã¨ã¯å®ç¾ä¸å¯è½ã§ãããã
- ä¸å¹³çãªææå¸å ´ã®æ¯æ£
ãã®ãµã¼ãã¹ã§ç®æãã®ã¯ãç»é²è å ¨å¡ã®å¹¸ç¦ã®åã®æ大åã§ããã¤ã¾ããããä¸é¨ã®äººãåªéãããããéã«èª°ããä¸éãªç®ã«ãã£ãããããã¨ã¯çµ¶å¯¾ã«ããã¾ãããã³ã³ãã¥ã¼ã¿ã«ãã絶対çãªçµ±å¶ã§ãªããã°ãããã¾ã§å·®å¥ããªããå®å ¨ã«å¹³çãªãµã¼ãã¹ãåºæ¥ãã§ããããï¼ããã«å ãã¦ãæé©ãªãããã³ã°ãè¡ãããã幸ç¦å¹çã®è¦³ç¹ã§ãåªãã¦ãããã¨ãªãã°ãããç»é²ãããããªãã§ãããã
æ¦è¦
ãã®ã社ä¼ä¸»ç¾©ç彼女ã£ãã¼ãã¯ãç»é²è ã®å¹¸ç¦å¤ãæ大ã¨ãªãããã«ãç·å¥³éã®ãããã³ã°ãèªåçã«è¡ããµã¼ãã¹ã§ãããã®ãµã¼ãã¹ã¯ã以ä¸ã®ãããªããã»ã¹ã§å®è¡ããã¾ãã
- ãµã¼ãã¹åå å¸æè ã«IDããå°ã ã®å人æ å ±ï¼ä»»æï¼ãå ¥åãã¦ãããã
- æè¿ã®Tweetãããç¾ç»é²è ã¨ã®ç¸æ§å¤ãå¤å®ããã
- ç¾ç»é²è ã§æ§æãããç·å¥³éã°ã©ãã«æ°ç»é²è ãçµã¿è¾¼ã¿ãæ°ããªç·å¥³éãããã³ã°ãè¡ãã
ãã®ãããªä»çµã¿ã«ãªã£ã¦ãããããç»é²è
ãå¢ãã度ã«ãç·å¥³éã®ã°ã©ããçµã¿æ¿ãããã®ã§ãå½¼æ°ã»å½¼å¥³ããé »ç¹ã«å¤ãã£ã¦ãã¾ããã¨ããåé¡ã¯ãå°ãªãããçºçãã¾ããã§ãããè²´æ¹ã«ã¨ã£ã¦ãããã¦ç¤¾ä¼å
¨ä½ã«ã¨ã£ã¦ãæ大ã®å¹¸ç¦ã訪ããããã«ä½ããã¦ãã¾ãã®ã§ããããããã¯ä½ã®åé¡ãããã¾ããããï¼
ããã ãã§ã¯å°ã
å¤ãã«ããã®ã§ãããå°ã詳ãã説æãã¦ããã¾ããããããããå
ã¯å°ã
ã¢ã«ã´ãªãºã ã®è©±ã¨ãªãã¾ãã®ã§ãå¤ãé£ãå ´åã¯é£ã°ãã¦ããã£ã¦ãåé¡ããã¾ããã
ç»é²è å士ã®ç¸æ§å¤å®
ç¸æ§ãå¤å®ããããã«ãç»é²è ãã©ã®ãããªäººéã§ããããå¤å®ããå¿ è¦ãããã¾ããæ¬ãµã¼ãã¹ã§ã¯ã以ä¸ã®ãããªã¢ã«ã´ãªãºã ã使ç¨ãã¦ãã¾ãã
ãã¤ã¼ãããã®åæ
ãã®äººã®éå»ã®ãã¤ã¼ãããããã®äººããã©ã®ãããªè©±ã好ãã®ããåæãã¾ãã
æ¥æ¬èªã«ãããèªç¶è¨èªå¦çã¯ãæ¢ã«é常ã«ç 究ã®é²ãã ã¸ã£ã³ã«ã§ãããããæ¢åãã¼ã«ã§ãããå½¢æ
ç´ è§£æãã¼ã«ã§ããMeCabãä¿ãåã解æãã¼ã«ã§ããCaboChaã®äºã¤ã使ããé«åº¦ãªè§£æãè¡ãã¾ããããã®è§£æçµæã¨ãæ¢åã®åèªãã¼ã¿çã¨ãæ¯è¼ãããã®äººã®è¶£å³å好ãããå£ççã¾ã§ããã¾ãã¾ãªåæãè¡ããã¨ãã§ãã¾ãã
replyããã®åæ
ãã人ã®ææ対象ã¨ãªã人éãæ¨æ¸¬ããã®ã«ããã£ã¨ãé©ããæ¹æ³ã¯ãç¹å®ã®äººéã¸ã®è¿ä¿¡ãè¡ã£ã¦ãããã¤ã¼ããè¦ããã¨ã§ããä¸è¨ã¨åæ§ã®è§£æã«å ããææ å¤è¾æ¸ãå©ç¨ããç¹å®ã®äººã«åããçºè¨ã®ããã¸ãã£ã度ã»ãã¬ãã£ã度ãå¤å®ãã¾ããããã«ãããreplyå ã®äººéãã©ã®ãããªäººéã§ãããã¨ããã®äººã«å¯¾ãã¦ã©ã®ãããªå°è±¡ãæã£ã¦ããããã¨ããï¼ã¤ã®ãã¼ã¿ãå¾ããããã®ãã¼ã¿ããé«åº¦ãªç¸æ§äºæ¸¬ãå¯è½ã¨ãªãã¾ãã
ç»é²è å士ã®ãããã³ã°
ãã¦ãããã§ã¯ããã®ãµã¼ãã¹ã®æ ¸ã¨ãªããç·å¥³éãããã³ã°ã·ã¹ãã ã«ã¤ãã¦ã説æãã¾ãããã®ãµã¼ãã¹ã§ã¯ãé«åº¦ãªã¢ã«ã´ãªãºã ãé§ä½¿ãã常ã«æé©ãªãããã³ã°ãè¡ããã¨ãã§ãã¾ãããããã説æããã®ã¯ãPrimal-Dualã¨ããã¢ã«ã´ãªãºã ã§ãã
ã¾ãã¯ãåå è
å士ã®ç¸æ§è¡¨ãã以ä¸ã®ããã«è¨å®ãã¾ãã
次ã«ããã®è¡¨ãç¨ãã¦ã以ä¸ã®ãããªã°ã©ããä½æãã¾ããã°ã©ããå¤ããªã人ã¯ãâã¨ç·ã§æ§æãããä¸ã®å³ã¿ãããªãã®ãã¨èªèãã¦ããããã°åé¡ããã¾ããã
ãã¦ããã®å¾ãαããβã¸åãããæãéã辺ã®ç¹æ°ã®åè¨ã®ç¹æ°ãå¤ããªãç¹ããDijkstraãªã©ã®æççµè·¯åé¡ã解ãã¢ã«ã´ãªãºã ã使ã£ã¦èª¿ã¹ã¾ããä»åã®å ´åã¯ãαâç·ï¼¢â女Bâβããï¼ãã¤ã³ãã¨ä¸çªé«ãã®ã§ãããã辿ã£ã¦ããã¾ãã
ãã®ããã«ç·ãå¼ãã¾ãããç·ãå¼ããæã¯ãç¢å°ã®åããå¤æ´ããç¹æ°ãéã«æ¸ããã¨ã«ãã£ã¦ãéèµ°å¯è½ã¨ãã¦ããã¾ããããä¸åº¦ãåããã¨ããã£ã¦ã¿ã¾ãããã
次ã¯ãαâç·ï¼¡â女Aâβã®ï¼ãã¤ã³ãã§ããããï¼ãå®ã¯ãå
ã»ã©ç¢å°ã®åããããããéã«å¤ããã®ã§ããã以å¤ã®è¯ãçµè·¯ãããã¾ããαâç·ï¼¡â女Bâç·ï¼¢â女Aâβã®ãï¼âï¼ï¼ï¼ï¼ï¼ãã¤ã³ãã®çµè·¯ãæ大ã¨ãªãã¾ãã
ãã®ããã«ãç·å¥³éã®æé©ãªãããã³ã°ãè¡ããã¾ãã
ä»åãæ®å¿µãªããCããã¯ã女æ§ãä¸äººè¶³ããªãå½±é¿ã§ã彼女ãçºè¦åºæ¥ãªãç¶æ
ã«ãªã£ã¦ãã¾ãã¾ãããã§ãããããã¯ä¸å¹¸ãªãã¨ã§ã¯ããã¾ãããå½¼ã¯ã社ä¼å
¨ä½ã®å¹¸ç¦åº¦ãé«ããããã絶対çãªã³ã³ãã¥ã¼ã¿ã®æå¿ã®å
ã§ãç ç²ã«ãªã£ãã®ã§ããåèªã®æ¦æ»ã ã¨æã£ã¦ãèªãã«æã£ã¦ãã ããã
ä»åã¯ãã®ãããªçµæã¨ãªãã¾ãããããã®ãµã¼ãã¹ã«ããã彼女ãããã³ã°ã¯ãï¼äººç»é²è
ãå¢ãã度ã«è¡ãããã®ã§ãé常ã«åçã«å¤åãã¾ããç¢å°ã®éèµ°ãå¯è½ã¨ãªã£ã¦ããã®ã§ããã¤ï¼£åãä»ã®å½¼å¥³ãå¯åãäºã«ãªããã¯å¤ãã¾ããããããã¯ã³ã³ãã¥ã¼ã¿ã®çµ¶å¯¾çãªææã®å
ã§è¡ããã¾ãããã絶対çã«æ£ããè¡çºã¨ãã¦èªãããã¾ãã
ã¡ãã£ã¨ã¢ã«ã´ãªãºã ã«è©³ãã人åãã®ã話
ä¸è¨ã®ãããªåé¡ã¯ã二部マッチングにおける最小重み最大マッチング問題ã«å¸°çãããã¨ãå¯è½ã§ãããããã¯ãå²ãå½ã¦åé¡ã«å¸°çãããè¡åæ¼ç®ãç¨ããハンガリアン法ã使ã£ã解æ³ã使ãæ¹ãä¸è¬çã§ããã§ãããä»åã¯ãåå è ãä¸äººè¿½å ãããã¨ããä½æ¥ãå¿ è¦ã¨ãªãã¾ããããã§Primal-Dualã使ç¨ããå ´åãç·æ§éå¤ã®ç¶æ ã§ç·æ§ã追å ããå ´åãç·æ§ããåºã¦ç·æ§ã«æ»ã£ã¦ããè² éè·¯ãBellman-FordãSPFAã§æ¤åºããåããå¤ãããã¨ããå¦çããè² éè·¯ããªããªãã¾ã§ç¹°ãè¿ãã ãã§ãç°¡åã«å¦çãå¯è½ã¨ãªãã¾ãã
åå è ã®å£°
αãã¹ãã®åå è ã®æ¹ã ã«ãææ³ãæ¸ãã¦ããã ãã¾ããã
@kaminogiãã
ä»ã¾ã§ãæ°ã ã®åºä¼ãç³»ãµã¤ãã«ææ¦ãã¦ã¯çµ¶æãã¦ããåãå±ããªãã¡ã¼ã«ãå¢ããè«æ±ãé³´ããªããé»è©±ââãä»åã®ãµã¼ãã¹ã®è©±ãèããã¨ããããã©ããåºä¼ããªããã ãããªãã¨åã°è«¦ãã®æ°æã¡ã§ãã¨ããããç»é²ã ããã¦æ¾ç½®ãã¦ãã¾ããã
ã¨ããããä»åã¯ãã£ãä¸é±éã§å¹æãåºå§ãããã§ããåã«ãªãã©ã¤ãããã女æ§ã®ãã©ãã¯ã¼ããã®æ°ãå¢ãå§ããã®ã§ãã
ããã¦éã«åã¯ãã¨ãã女æ§ã¨ä¼ãæ©ä¼ãä½ããã¨ã«æåãã¾ããããã®äººã¯åãªããã§ã¯çµ¶å¯¾ä»ãåãããã«ãªããç¾äººã§æ§æ ¼ã®è¯ã人ã§ãã
ããããåã¨ä¼ã£ã¦ãããçç±ãèããã¨ããããã®ã社ä¼ä¸»ç¾©ç彼女ã£ãã¼ããæ¨è¦ããããã¨çãã¦ãããã®ã§ãï¼
ãã®æã¯ã¨ã¦ãã³ã£ãããã¾ããããä»ã¨ãªã£ã¦ã¯ããã¯ç¬ã話ã彼女ã¯åã®å¤§åãªäººã«ãªãã¾ããã
ãã®å大ãªã·ã¹ãã ãä½ã£ã¦ãããchokudaiããã«ã¯ä¸çé ãä¸ããã¾ããããããã¨ãchokudaiããããããã¨ãã社ä¼ä¸»ç¾©ç彼女ã£ãã¼ãï¼
çãããæ¯éç»é²ãã¦ãç´ æµãªåºä¼ããæ´ãã§ãã ããï¼
@sanagippãã
ç§ã¯ããã®ãµã¼ãã¹ã«ç»é²ããã¦é ãã¦ããã«ãç´ æµãªç·æ§ã¨çµã°ãããã¨ãåºæ¥ã¾ããâª
ç»é²è ã®å¢å ã«ä¼´ããä½åº¦ãé¢ä¿ã解æ¶ããã¦ãã¾ãã¾ããããå½¼ã®æ¯ã話é¡ã«å ¨ã¦åå¿ãç¶ãã¦ãããå½¼ã®ãã¤ã¼ããå ¨ã¦éå ¬å¼RTãããçã®è¡çºã試ãã¦ã¿ãã¨ãããç¸æ§å¤ãããããé«ãè©ä¾¡ãããåã³çµã°ãããã¨ãåºæ¥ã¾ããâª
ä»å¾ã¯ãå½¼ã¨ã話ããã¦ããæ¹ã®å£çãçä¼¼ãã¦ã¿ãããããã¨ã«ãã£ã¦ãããé¢ãããã¨ã®ãªãããã«ãããã¨æã£ã¦ãã¾ãâª
æ¬å½ã«ç´ æ´ããããµã¼ãã¹ã§ãã®ã§ãçæ§ç»é²ãã¦ã¿ã¦ãã ãããâª
@nagamon1ãã
æ±ãã¦ãç¸æãè¦ã¤ãããã¨ãã§ãã¾ããï¼
èªåã®æ§å¥ã趣å³ã»ç¹æãç¸æã®è·æ¥ãã¹ã¿ã¤ã«ããããã声ã表æ ãªã©ãå ¥åããã¨ãæé©ãªç°æ§ãæ¢ãã¦ãã¦ããã¾ãã
ç°æ§ãè¦ã¤ãã£ããTwitterã§é£çµ¡ãåãåããã¨ãã§ãã¾ãã
ãããã¯ãã®ã·ã¹ãã ãå©ç¨ããæ±ãã¦ãç¸æãè¦ã¤ãã¦ããã¯
æ¯æ¥ã®ããã«æ¨æ¶ãããã話ããããããã¦ãçµå©ã«åãã¦æãæ·±ãã¦ãã¾ãã
ãã®ã·ã¹ãã ã¯ã¨ã¦ããã°ãããã¨æãã¾ãï¼
ãã ãã²ã¨ã¤ä¸æºãããã¨ãããã彼女ããã£ã¹ãã¬ã¤ããåºã¦ãã¦ãããªããã¨ã§ãã
å ¬éææã«ã¤ãã¦
æ¬ãµã¼ãã¹ã¯ããã®ããã°ã®å ¬éã«åããã¦ãªãªã¼ã¹ããäºå®ã§ãããããã¬ãã¹ãã®æä¸ã«ããµã¼ãã¹å¶ä½è ã®å½¼å¥³ããããã³ã°ãããªããã¨ããã大ããªãã°ãæ±ãã¦ããäºå®ãçºçãã¦ãã¾ã£ããããç¾å¨ä¿®æ£ãè¡ã£ã¦ããã¾ãããã®ãã°ãåã次第ãå ¬éãããäºå®ã§ããå ¬éãã楽ãã¿ã«ï¼
ãã¾ã
ãã®è¨äºä¸ã«åºã¦ããã¢ã«ã´ãªãºã ã®æ¹ã«èå³ãããæ¹ã¯ããããæ©ã«ã競æããã°ã©ãã³ã°ãå§ãã¦ã¿ã¦ã¯ãããã§ããããï¼èå³ãæãããæ¹ã¯ãæ¯éITMediaã®ãã¡ãã®è¨äºããããããé¡ããã¾ãã
http://www.itmedia.co.jp/keywords/algorithmer.html
ï¼æã«éå¬ããããGoogle Code Jamã®åå¼·ä¼ãããã®ã§ããã¡ãããããããé¡ããã¾ãã
http://community.appliplanet.co.jp/index.jspa