ããªã¼ã©ã³ã¹ã®ãã¯ãã«ã«ã©ã¤ã¿ã¼ å¯ç¥ è±ã®å人ããã°ã§ããITã»ãã¸ãã¹ã»å¦ç¿ãªã©ããã¼ãã«ãå¤ãã®ã¡ãã£ã¢ã§è§£èª¬è¨äºãå°å ¥äºä¾ãæ¸ãã¦ãã¾ãã
ããªã¼ã©ã³ã¹ã®ãã¯ãã«ã«ã©ã¤ã¿ã¼ å¯ç¥ è±ã®å人ããã°ã§ããITã»ãã¸ãã¹ã»å¦ç¿ãªã©ããã¼ãã«ãå¤ãã®ã¡ãã£ã¢ã§è§£èª¬è¨äºãå°å ¥äºä¾ãæ¸ãã¦ãã¾ãã
ããã°ã©ãã³ã°ããã£ã¦ããã¨ãæ§ã ãªä¹±æ°ã«åºä¼ãã¾ããä¹±æ°ã«é¢ãã¦ã¯å¤§å¢ã®ç 究è ãè²ã ãªç 究çµæãåºãã¦ããããã種é¡ãå¢ãããã£ããã©ãã使ãã°ããã®ãã¨æ©ãåå ã«ããªãã¾ãã 大å¢ãç 究ãå©ç¨ãã¦ããåéã§ããããç§ä»¥å¤ã§ã大å¢ãä¹±æ°ã«é¢ããè¨äºãæ¸ãã¦ãããããããã¦æ°ããè¨äºãæ¸ã価å¤ã¯é«ããªãããããã¾ãããã¾ããæ¢ã«ç解ãã¦ãã人ã¯ããã§è¨äºãéããããæã¤ã¶ãç¨åº¦ã®æè¦ã§èªãã§ããã ãã¨è¯ããã¨æãã¾ãã çä¹±æ°ã¨çä¼¼ä¹±æ° ããã°ã©ãã³ã°ã®ä¸çã®ä¸ã§ãããã "ä¹±æ°" ã¨ãã¦æ±ããããã¨ãå¤ãã®ã¯æ¬ä¼¼ä¹±æ°ã§ããçä¼¼ãã¨ä»ãããã«ã¯ãããã¯å®ã®ã¨ããä¹±æ°ã§ã¯ãªãã¨è¨ãã¾ããã¨ã¯è¨ããæ¬ä¼¼ä¹±æ°ãä¹±æ°ã§ãªãã¨è¨ã£ã¦ãã¾ãã¨è©±ãçµãã£ã¦ãã¾ãã®ã§ãç似乱æ°ãå«ãä¹±æ°ãåºç¾©ã®ä¹±æ°ã¨ãã¾ãããã®è¨äºã§æ±ãã®ã¯åºç¾©ã®ä¹±æ°ã§ããéã«ãç義ã®ä¹±æ°ãæ¬ç©ã®ä¹±æ°ã¯çä¹±æ°ã¨è¨ãã¾ãã æ¬ç©ã¨è¨ãã¾ã
ï¼®ã¯ã¤ã¼ã³åé¡ ï¼ã¯ã¤ã¼ã³åé¡ã¨å¼ã°ããããºã«ãä¾ã«ã¨ã£ã¦ï¼ããã¯ãã©ãã¯æ³ã®èãæ¹ã説æããã ã¾ãï¼ãã§ã¹ã®ã¯ã¤ã¼ã³ã®é§ãåããç¯å²ã解説ããããã¯ã¤ã¼ã³ã¯ï¼æ¬¡ã®å³ã®ããã«èªåã®å ´æãã縦横æãã®æ¹åã«ä½ãã¹ã§ãåããã¨ãã§ããã ï¼ã¯ã¤ã¼ã³åé¡ã解ãæ¹æ³ã¨ãã¦ï¼ã¾ãèããããã®ã¯ï¼ï¼åã®ã¯ã¤ã¼ã³ã®ç½®ãæ¹ããã¹ã¦èª¿ã¹ã¦ï¼æ¡ä»¶ãæºãããã®ãæ¢ãï¼ã¨ãããã®ãããã ãããï¼ï¼åã®ã¯ã¤ã¼ã³ããã§ã¹ç¤ä¸ã«ç½®ãç½®ãæ¹ã 64ï¼£8 = 4426165368 éããããã¨ãèããã¨ï¼ ãã®æ¹æ³ããã¾ãã«ãéç¾å®çã§ãããã¨ãåããã ãããï¼ï¼ã¤ã®è¡ã«ã¯ï¼åã®ã¯ã¤ã¼ã³ããç½®ããªããã¨ãèããã¨ï¼èª¿ã¹ãå ´åã®æ°ãæ¸ãããã¨ãã§ããã ããªãã¡ï¼ï¼ã¤ã®è¡ããããã«ï¼ï¼åã®ã¯ã¤ã¼ã³ãã©ãã«ç½®ããï¼ã¨ãããã¨ãèããã°ããããï¼ ãã®å ´åã®æ°ã¯ï¼ 8ã®8ä¹ = 16777216 éãã§ããã ãã®èãæ¹ã§
ã¯ããã« çããã¯Googleããã¥ã¡ã³ããHackMDã使ã£ããã¨ã¯ããã§ããããããããã®ãã¼ã«ã¯ããããè¶ãã«åæã«è¤æ°ã®äººã§1ã¤ã®ããã¥ã¡ã³ããç·¨éã§ãããã¨ããç¹å¾´ãæã£ã¦ãã¾ãããäºãã®ç·¨éããªã¢ã«ã¿ã¤ã ã«åæ ãããã®ã§ãç¸æãä½ãæ¸ãã®ããæèãããã¨ãªããç°¡åã«ããã¥ã¡ã³ããè¤æ°äººã§ç·¨éãããã¨ãã§ãã¾ãããããå®ç¾ããããã«ã¯ãåæç·¨éã«åå ãã¦ããã¦ã¼ã¶å ¨å¡ã®ç·¨éå 容ããããã¯ã¼ã¯ã®å»¶æ»ã«å½±é¿ããããã¨ãªããããããã®ç·¨éå 容ããã¾ãå ·åã«ãã¼ã¸ãã¦åæ ãã¦ããããããªè³¢ãã¢ã«ã´ãªãºã ãå¿ è¦ã«ãªãã¾ããä»åã¯ãã®ã¢ã«ã´ãªãºã ã«é¢ãã¦æ¸ãã¾ãã ç·¨éå 容ã®ãã¼ã¸ã¨ã¯ ç·¨éå 容ããã¾ãå ·åã«ãã¼ã¸ããªããã°ãããªãã±ã¼ã¹ãèãã¦ã¿ã¾ãã Aããã¨Bããã次ã®ããã¥ã¡ã³ããåæç·¨éããã¨ãã¾ããæåã¯ããäºããã©ã¦ã¶ä¸ã§ã¯æ¬¡ã®ããã«è¦ãã¦ãã¾ããå½ç¶ããã®ç¶æ ã§ã¯ãäºãã«è¦ã
æ¦è¦ åªå 度ä»ãå¾ ã¡è¡åï¼priority queueï¼ã¨ã¯ã ããåªå 度ï¼ä¾ãã°ãå¤ã®å¤§ããªç©ã»ã©åªå 度ãé«ãã¨ãï¼ã«å¾ã£ã¦ã åªå 度ã®é«ããã®ããé ã«åãåºããã¨ã®åºæ¥ãã³ã¬ã¯ã·ã§ã³ã§ãã æ¿å ¥é åºãã©ãã§ãããåªå 度ã®é«ããã®ãå¿ ã1çªæåã«åãåºããã¾ãã åªå 度ä»ãå¾ ã¡è¡å ååã«ãå¾ ã¡è¡åãã¨ããè¨èãå«ã¾ãã¦ãããã¨ããåããããã«ã åªå 度ä»ãå¾ ã¡è¡åã¸ã®å¤ã®æ¿å ¥ã»åãåºãã¯ããããã¨ã³ãã¥ã¼ã»ããã¥ã¼ã¨ããã¾ãã ãå¾ ã¡è¡åãã®ã¨ãã¨åæ§ã«ã ãã¹ã¿ãã¯ãã¨å¼ã³åãããããããã«ã ããã·ã¥ã»ãããã¨ããååã§å®è£ ããå ´åãããã¾ãã ãã®ãããªã³ã¬ã¯ã·ã§ã³ãå®ç¾ããããã«ã¯ã ä¾ãã°ãã½ã¼ãæ¸ã¿ã®é åã使ãã¨ãã£ãæ¹æ³ãèãããã¾ããã åªå 度ã1çªé«ãè¦ç´ 1ã¤ã ããåããã°ååãªã®ã«ã ã½ã¼ããè¡ãã®ã§ã¯ä½åãªå´åãè£ãã¦ãããã¨ã«ãªãã¾ãã ããã«å¯¾ãã¦ã åªå 度ã
2015å¹´12æ17æ¥ãGoogle Chrome ã® JavaScript ã¨ã³ã¸ã³ï¼å¦çç³»ï¼ã§ãã V8 ã®å ¬å¼ããã°ã«ã¦ã JavaScript ã®æ¨æºçãªä¹±æ°çæAPIã§ãã Math.random() ã®èå¾ã§ä½¿ããã¦ããã¢ã«ã´ãªãºã ã®å¤æ´ãã¢ãã¦ã³ã¹ããã¾ããã Math.random() é¢æ°ã¯ JavaScript ãå©ç¨ããéã«ã¯æ¯è¼çãã使ãããé¢æ°ã§ãã®ã§ã親ãã¿ã®ããæ¹ãå¤ãã®ã§ã¯ãªããã¨æãã¾ãã æ°ããªãã°ã®çºè¦ããå¾æ¥ããåªç§ãªã¢ã«ã´ãªãºã ã®çºè¦ã«ãã£ã¦ã¢ã«ã´ãªãºã ãå¤æ´ããããã¨èªä½ã¯ããã»ã©çããã¯ãªããã®ã®ã æè¡çã«ã¯æ¯ãã¦ããã¨æããã Math.random() ã®ãããªåºæ¬çãªå¦çã®èå¾ã®ã¢ã«ã´ãªãºã ãå¤æ´ããããã¨ã«é©ããæããæ¹ãå°ãªããªããã¨æãã¾ããã ãã以ä¸ã«æ³¨ç®ãã¹ãã¯ãã®å¤æ´å¾ã®ã¢ã«ã´ãªãºã ã§ãã å®éã«æ¡ç¨ãããã¢ã«ã´ãªãºã ã®å
ç 究室ã®ã¼ãçºè¡¨ã§ï¼ããªã¼ãã¼ã®ãã¨ã¯ããåãã£ã¦ãã¾ãããâ¦ãã¨ããåç½®ãã§è¨ç®éã®è¦ç©ããããã¦ãããã®ãï¼æ¨å¹´ï¼ä»å¹´ã¨è¦ããã¾ããï¼ ãã®æ¥è¨ãå½¹ã«ç«ã¤ãï¼ä½è¨ãªå¾¡ä¸è©±ã«ãªããåãã£ã¦ãã¾ãããï¼ããã«æ´çã試ã¿ã¦ã¿ã¾ããï¼ 1. ããã°ã»ãªã¼è¨æ³ ãã¢ã«ã´ãªãºã ã®è¨ç®éããªã¼ãã¼ã§è¡¨ãã¦ã¿ãªãããã¨æ示ãããã¨ãã®ãªã¼ãã¼ã¯ï¼ 注æï¼çºæ³¨ã¨ããæå³ã§ããªãï¼ é çª*1ï¼é åºï¼ç§©åºã¨ããæå³ã§ããªãï¼ ãç¾ä¸ã®ãªã¼ãã¼ã*2ã¨ãããããªä½¿ãæ¹ã§ããªãï¼ æ°å¦ã®ä½æ°ã¨ããæå³ã§ããªãï¼ ããã°ã»ãªã¼è¨æ³ï¼ãããã¯wikipedia:ã©ã³ãã¦ã®è¨å·ãç¨ãã¦è¡¨ããã®ãè¨ãã¾ãï¼ 2. ä¸çªæ¬¡æ°ã®é«ããã®ä»¥å¤ï¼ããã¨ä¿æ°ã¯ç¡è¦ ããã°ã»ãªã¼è¨æ³ã§ã¯ï¼åºæ¬çã«ï¼ä¸ã¤ã®æåã«é¢ããã§ããã ãç°¡åãªæ°å¼ã«ï¼ãO( )ãããã¶ãã¾ãï¼ãã®ã¨ãï¼ è¤æ°ã®é ã®è¶³ãç®ãªãï¼æ¬¡æ°ã®æãé«ããã®ã ããæ®ãï¼ä»
Project Euler â ããã°ã©ã ã§è§£ãæ°å¦ã®åé¡éã§ãã å ¬å¼ãµã¤ã é©å½ã«å訳ãã¦ã¾ããæããã¯ã¨æã人ã¯ã©ã¤ã»ã³ã¹ã確èªããä¸ã§èªç±ã«æ¸ãã¦ãã ããã â
åçè¨ç»æ³ï¼ããããµãã¯åé¡ï¼ åçè¨ç»æ³ã¨ããããµãã¯åé¡ã«ã¤ãã¦è§£èª¬ãã¾ãã åçè¨ç»æ³ã¨ã¯ ç´æ¥è¨ç®ããã¨å¤§ããªæéãããã£ã¦ãã¾ãåé¡ã«å¯¾ããéä¸ã®è¨ç®çµæããã¾ãåå©ç¨ãããã¨ã§è¨ç®å¹çãä¸ããææ³ã®ãã¨ã ãéä¸ã®è¨ç®çµæãåå©ç¨ãï¼ãåãè¨ç®ãããªããã¨ããã㨠é£ããããã«è¦ãã¦èãæ¹èªä½ã¯åç´ ICPCå½å äºé¸ã§ãCåé¡ï½Fåé¡ãããã«ä½ãããã®å½¢ã§2,3é¡ã»ã©ã§ã¾ã è±èªã§ã¯ãDynamic Programmingãã¨å¼ã³ãç¥ãã¦ãDPãã¨å¼ã¶ãã¨ãå¤ãã§ãã åçè¨ç»æ³ã§å¹ççã«è§£ããåé¡ã®ä¸ã¤ã«ãããããµãã¯åé¡ã¨ãããã®ãããã¾ãã ããããµãã¯åé¡ ããããµãã¯åé¡ã¯ã価å¤ã¨éãã決ã¾ã£ã¦ããè¤æ°ã®åç©ã容éãä¸å®ã®ããããµãã¯ã«è©°ãè¾¼ãã¨ããããããµãã¯ã«è©°ãè¾¼ããåç©ã®ä¾¡å¤ã®åã®æ大å¤ã¯ä½ã§ãããï¼ãã¨ããåé¡ã§ãã å ·ä½çã«ã¯ã以ä¸ã®å³ã®ããã«ãªãã¾ããã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}