{"id":19,"date":"2022-06-04T10:52:00","date_gmt":"2022-06-04T02:52:00","guid":{"rendered":"http:\/\/ubuntu.tim-wcx.ltd\/wordpress\/index.php\/2022\/06\/04\/2020-09-09-%e6%95%b0%e4%bd%8ddp\/"},"modified":"2022-06-04T10:52:00","modified_gmt":"2022-06-04T02:52:00","slug":"2020-09-09-%e6%95%b0%e4%bd%8ddp","status":"publish","type":"post","link":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/2022\/06\/04\/2020-09-09-%e6%95%b0%e4%bd%8ddp\/","title":{"rendered":"2020-09-09 \u6570\u4f4dDP"},"content":{"rendered":"<p><svg  style=\"display: none;\">\n                        <path stroke-linecap=\"round\" d=\"M5,0 0,2.5 5,5z\" id=\"raphael-marker-block\" style=\"-webkit-tap-highlight-color: rgba(0, 0, 0, 0);\"><\/path>\n                    <\/svg><\/p>\n<p><a href=\"http:\/\/icpc.upc.edu.cn\/problem.php?id=14643\">http:\/\/icpc.upc.edu.cn\/problem.php?id=14643<\/a><\/p>\n<h5><a id=\"_1\"><\/a>\u9898\u76ee\u63cf\u8ff0<\/h5>\n<p>Find the number of integers between 1 and N (inclusive) that contains exactly K non-zero digits when written in base ten.<br \/> Constraints<br \/> \u00b71\u2264N<10100<br \/> \u00b71\u2264K\u22643<\/p>\n<h5><a id=\"_6\"><\/a>\u8f93\u5165<\/h5>\n<p>Input is given from Standard Input in the following format:<br \/> N<br \/> K<\/p>\n<h5><a id=\"_10\"><\/a>\u8f93\u51fa<\/h5>\n<p>Print the count.<\/p>\n<h5><a id=\"_12\"><\/a>\u6837\u4f8b\u8f93\u5165<\/h5>\n<p>\u3010\u6837\u4f8b1\u3011<br \/> 100<br \/> 1<br \/> \u3010\u6837\u4f8b2\u3011<br \/> 25<br \/> 2<br \/> \u3010\u6837\u4f8b3\u3011<br \/> 314159<br \/> 2<br \/> \u3010\u6837\u4f8b4\u3011<br \/> 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999<br \/> 3<\/p>\n<h5><a id=\"_26\"><\/a>\u6837\u4f8b\u8f93\u51fa<\/h5>\n<p>\u3010\u6837\u4f8b1\u3011<br \/> 19<br \/> \u3010\u6837\u4f8b2\u3011<br \/> 14<br \/> \u3010\u6837\u4f8b3\u3011<br \/> 937<br \/> \u3010\u6837\u4f8b4\u3011<br \/> 117879300<\/p>\n<h5><a id=\"_36\"><\/a>\u63d0\u793a<\/h5>\n<p>\u6837\u4f8b1\u89e3\u91ca<br \/> The following 19 integers satisfy the condition:1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100<br \/> \u6837\u4f8b2\u89e3\u91ca<br \/> The following 14 integers satisfy the condition:11,12,13,14,15,16,17,18,19,21,22,23,24,25<\/p>\n<pre><code class=\"prism language-cpp\"><span class=\"token macro property\">#<span class=\"token directive keyword\">include<\/span> <span class=\"token string\"><bits\/stdc++.h><\/span><\/span>\n<span class=\"token keyword\">using<\/span> <span class=\"token keyword\">namespace<\/span> std<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">typedef<\/span> <span class=\"token keyword\">long<\/span> <span class=\"token keyword\">long<\/span> ll<span class=\"token punctuation\">;<\/span>\nll dp<span class=\"token punctuation\">[<\/span><span class=\"token number\">300<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">30<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span><span class=\"token punctuation\">{<!-- --><\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">char<\/span> a<span class=\"token punctuation\">[<\/span><span class=\"token number\">1005<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span><span class=\"token punctuation\">{<!-- --><\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    ll k<span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%s%lld\"<\/span><span class=\"token punctuation\">,<\/span>a<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>k<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll n<span class=\"token operator\">=<\/span><span class=\"token function\">strlen<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    dp<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">int<\/span> i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>i<span class=\"token operator\"><=<\/span><span class=\"token number\">200<\/span><span class=\"token punctuation\">;<\/span>i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        dp<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span>dp<span class=\"token punctuation\">[<\/span>i<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">int<\/span> j<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>j<span class=\"token operator\"><=<\/span><span class=\"token number\">20<\/span><span class=\"token punctuation\">;<\/span>j<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n            dp<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">[<\/span>j<span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span>dp<span class=\"token punctuation\">[<\/span>i<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">[<\/span>j<span class=\"token punctuation\">]<\/span><span class=\"token operator\">+<\/span><span class=\"token number\">9<\/span><span class=\"token operator\">*<\/span>dp<span class=\"token punctuation\">[<\/span>i<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">[<\/span>j<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    ll sum<span class=\"token operator\">=<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span>cnt<span class=\"token operator\">=<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">int<\/span> i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>i<span class=\"token operator\"><=<\/span>n<span class=\"token punctuation\">;<\/span>i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span><span class=\"token string\">'0'<\/span><span class=\"token operator\">&&<\/span>k<span class=\"token operator\">-<\/span>cnt<span class=\"token operator\">>=<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span>\n            sum<span class=\"token operator\">+<\/span><span class=\"token operator\">=<\/span>dp<span class=\"token punctuation\">[<\/span>n<span class=\"token operator\">-<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">[<\/span>k<span class=\"token operator\">-<\/span>cnt<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span><span class=\"token string\">'1'<\/span><span class=\"token operator\">&&<\/span>k<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token operator\">-<\/span>cnt<span class=\"token operator\">>=<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span>\n            sum<span class=\"token operator\">+<\/span><span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token operator\">-<\/span><span class=\"token string\">'0'<\/span><span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">*<\/span>dp<span class=\"token punctuation\">[<\/span>n<span class=\"token operator\">-<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">[<\/span>k<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token operator\">-<\/span>cnt<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span><span class=\"token string\">'0'<\/span><span class=\"token punctuation\">)<\/span>\n            cnt<span class=\"token operator\">++<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>cnt<span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n        sum<span class=\"token operator\">++<\/span><span class=\"token punctuation\">;<\/span>\n    cout<span class=\"token operator\"><<<\/span>sum<span class=\"token operator\"><<<\/span>endl<span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>http:\/\/icpc.upc.edu.cn\/pr&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-19","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/posts\/19","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/comments?post=19"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/posts\/19\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/media?parent=19"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/categories?post=19"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/tags?post=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}