{"blog_title":"\u3088\u3059\u307d\u306e\u65e5\u8a18","height":"190","image_url":null,"categories":[],"blog_url":"https://yosupo.hatenablog.com/","version":"1.0","title":"AOJ-ICPC 1000\u70b9 \u975e\u5e7e\u4f55\u307e\u3068\u3081(\u30cd\u30bf\u30d0\u30ec\u542b\u3080)","description":"Cellular Automaton\u4ee5\u5916\u3092\u89e3\u304d\u307e\u3057\u305f\u3002Cellular Automaton\u306f\u3042\u307e\u308a\u306b\u610f\u5473\u4e0d\u660e\u306a\u306e\u3067\u89e3\u8aac\u3092\u898b\u307e\u3057\u305f\u3002 Do use segment tree \u554f\u984c, \u89e3\u6cd5\u3068\u3082\u306b\u3081\u3063\u3061\u3083\u6709\u540d\u3067\u3059\u306d\u3002\u30e9\u30a4\u30d6\u30e9\u30ea\u30c1\u30a7\u30c3\u30af\u7528\u554f\u984c\u3002 HL\u5206\u89e3\u304bL/C Tree\u3092\u8cbc\u308a\u307e\u3059\u3002\u304a\u3059\u3059\u3081\u306f\u5f8c\u8005 Common Palindromes \u65b9\u91dd\u304c\u60aa\u304f\u975e\u5e38\u306b\u5927\u91cf\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u3063\u305f\u3002\u5927\u5909\u3002 \u56de\u6587\u5217\u6319\u306fmanacher + rolling hash\u3067\u53ef\u80fd\u3002 \u5f8c\u306f\u6587\u5b57\u5217\u306b\u3064\u3044\u3066\u305d\u308c\u304c\u3044\u304f\u3064\u51fa\u3066\u304f\u308b\u304b\u3092\u5224\u5225\u3067\u304d\u308c\u3070\u826f\u3044\u3001\u3053\u308c\u306fSuffix Array + LCP + RMQ Palindrome Generato\u2026","published":"2016-01-07 16:24:24","author_name":"yosupo","url":"https://yosupo.hatenablog.com/entry/2016/01/07/162424","type":"rich","provider_url":"https://hatena.blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fyosupo.hatenablog.com%2Fentry%2F2016%2F01%2F07%2F162424\" title=\"AOJ-ICPC 1000\u70b9 \u975e\u5e7e\u4f55\u307e\u3068\u3081(\u30cd\u30bf\u30d0\u30ec\u542b\u3080) - \u3088\u3059\u307d\u306e\u65e5\u8a18\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","provider_name":"Hatena Blog","author_url":"https://blog.hatena.ne.jp/yosupo/","width":"100%"}