{"image_url":null,"author_name":"mmxsrup","provider_name":"Hatena Blog","title":"yukicoder No.357 \u54c1\u7269\u306e\u4e26\u3073\u66ff\u3048 (Middle)","published":"2016-08-08 20:50:26","categories":["yukicoder","dp","bitDP"],"url":"https://mmxsrup.hatenablog.com/entry/2016/08/08/205026","height":"190","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fmmxsrup.hatenablog.com%2Fentry%2F2016%2F08%2F08%2F205026\" title=\"yukicoder No.357 \u54c1\u7269\u306e\u4e26\u3073\u66ff\u3048 (Middle) - srup\u306e\u30e1\u30e2\u5e33\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","version":"1.0","type":"rich","author_url":"https://blog.hatena.ne.jp/mmxsrup/","width":"100%","blog_url":"https://mmxsrup.hatenablog.com/","description":"\u554f\u984c \u554f\u984c\u6982\u8981 \u6570\u5b57\u3092\u4e26\u3073\u66ff\u3048\u305f\u6642\u306b\u3001\u6761\u4ef6\u3092\u6e80\u305f\u3057\u3001\u3082\u3063\u3068\u3082\u5f97\u70b9\u3092\u7372\u5f97\u3067\u304d\u308b\u6642\u306e\u5f97\u70b9\u3092\u6c42\u3081\u308b\u3002 \u89e3\u6cd5 \u6570\u5b57\u306e\u6570\u306e\u6700\u5927\u5024\u304c14\u3067\u3042\u308b\u3002\u6570\u5b57\u3092\u3059\u3079\u3066\u4e26\u3073\u66ff\u3048\u308b\u89e3\u6cd5\u3060\u3068\u3001\u8a08\u7b97\u91cf\u304c(n!)\u306b\u306a\u308b\u306e\u3067\u3001TLE\u3002\u305d\u306e\u305f\u3081\u306b\u306f\u8a08\u7b97\u91cf\u3092(2n)\u306b\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3002\u305d\u3053\u3067\u3001\u3069\u306e\u6570\u5b57\u3092\u4f7f\u3063\u3066\u3044\u308b\u304b\u3068\u3044\u3046\u96c6\u5408\u3092\u8003\u3048\u308b\u3002\u305d\u3057\u3066\u8003\u3048\u3066\u3044\u308b\u96c6\u5408\u306b\u5bfe\u3057\u3066\u3001\u96c6\u5408\u306b\u542b\u307e\u308c\u3066\u3044\u306a\u3044\u6570\u5b57\u3092\u96c6\u5408\u306b\u542b\u307e\u308c\u308b\u6570\u5b57\u306e\u672b\u5c3e\u306b\u4ed8\u3051\u52a0\u3048\u308b\u3002\u672b\u5c3e\u306b\u4ed8\u3051\u52a0\u3048\u305f\u6570\u5b57\u306b\u3088\u308a\u3001\u30b9\u30b3\u30a2\u304c\u5897\u3048\u308b\u306e\u3067\u3001\u305d\u306e\u6642\u306e\u96c6\u5408\u306e\u30b9\u30b3\u30a2\u306e\u6700\u5927\u3092\u66f4\u65b0\u3057\u3066\u3044\u304f\u3002 \u5b9f\u969b\u306b\u306f dp[mask] = max(dp[mask], dp[mask ^ (1 << i)] + sum) \u2026","blog_title":"srup\u306e\u30e1\u30e2\u5e33","provider_url":"https://hatena.blog"}