{"author_name":"a_kawashiro","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fa-kawashiro.hatenablog.com%2Fentry%2F20120213%2F1329127809\" title=\"JOI2012\u672c\u90782\u756a - a_kawashiro\u306e\u30d6\u30ed\u30b0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","height":"190","blog_title":"a_kawashiro\u306e\u30d6\u30ed\u30b0","image_url":null,"published":"2012-02-13 19:10:09","author_url":"https://blog.hatena.ne.jp/a_kawashiro/","version":"1.0","blog_url":"https://a-kawashiro.hatenablog.com/","url":"https://a-kawashiro.hatenablog.com/entry/20120213/1329127809","width":"100%","type":"rich","provider_url":"https://hatena.blog","description":"dp[ap=A\u306e\u4f55\u679a\u76ee\u304b][bp=B\u306e\u4f55\u679a\u76ee\u304b]\u3067DP\u3057\u305f\u3002 #include <stdio.h> #include <string.h> #include <algorithm> using namespace std; int dp[5010][5010]; int ac[5010],bc[5010]; int rec(int ap,int bp){ if(ap<0||bp<0) return 0; else if(dp[ap][bp]!=-1) return dp[ap][bp]; else{ int r=rec(ap-1,bp); if(ac[ap]==bc[bp]) r=max(r,\u2026","title":"JOI2012\u672c\u90782\u756a","provider_name":"Hatena Blog","categories":[]}