{"version":"1.0","provider_url":"https://hatena.blog","height":"190","blog_url":"https://bouzuya.hatenablog.com/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fbouzuya.hatenablog.com%2Fentry%2F2023%2F06%2F26%2F230919\" title=\"\u5bb6 (Typical DP Contest:M\u554f\u984c) \u3092\u89e3\u3044\u305f - bouzuya.hatenablog.com\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","url":"https://bouzuya.hatenablog.com/entry/2023/06/26/230919","categories":[],"author_url":"https://blog.hatena.ne.jp/bouzuya/","description":"\u5bb6 (Typical DP Contest:M\u554f\u984c) https://atcoder.jp/contests/tdpc/tasks/tdpc_house https://atcoder.jp/contests/tdpc/submissions/42985425 \u89e3\u8aac AC \u4f8b\u306e bitDP \u306e\u9077\u79fb\u3068\u884c\u5217\u306e\u7d2f\u4e57\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u554f\u984c use proconio::input; fn mul(a: &[Vec<usize>], b: &[Vec<usize>], modp: usize) -> Vec<Vec<usize>> { let n = a.len(); let mut c = vec![vec\u2026","author_name":"bouzuya","blog_title":"bouzuya.hatenablog.com","title":"\u5bb6 (Typical DP Contest:M\u554f\u984c) \u3092\u89e3\u3044\u305f","published":"2023-06-26 23:09:19","type":"rich","image_url":null,"width":"100%","provider_name":"Hatena Blog"}