{"id":272,"date":"2010-06-02T17:14:00","date_gmt":"2010-06-02T09:14:00","guid":{"rendered":"http:\/\/localhost\/?p=272"},"modified":"2010-06-02T17:14:00","modified_gmt":"2010-06-02T09:14:00","slug":"510_distinct_substrings","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/wjmzbmr\/?p=272","title":{"rendered":"510. Distinct Substrings"},"content":{"rendered":"\n<p>\u7ed9\u4f60\u4e00\u4e2aN\uff0c\u8ba9\u4f60\u6c42\u6709\u6070\u6709N\u4e2a\u4e0d\u540c\u5b57\u4e32\u7684\uff0c\u5c3d\u53ef\u80fd\u77ed\u7684\uff0c\u5982\u6709\u591a\u4e2a\u5c31\u5b57\u5178\u5e8f\u6700\u5c0f\u7684\u90a3\u4e2a\u7684\u5b57\u7b26\u4e32\u3002\u3002\u3002<br \/>\u6211\u611f\u89c9\u6ca1\u6709\u4efb\u4f55\u601d\u8def\uff0c\u53ea\u80fd\u66b4\u641c\u3002\u3002<br \/>\u80af\u5b9a\u8981\u51cf\u679d\uff0c\u5c31\u662f\u4f30\u8ba1\u4e00\u4e2a\u5f53\u524d\u4ee5\u5f53\u524d\u5b57\u7b26\u4e32\u4e3a\u524d\u7f00\u7684\u6700\u5927\u53ef\u80fd\u7684\u4e0d\u540c\u5b50\u4e32\u6570\u3002\u3002<br \/>\u6211\u4e0d\u77e5\u9053\u5bf9\u4e0d\u5bf9\uff0c\u6211\u662f\u5728\u540e\u9762defghijk\u8fd9\u4e48\u52a0\u4e0a\u53bb\u518d\u7b97\u4e0d\u540c\u5b57\u4e32\u6570\u7684\u3002\u3002<br \/>\u8ba1\u7b97\u4e0d\u540c\u5b57\u4e32\u6570\u7684\u8bdd\u9898\u76ee\u4e2d\u4e5f\u8bf4\u662f\u6807\u51c6\u7684SA\u95ee\u9898\uff0c\u4f46\u6211\u76f4\u63a5\u7528Set\u4e86\u3002\u3002<br \/>Code\uff1a<\/p>\n<p>#include&lt;cstring&gt;#include&lt;iostream&gt;#include&lt;string&gt;#include&lt;cstdlib&gt;#include&lt;set&gt;#define Rep(i,n) for(int i=0;i&lt;n;i++)using namespace std;int n;string C;int Get(const string&amp;a){    set&lt;string&gt; S;int n=a.size();    for(int i=0;i&lt;n;i++)        for(int j=1;i+j&lt;=n;j++)            S.insert(a.substr(i,j));    return S.size();}int Cal(int p,char u){    for(int i=p;i&lt;C.size();i++)        C[i]=++u;    return Get(C);}void Dfs(int p,char u){    int N=Cal(p,u);    if(N&lt;n)return;    if(p==C.size())    {        if(N==n)        {            cout&lt;&lt;C&lt;&lt;endl;            exit(0);        }        return;    }    for(char a=&#8217;a&#8217;;a&lt;=u;a++)    {        C[p]=a;        Dfs(p+1,u);    }    if(u&lt;&#8216;z&#8217;){C[p]=++u;Dfs(p+1,u);}}int main(){    cin&gt;&gt;n;    for(int i=1;;i++)    {        C.resize(i);        Dfs(0,&#8217;a&#8217;-1);    }} <\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7ed9\u4f60\u4e00\u4e2aN\uff0c\u8ba9\u4f60\u6c42\u6709\u6070\u6709N\u4e2a\u4e0d\u540c\u5b57\u4e32\u7684\uff0c\u5c3d\u53ef\u80fd\u77ed\u7684\uff0c\u5982\u6709\u591a\u4e2a\u5c31\u5b57\u5178\u5e8f\u6700\u5c0f\u7684\u90a3\u4e2a\u7684\u5b57\u7b26\u4e32\u3002\u3002\u3002\u6211\u611f\u89c9\u6ca1\u6709\u4efb\u4f55\u601d\u8def\uff0c\u53ea\u80fd\u66b4\u641c\u3002\u3002\u80af\u5b9a\u8981\u51cf\u679d\uff0c\u5c31\u662f\u4f30\u8ba1\u4e00\u4e2a\u5f53\u524d\u4ee5\u5f53\u524d\u5b57\u7b26\u4e32\u4e3a\u524d\u7f00\u7684\u6700\u5927\u53ef\u80fd\u7684\u4e0d\u540c\u5b50\u4e32\u6570\u3002\u3002\u6211\u4e0d\u77e5\u9053\u5bf9\u4e0d\u5bf9\uff0c\u6211\u662f\u5728\u540e\u9762defghijk\u8fd9\u4e48\u52a0\u4e0a\u53bb\u518d\u7b97\u4e0d\u540c\u5b57\u4e32\u6570\u7684\u3002\u3002\u8ba1\u7b97\u4e0d\u540c\u5b57\u4e32\u6570\u7684\u8bdd\u9898\u76ee\u4e2d\u4e5f\u8bf4\u662f\u6807\u51c6\u7684SA\u95ee\u9898\uff0c\u4f46\u6211\u76f4\u63a5\u7528Set\u4e86\u3002\u3002Code\uff1a #include&lt;cstring&gt;#include&lt;iostream&gt;#include&lt;string&gt;#include&lt;cstdlib&gt;#include&lt;set&gt;#define Rep(i,n) for(int i=0;i&lt;n;i++)using namespace std;int n;string C;int Get(const string&amp;a){ set&lt;string&gt; S;int n=a.size(); for(int i=0;i&lt;n;i++) for(int j=1;i+j&lt;=n;j++) S.insert(a.substr(i,j)); return S.size();}int Cal(int p,char u){ for(int i=p;i&lt;C.size();i++) C[i]=++u; return Get(C);}void Dfs(int p,char u){ int N=Cal(p,u); if(N&lt;n)return; if(p==C.size()) { if(N==n) { cout&lt;&lt;C&lt;&lt;endl; exit(0); } return; } for(char a=&#8217;a&#8217;;a&lt;=u;a++) { C[p]=a; Dfs(p+1,u); } if(u&lt;&#8216;z&#8217;){C[p]=++u;Dfs(p+1,u);}}int main(){ cin&gt;&gt;n; for(int i=1;;i++) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts\/272"}],"collection":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=272"}],"version-history":[{"count":0,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts\/272\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}