PHPerKaigi 2024 ã®ç»å£è³æã§ã
ããã«ã¡ã¯ï¼æ ªå¼ä¼ç¤¾ ABEJA ã§ ABEJA Platform éçºãè¡ã£ã¦ããåäºï¼GitHub : @Yagami360ï¼ã§ãã LangChain ã使ç¨ããã°ãRAG [Retrieval Augment Generation] ã使ç¨ãã LLM ã¢ããªã±ã¼ã·ã§ã³ãç°¡åã«ä½æã§ããã®ã§ä¾¿å©ã§ãããã ä»å LangChain ã§ã® RAG ã使ç¨ãã¦ãLLM ãå¦ç¿ã«ä½¿ç¨ãã¦ããªãç¹å®ãã¡ã¤ã³ã§ã®ç¨èªãå¿çãã Slack ããããããã£ã¨ä½ã£ã¦ã¿ãã®ã§å ±æãã¾ãã æ¬ã³ã¼ãä¸å¼ã¯ã以ä¸ã® GitHub ã¬ãã¸ããªã«ä¿ç®¡ãã¦ãã¾ãã github.com ä½¿ãæ¹ ã³ã¼ã解説 ã¢ã¼ããã¯ã㣠RAG ã®ä»çµã¿ ãã¥ã¼ãã³ã¤ã³ã¶ã«ã¼ãã«ããç¶ç¶çå質æ¹å ã¾ã¨ã We Are Hiring! ä½¿ãæ¹ äºåæºåã¨ãã¦ï½ç¨èªéã¹ãã¬ããã·ã¼ãã®ä½æã»Slack ã¢ããªã®åæè¨å®ã»å種
This yearâs Advent of Code has been brutal (compare the stats of 2023 with that of 2022, especially day 1 part 1 vs. day 1 part 2). It included a problem to solve with dynamic programming as soon as day 12, which discouraged some people I know. This specific problem was particularly gnarly for Advent of Code, with multiple special cases to take into account, making it basically intractable if you
æ¦è¦ DBMS ã§åºãå©ç¨ããã¦ãã B+ tree ã«ã¯æ§ã 㪠variant ãåå¨ããããB-link tree ããã®1ã¤ã ã·ã³ãã«ãªã©ãããããã³ã«ã§ä¸¦è¡ã¢ã¯ã»ã¹ããã°ããããããªã¼ããã¼ã以å¤ã®ãã¼ãã«ãå³ã®é£æ¥ãã¼ãã¸ã®ãã¤ã³ã¿ãæãããæ§é ã¨ãªã£ã¦ãããPostgreSQL ã§ä½¿ããã¦ãããã¨ã§ãæåã ãã®è¨äºã§ã¯ä¸»ã«ãã® B-link tree ã«ç¦ç¹ãå½ã¦ãã B+ tree å ¨è¬ããã®ä»ã¤ã³ããã¯ã¹æè¡èªä½ã«èå³ãããå ´åã¯ãæå¼·DBè¬ç¾© #10 ãã¾ã©ãã®ãã¼ã¿ãã¼ã¹ç´¢å¼æè¡ï¼ç³å·ä½³æ²» ææï¼ãã®è¬ç¾©è³æãèªãã®ãããããã B-link tree çè§£ããä¸ã§å¿ é ãªç¥èãã©ããã ãã©ãããã¨ããã®ã¯ããããããã¯ã®ãã¨ã ããDB ã«ããã¦ã¯ãããã¯ãã¨ããã¨ãã©ã³ã¶ã¯ã·ã§ã³åé¢ã®ããã®é«ä¾¡ãª(æ°åCPUãµã¤ã¯ã«ãè¦ãã)å¦çãæããã¨ãå¤ãããã©ãããã¨ãã
MySQLã®ã¤ã³ããã¯ã¹ã§ãããB-treeã§ã¯ãªãB+treeã使ç¨ããã®ã¯ã©ããã¦ãªã®ã§ããããï¼ ç«¯çã«è¨ãã¨æ§è½ãè¯ãããã§ãã ãããçè§£ããã«ã¯ãããã¡ãã¼ã«ã¸ã®çè§£ãå¿ è¦ã§ãããã£ã¹ã¯æåã®ãã¼ã¿ãã¼ã¹ã®ä¸ã§ã¯æéã®ã¡ã¢ãªãæå¤§éæ´»ç¨ãããã¨ã§ã¡ã¢ãªã«å ¥ãåããªã巨大ãªãã¼ã¿ç¾¤ã«å¯¾ãã¦è¯å¥½ãªåç §æ§è½ãåºãå¿ è¦ãããã¾ãããããã¡ãã¼ã«ã¨ã¯ãã£ã¹ã¯ä¸ã®ãã¼ã¿ã®ç¾ åãåºå®ãµã¤ãºã®ãã¼ã¸ï¼InnoDBã®å ´å16KBï¼ã®ç¾ åã§ããã¨ãã¦èªã¿æ¸ãã«å¿ è¦ãªåã ããã¡ã¢ãªã«ç§»ãåãè¤æ°ã®æ¸ãè¾¼ã¿ãã§ããéãã¡ã¢ãªå ã§åãæ¢ãã¦å¾ã§ã¾ã¨ãã¦ãã£ã¹ã¯ã«æ¸ãæ»ãã¨ãããã©ã¤ãããã¯åã®ãã£ãã·ã¥ã®ãããªæ©æ§ã§ãã ãã®ä¸ã«ããã¦ãããã¡ãã¼ã«ã¯æéã®ãµã¤ãºããç¡ãã®ã§é©å®ãã¼ã«å ã®ãã¼ã¿ãæ¸ãæ»ãã¦å ¥ãæ¿ããªãã䏿ããã£ã¦ããå¿ è¦ãããã¾ãã ãã¦B+treeã¨B-treeã®æå¤§ã®éãã¯æ¨ã®ãª
è¯ã話ãå«ãã®ã§æ¦è¦ã®æåã ãã§ãèªãã§ããããã¨å¹¸ãã§ãããã®è©±ãå®ç¨çãã¨è¨ãã¨å¤åå ¨ç¶å®ç¨çã§ã¯ãªãã®ã§çè§£ãã¦ã仿¹ãªãããªã¨è¨ãæ°ããã¾ãã æ¦è¦ ãã¡ã¤ã«ãã©ã¼ããã gzip 10-byteã®ããã æ¡å¼µããã ãã¡ã¤ã«æ¬ä½ ããã¿ï¼trailerï¼ zip ãã¼ã«ã«ãã¡ã¤ã«ããã Data descriptor ã»ã³ãã©ã«ãã£ã¬ã¯ããªã¨ã³ã㪠ã»ã³ãã©ã«ãã£ã¬ã¯ããªã®çµç«¯ã¬ã³ã¼ã gzipããzipã¸ã®å¤æ gzipãããã®å¦ç gzipãã¡ã¤ã«æ¬ä½ã®å¦ç gzip trailerã®å¦ç è¤æ°gzipãã¡ã¤ã«ã®é£çµ PoC ã¾ã¨ã æ¦è¦ å æ¥Dirty Pipeã¨ããLinuxã«ã¼ãã«ã®èå¼±æ§ãå ¬è¡¨ããã¾ããã dirtypipe.cm4all.com ãã®èå¼±æ§ã®åçèªä½ãé¢ç½ãã®ã§ããããã®åã«å ±åè ã®çµç¹ã§è¡ã£ã¦ããGzipã¨ZIPã®å¦çã§å¼ã£ããã£ãã®ã§ã¾ãå ã«ãã¡
ããã«ã¡ã¯ãLegalForce Researchã§ç ç©¶å¡ããã¦ããç¥ç° (@kampersanda) ã§ãã LegalForce Researchã§ã¯ç¾å¨ãé«éãªãã¿ã¼ã³ãããã³ã°ãã·ã³ Daachorseï¼ãã¼ã¯ãã¼ã¹ï¼ãéçºã»éç¨ãã¦ãã¾ããæååå¦çã®åºç¤ã§ããè¤æ°ãã¿ã¼ã³æ¤ç´¢ãæä¾ããRust製ã©ã¤ãã©ãªã§ãã以ä¸ã®ã¬ãã¸ããªã§å ¬éããã¦ãã¾ãã github.com æ¬è¨äºã¯Daachorseã®æè¡ä»æ§ã解説ãã¾ããå ·ä½çã«ã¯ã è¤æ°ãã¿ã¼ã³æ¤ç´¢ã«é¢ä¿ããåºç¤æè¡ï¼ãã©ã¤æ¨ã»AhoâCorasickæ³ã»ããã«é åï¼ Daachorseã®å®è£ ã®å·¥å¤«ã¨æ§è½ ã解説ãã¾ãã 以ä¸ã®ãããªæ¹ãèªè ã¨ãã¦æ³å®ãã¾ãã æååå¦çã¢ã«ã´ãªãºã ããã¼ã¿æ§é ã«èå³ã®ããæ¹ èªç¶è¨èªå¦çã®è¦ç´ æè¡ã«èå³ã®ããæ¹ Rustã©ã¤ãã©ãªã«èå³ãããæ¹ Daachorseã«ã¤ãã¦ è¤æ°ãã¿ã¼ã³æ¤ç´¢ã®åº
ï¼ï¼ã³ã¼ãã£ã³ã°ã¤ã³ã¿ãã¥ã¼ã¨ã¯ä½ã ã³ã¼ãã£ã³ã°ã¤ã³ã¿ãã¥ã¼ï¼Coding Interviewãã¾ãã¯Programming Interviewï¼ã¨ã¯ã1æéã»ã©ã®å¶éæéå ã«å°ããªããã°ã©ãã³ã°åé¡ãè§£ããã颿¥å½¢å¼ã®ãã¨ããããããã°ã©ãã¼ãã¾ãã¯ãã¼ã¿ãµã¤ã¨ã³ãã£ã¹ããªã©ã®æ¡ç¨è©¦é¨ã¨ãã¦ãç±³å½ãå«ãããã¤ãã®å½ã§ç¨ãããã¦ããããç©ççãªãã¯ã¤ããã¼ãä¸ã«ããã°ã©ã ãæ¸ããã¨ããå½¢å¼ã§å®æ½ããããã¨ãå¤ããããªã³ã©ã¤ã³ä¸ã®å ±æã¨ãã£ã¿ã§æ¸ããã¨ãã£ãå½¢å¼ã®ãã¨ããããGoogleãªã©ã¯èªç¤¾ã®Youtubeãã£ã³ãã«åç»ã§ã説æãã¦ããã åºé¡ãããåé¡ã¨ãã¦ã¯ãä¾ãã°ããè¤æ°ã®æ°ånumbersã¨æ´æ°kãä¸ããããã¨ããåè¨ãkã¨ãªãæ°åã®çµã1ã¤åºåãããã¨ãã£ããã®ãããããã®åé¡ã¯æåãªã®ã§éç§°ãä»ãã¦ãããTwo Sumã¨å¼ã°ããã Two Sumã®ä¸ä¾ãä¸ããããæ°å¤ã®ä¸¦
ããã«ã¡ã¯ãããã¢ã«ãã¤ã³ãµã¤ãCEOã»AIãã¸ãã¹ãã¶ã¤ãã¼ã®ç³è§åæã§ãã 2021å¹´æå¾ã®å¯ç¨¿ã¯ããèåä¸åç£ããã¯ã®æ°äºæ¥âZillowOffersâã¯ãªã大失æããã®ãããèå¯ãã¾ãã Zillowã¯ãä¸åç£æ å ±ãµã¤ãéå¶ãæãããç±³å½æå¤§ã®ä¸åç£ä»²ä»ãã¼ã±ãããã¬ã¤ã¹ã§ãã2006å¹´ã«åµæ¥ãã¦ä»¥éãç±³å½ã®ä¸åç£æ å ±ã«é¢ããã¦ã§ãæ¤ç´¢ã®ç´3å²ã¯Zillowãæã¤ã¨ãããåãæ±ãç©ä»¶æ°ã¯1å3500ä¸ä»¶ä»¥ä¸ã2020å¹´ã«ã¯Zillowã¦ã§ããµã¤ãã«è¨ªããæ¯æã®ã¦ãã¼ã¯ãã¸ã¿ã¼æ°ã3600ä¸äººãè¨é²ãã¾ããï¼Zillowã¦ã§ããµã¤ãã¨ã¢ããªã«é¢ããçµ±è¨ã¯ãã¡ãï¼ã Zillowã®ãã¸ãã¹ã¢ãã«ShutterstockZillowã®å¾æ¥ã®ãã¸ãã¹ã¢ãã«ã¯ãå®¶ã売ããã人ã¨è²·ããã人ãéãããã¼ã±ãããã¬ã¤ã¹ã§ããã主ã«ããã®ä»²ä»å½¹ã®ä¸åç£ã¨ã¼ã¸ã§ã³ãã«åãããã¸ãã¹ã¢ãã«ãç¹å¾´ã¨ãã¦ã
ãã®è¨äºã¯ãNTT Communications Advent Calendar 2021 21æ¥ç®ã®è¨äºã§ãã ã¯ããã« ããã«ã¡ã¯ãã¤ããã¼ã·ã§ã³ã»ã³ã¿ã¼ã®é´ã¶å¶º(@suzu_3_14159265)ã§ããæ®æ®µã¯ãã¯ã©ã¦ãã»ãã¤ããªããã¯ã©ã¦ãã»ã¨ãã¸ããã¤ã¹ãªã©ãå©ç¨ããAI/MLã·ã¹ãã ã«é¢ããæ¥åã«å¾äºãã¦ãã¾ããæ¬æ¥ã¯ãRustã§åçã¡ã¢ãªç¢ºä¿(dynamic memory allocation)ã®mallocãå®è£ ãã¦Pythonãvimãåããã¦ã¿ããã¨ããå 容ããå±ããã¾ãã ã¾ããå»å¹´ãRustãã¿ã®ã¢ããã³ãã«ã¬ã³ãã¼ãæ¸ãã¦ããã®ã§ãã²è¦ã¦ããã ããã¨å¬ããã§ãï¼ NTTã³ãã¥ãã±ã¼ã·ã§ã³ãº Advent Calendar 2020 Rustã§å®è£ ããNetflow Collector å®è£ ããmallocã®ã¢ã«ã´ãªãºã ä»åå®è£ ããmallocã®ã¢ã«ã´ãªãºã ã¯å°ããª
ã¯ããã« æ¬æ¸ã¯ï¼çè ãé·å¹´æ¸ãæºããæ§ã ãªå®åçãªæé©ååé¡ã«ã¤ãã¦ã¾ã¨ãããã®ã§ããï¼ æ¬æ¸ã¯ï¼Jupyter Laboã§è¨è¿°ããããã®ãèªåçã«å¤æãããã®ã§ããï¼ä»¥ä¸ã®ãµãã¼ããã¼ã¸ã§å ¬éãã¦ããï¼ ã³ã¼ããä¸é¨å ¬éãã¦ãããï¼ã½ã¼ã¹ã³ã¼ããä¿ç®¡ãã Github èªä½ã¯ãã©ã¤ãã¼ãã§ããï¼ æ¬ãè³¼å ¥ãã人ã¯ï¼ãµãã¼ããã¼ã¸ã§å ¬éãã¦ããªãããã°ã©ã ã å§ç¸®ãã¡ã¤ã« ã§ãã¦ã³ãã¼ããããã¨ãã§ããï¼ ãã¦ã³ãã¼ããããã¡ã¤ã«ã®è§£åãã¹ã¯ã¼ãã¯<æ¬ã«è¨è¿°>ã§ããï¼ ä½è ã®ãã¼ã¸ My HP æ¬æ¸ã®ãµãã¼ããã¼ã¸ Support Page åºç社ã®ãã¼ã¸ Pythonã«ããå®åã§å½¹ç«ã¤æé©ååé¡100+ (1) âã°ã©ãçè«ã¨çµåãæé©åã¸ã®æå¾ â Pythonã«ããå®åã§å½¹ç«ã¤æé©ååé¡100+ (2) âå²å½ã»æ½è¨é ç½®ã»å¨åº«æé©åã»å·¡åã»ã¼ã«ã¹ãã³â Pythonã«ããå®åã§å½¹ç«ã¤
AI Lab AutoMLãã¼ã ã®èç°ã§ã (GitHub: @c-bata)ã ãã¤ãã¼ãã©ã¡ã¼ã¿ã¼æé©åã¯ãæ©æ¢°å¦ç¿ã¢ãã«ããã®æ§è½ãçºæ®ããããã«éè¦ãªããã»ã¹ã®1ã¤ã§ããPythonã®ãã¤ãã¼ãã©ã¡ã¼ã¿ã¼æé©åã©ã¤ãã©ãªã¨ãã¦æå㪠Optuna [1] ã¯ãæ§ã ãªæé©åã¢ã«ã´ãªãºã ã«å¯¾å¿ãã¤ã¤ãã使ããããè¨è¨çã«ãåªããã½ããã¦ã§ã¢ã§ããæ¬è¨äºã§ã¯Optunaã®å é¨å®è£ ã«ã¤ãã¦ã½ããã¦ã§ã¢çãªå´é¢ãä¸å¿ã«è§£èª¬ãã¾ãã Optunaã®å é¨å®è£ ãçè§£ããããã«ã¯ã主è¦ã³ã³ãã¼ãã³ãã®å½¹å²ã¨å ¨ä½ã®åä½ã®æµããæ¼ãããå¿ è¦ãããã¾ãããããOptunaã®éçºã¯æ´»çºã§ãã³ã¼ãéãå¤ããªããå ¨ä½ã®æµããã³ã¼ãããèªã¿åããã¨ã¯é£ãããªã£ã¦ãã¾ãããããã§ä»åMinitunaã¨ããå°ããªããã°ã©ã ãç¨æãã¾ãããMinitunaã«ã¯å ¨é¨ã§3ã¤ã®versionãããããããã100è¡ã200è¡
ZOZOç ç©¶æã®æ¸ æ°´ã§ããå¼ç¤¾ã®ç¤¾ä¼äººãã¯ã¿ã¼å¶åº¦ãæ´»ç¨ããªãããã社å å¤ã«èç©ããã¦ãããã¼ã¿ãããã¸ãã¹ã¸ã®æ´»ç¨ãå¯è½ãªç¥è¦ãç²å¾ããããã®æè¡ãã®ç ç©¶éçºã«åãçµãã§ãã¾ãã å¼ç¤¾ã®ç¤¾ä¼äººãã¯ã¿ã¼å¶åº¦ã«é¢ãã¦ã¯ã以ä¸ã®è¨äºãã覧ãã ããã technote.zozo.com ç§ãç¾å¨åãçµãã§ãããã¼ãã®1ã¤ã«ããæ©æ¢°å¦ç¿ãå°ãåºããæææ±ºå®ã®çç±ã®å¯è¦åããããã¾ãããã®åéã¯ãExplainable Artificial Intelligenceï¼XAIï¼ãã¨å¼ã°ããè¿å¹´æ³¨ç®ãéãã¦ãã¾ãã å³ï¼XAIã«é¢é£ããæç®æ°ã®æ¨ç§»ï¼å¼ç¨ï¼https://arxiv.org/abs/1910.10045ï¼ ãã®ä¸ã§ãä»åã¯ã¦ã¼ã¶ã«å¯¾ããã¢ã¤ãã ã®æ¨è¦åé¡ã«ç¦ç¹ãå½ã¦ãããªããã®ã¦ã¼ã¶ã«å¯¾ãã¦ããã®ã¢ã¤ãã ãæ¨è¦ãããã®ãï¼ãã¨ããæ¨è¦çç±ã®å¯è¦åãå¯è½ãªã¢ãã«ãç´¹ä»ãã¾ãã æ¬è¨äºã®æ¦è¦
æ¬ã¹ã©ã¤ãã§ã¯ãæåãªã¢ã«ã´ãªãºã ãæ¦è¦³ããã¢ã«ã´ãªãºã ã«èå³ãæã£ã¦ããã ããã¨ãç®æ¨ã«ãã¾ãã 第 1 é¨ï¼ã¢ã«ã´ãªãºã ã¨ã¯ 第 2 é¨ï¼å¦å¹´ãå½ã¦ã¦ã¿ãã 第 3 é¨ï¼ä»£è¡¨çãªã¢ã«ã´ãªãºã åé¡ ç¬¬ 4 é¨ï¼ã³ã³ãã¥ã¼ã¿ã¨ã¢ã«ã´ãªãºã
SAIGã¢ã«ãã¤ãã®å¾è¤ã§ããæ¥åã§ã¯ãã¢ã«ã´ãªãºã ã®ç¥èãç¨ããæ¢åå¦çã®é«éåãã¹ã±ã¸ã¥ã¼ã«ã®èªå使ã«ããæ¥åã®å¹çåãè¡ã£ã¦ãã¾ãã é éè¨ç»åé¡ãªã©ãæé©ååé¡ã«å±ãã社ä¼èª²é¡ã¯ãé¨ååé¡ã«å·¡åã»ã¼ã«ã¹ãã³åé¡(TSP: Travelling Salesman Problem)ãå«ããã¨ãå°ãªãããã¾ããããããã£ã¦TSPã®åºæ¬çãªã¢ããã¼ããç¥ã£ã¦ãããã¨ã¯éè¦ã§ããTSPã¯çµåãæé©åã®ä»£è¡¨çãªåé¡ã¨ãã¦å¤ãããæ§ã ãªã¢ããã¼ãã試ã¿ããã¦ãããæ¬è¨äºã¯å°éå®¶ã®æ¹ã«ã¨ã£ã¦ã¯æ¢ç¥ã®å 容ã ã¨æãã¾ããæ¹ãã¦ç´¹ä»ãã¾ãããã®è¨äºã§ã¯ã2/3-optã®ç¼ããªã¾ãæ³(SA: Simulated Annealing)ããè¯ãè§£æ³ã¨ãã¦2/3-optã®å復屿æ¢ç´¢æ³(ILS: Iterated Local Search)ãç´¹ä»ãã¾ã(ç«¶æããã°ã©ãã¸: TSPã¯ç¼ããªã¾ãããå±±ç»ã + K
1. ã¯ããã« ããã«ã¡ã¯ãã¯ããã¾ãã¦ãæ±äº¬å¤§å¦ 1 å¹´çã®ç±³ç°åªå³»ï¼E869120ï¼ã¨ç³ãã¾ããç§ã¯ç«¶æããã°ã©ãã³ã°ãè¶£å³ã§ãAtCoder ãå½éæ å ±ãªãªã³ããã¯ãªã©ã®å¤§ä¼ã«åºå ´ãã¦ãã¾ã1ã2021 å¹´ 11 ææç¹ã§ãAtCoder ã§ã¯èµ¤è²ï¼ã¬ããã³ã¼ãã¼ï¼ã§ããã¾ãã2020 年以éãã¢ã«ã´ãªãºã ãå¦ã¹ã以ä¸ã®ãããªã³ã³ãã³ããè³æã使ãã¦ãã¾ããã ã¬ããã³ã¼ãã¼ãæãããç«¶ããä¸éã¬ã¤ãã©ã¤ã³ ç«¶ããå ¸å 90 å 50 åã§å¦ã¶ã¢ã«ã´ãªãºã ãã¦ããã®ãã³ã¯æè¡è©è«ç¤¾ãããæ¸ç±ãåºçããã¦ããã ããã¨ã«ãªãã¾ãã2ãã¢ã«ã´ãªãºã ã¨æ°å¦ãåæã«å¦ã¹ãæ°ããå ¥éæ¸ã§ãã ãã¢ã«ã´ãªãºã Ãæ°å¦ããåºç¤ãããã£ãã身ã«ã¤ãæ¬ - amazon çºå£²æ¥ã¯ä»å¹´ã®ã¯ãªã¹ãã¹ã2021/12/25 ã§ããé»åæ¸ç±çãåææã«åºãäºå®ã§ããæ¬è¨äºã§ã¯ããã®æ¬ã®å å®¹ã¨æ³å®èªè ã«ã¤ãã¦ã
ç«¶æããã°ã©ãã³ã°ï¼AtCoderï¼åå¿è ããæåã«çªãå½ããå£ã«ãªããã¨ãå¤ãã¢ã«ã´ãªãºã ã®ã²ã¨ã¤ã«ãbitå ¨æ¢ç´¢ããããã¾ãã ãã®è¨äºã§ã¯ããã®ãbitå ¨æ¢ç´¢ãã«ã¤ãã¦ã§ããéãä¸å¯§ã«è§£èª¬ããã¦ããã¾ãã è¨äºãªã³ã¯ 1. å ¥éç·¨ bitå ¨æ¢ç´¢ã£ã¦ãªã«ï¼ : bitå ¨æ¢ç´¢ã¯ã©ããªãã¨ãããã¢ã«ã´ãªãºã ãªã®ã解説ãã¾ãã 2. åºæ¬ç·¨1 ç°¡åãªä¾é¡ã§bitå ¨æ¢ç´¢ããã£ã¦ã¿ããï¼ : ç°¡åãªä¾é¡ï¼é¨åååé¡ï¼ã§å®éã«bitå ¨æ¢ç´¢ãå®è£ ãã¦ã¿ã¾ãã 3. åºæ¬ç·¨2 2鲿³ã使ã£ã¦å®è£ ãã¦ã¿ããï¼ : 2鲿³ã使ã£ãbitå ¨æ¢ç´¢ã®å®è£ ããã¦ã¿ã¾ãã 4. å®è·µç·¨ AtCoderã®åé¡ãè§£ãã¦ã¿ããï¼ : AtCoderã®bitå ¨æ¢ç´¢ã使ãåé¡ã®ãã³ãã¨ã³ã¼ãï¼Pythonã»C++ï¼ãè¼ãã¦ãã¾ãã 5. å¿ç¨ç·¨ 3ã¤ä»¥ä¸ã®é¸æè¢ã¯å台颿°ã§æ¸ããï¼ : å台颿°ã使ã£ã¦bitå ¨æ¢ç´¢ã«ä¼¼ãåé¡
1. ãªã 998244353 ã§å²ãã®ãï¼ æåã¯ãã®ãããªè¨åãè¦ãã¨ããã£ã¨ãã¦ãã¾ãã¾ãããå®ã¯ã¨ã¦ãèªç¶ãªåé¡è¨å®ã§ãã $998244353$ ã§å²ããªãã¨ãçãã®æ¡æ°ãã¨ã¦ã¤ããªã大ãããªã£ã¦ãã¾ããã¨ãããã¾ãããã®ã¨ã以ä¸ã®ãããªåé¡ãçãã¾ã: å¤åé·æ´æ°ããµãã¼ãããã¦ããè¨èªã¨ããã¦ããªãè¨èªã¨ã§æå©ä¸å©ãçãã 10000 æ¡ã«ãåã¶ãããªå·¨å¤§ãªæ´æ°ãæ±ãã¨ãªãã¨è¨ç®æéãè¨å¤§ã«ããã£ã¦ãã¾ã 1 çªç®ã®äºæ ã¯ããã°ã©ãã³ã°ã³ã³ãã¹ãã«ç¹æã®ãã®ã¨æããªãããªãã§ããã2 çªç®ã®äºæ ã¯åå®ã§ããæ´æ°ã®è¶³ãç®ãæãç®ãªã©ã宿½ããã¨ããæ¡æ°ããã¾ãã«ã大ãããªãã¨æ¡æ°ã«å¿ããè¨ç®æéãããã£ã¦ãã¾ãã¾ããå®ç¨çã«ããã®ãããªå·¨å¤§ãªæ´æ°ãæ±ãã¨ãã¯ãããã¤ãã®ç´ æ°ã§å²ã£ããã¾ããè¨ç®ãã¦ããã¦ãæå¾ã«ä¸å½å°ä½å®çãé©ç¨ãã¦å¾©å ãããã¨ãå¤ãã§ãã ãªã 9982443
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ã¯ããã« æ¬è¨äºã¯ãã¢ã«ã´ãªãºã ã®ä¸ã¤ã§ããæ¡DPã«ã¤ãã¦ãå ¥éè ãçåã«æããï¼ã¨ãããçè ãå®éçåã«æããï¼ãã¤ã³ãã«éç¹ãç½®ãã¦è§£èª¬ãããã®ã§ãã çè èªèº«ããã¾ã§æ¡DPã«è©³ããããã§ã¯ãªãããããæè¿è¦ããããããªã®ã§ãä½ãã¾ããé¨åãããã°åªãããææããã ããã¨å¬ããã§ãã ãã®è¨äºã§ç¹ã«éç¹ãç½®ããã¤ã³ãã¯ã次ã®éãã§ãã 使 ããã§ãã¾ãããã®ã æ¡DPã§æ°ãã¦ãããã®ã¯ä½ã åææ¡ä»¶ã¯ãªããããªãã®ã æ¡DPãã®ãã®ã®å ¥éç解説ã¨ãã¦ã¯ãä»ã«ãããã¡ããããéã®åªããè¨äºãããã¾ãã®ã§ããã¡ããåããã¦ã覧ãã ããã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}