{"author_url":"https://blog.hatena.ne.jp/drken1215/","provider_url":"https://hatena.blog","categories":["AtCoder","ACLpractice","\u6587\u5b57\u5217","SuffixArray","prefix\u3068suffix","\u6570\u3048\u4e0a\u3052\u554f\u984c","\u30c0\u30d6\u30eb\u30ab\u30a6\u30f3\u30c8\u3092\u9632\u3050\u5834\u5408\u5206\u3051","\u6700\u5c0f\u6dfb\u5b57\u898f\u5247\u306b\u3088\u3063\u3066\u30c0\u30d6\u30eb\u30ab\u30a6\u30f3\u30c8\u3092\u9632\u3050","\u89e3\u7a7a\u9593:O(N^2)\u901a\u308a\u306e\u9078\u629e\u80a2","\u533a\u9593","\u9023\u7d9a\u90e8\u5206\u5217\u3092\u6271\u3046\u554f\u984c","\u7a2e\u985e\u6570","lcp","\u305d\u306e\u307e\u307e\u899a\u3048\u305f\u3044\u30b7\u30f3\u30d7\u30eb\u8a2d\u5b9a\u306e\u4e2d\u5805\u4ee5\u4e0a\u306e\u5178\u578b\u554f\u984c","NoviSteps2D"],"provider_name":"Hatena Blog","published":"2022-12-15 02:29:00","image_url":"https://cdn.user.blog.st-hatena.com/default_entry_og_image/80936665/1516148889515660","blog_title":"\u3051\u3093\u3061\u3087\u3093\u306e\u7af6\u30d7\u30ed\u7cbe\u9032\u8a18\u9332","description":"Suffix Array \u3068 LCP \u306e\u7406\u89e3\u3092\u554f\u3046\u554f\u984c\u3002\u8d85\u30b7\u30f3\u30d7\u30eb\u3067\u9762\u767d\u3044\u554f\u984c\uff01 \u554f\u984c\u3078\u306e\u30ea\u30f3\u30af \u554f\u984c\u6982\u8981 \u9577\u3055\u304c \u306e\u6587\u5b57\u5217 \u304c\u4e0e\u3048\u3089\u308c\u308b\u3002 \u306e\u9023\u7d9a\u3059\u308b\u90e8\u5206\u6587\u5b57\u5217\u306e\u7a2e\u985e\u6570\u3092\u7b54\u3048\u3088\u3002 \u5236\u7d04 \u89e3\u6cd5 \u6587\u5b57\u5217 \u306e Suffix \u3068\u306f\u300c\u5f8c\u308d\u306e\u4f55\u6587\u5b57\u304b\u3092\u3068\u3063\u3066\u3067\u304d\u308b\u6587\u5b57\u5217\u300d\u306e\u3053\u3068\u3067\u3042\u308b\u3002\u9577\u3055 \u306e\u6587\u5b57\u5217\u306e Suffix \u306f \u7a2e\u985e\u3042\u308b (\u672b\u5c3e\u304b\u3089\u672b\u5c3e\u3068\u3044\u3046\u7a7a\u6587\u5b57\u5217\u3082\u542b\u3080)\u3002 Suffix Array \u3068\u306f\u3001\u3053\u308c\u3089 \u500b\u306e Suffix \u3092\u8f9e\u66f8\u9806\u306b\u30bd\u30fc\u30c8\u3057\u305f\u3082\u306e\u3060\u3002\u305f\u3068\u3048\u3070\u3001 = poporinri (9 \u6587\u5b57) \u306e\u5834\u5408\u3001Suffix Array \u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308b\u3002 0\uff1a (9 \u6587\u5b57\u76ee\u4ee5\u964d\u3001\u7a7a\u6587\u5b57\u5217) 1\uff1ai (\u2026","height":"190","author_name":"drken1215","version":"1.0","url":"https://drken1215.hatenablog.com/entry/2022/12/15/022900","title":"AtCoder Library Practice Contest I - Number of Substrings (2D)","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fdrken1215.hatenablog.com%2Fentry%2F2022%2F12%2F15%2F022900\" title=\"AtCoder Library Practice Contest I - Number of Substrings (2D) - \u3051\u3093\u3061\u3087\u3093\u306e\u7af6\u30d7\u30ed\u7cbe\u9032\u8a18\u9332\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","width":"100%","type":"rich","blog_url":"https://drken1215.hatenablog.com/"}