{"id":214,"date":"2010-04-04T15:00:00","date_gmt":"2010-04-04T07:00:00","guid":{"rendered":"http:\/\/localhost\/?p=214"},"modified":"2010-04-04T15:00:00","modified_gmt":"2010-04-04T07:00:00","slug":"usaco2009_febrevamping_trails","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/wjmzbmr\/?p=214","title":{"rendered":"[Usaco2009 Feb]Revamping Trails"},"content":{"rendered":"\n<p>[Usaco2009 Feb]Revamping  Trails<\/p>\n<p>Time Limit:10000MS&#160; Memory Limit:65536K<br \/>Total Submit:43 Accepted:13 <br \/>Case Time Limit:1000MS<\/p>\n<p><strong>Description <\/strong><\/p>\n<p> \u6bcf\u5929,\u519c\u592bJohn\u9700\u8981\u7ecf\u8fc7\u4e00\u4e9b\u9053\u8def\u53bb\u68c0\u67e5\u725b\u68daN\u91cc\u9762\u7684\u725b. \u519c\u573a\u4e0a\u6709M(1&lt;=M&lt;=50,000)\u6761\u53cc\u5411 <br \/>\u6ce5\u571f\u9053\u8def,\u7f16\u53f7\u4e3a1..M. \u9053\u8defi\u8fde\u63a5\u725b\u68daP1_i\u548cP2_i (1 &lt;= P1_i &lt;= N; 1 &lt;=  P2_i&lt;= N). <br \/>John\u9700\u8981T_i (1 &lt;= T_i &lt;= 1,000,000)\u65f6\u95f4\u5355\u4f4d\u7528\u9053\u8defi\u4eceP1_i\u8d70\u5230P2_i\u6216\u8005\u4eceP2_i <br \/>\u8d70\u5230P\uff11_i <\/p>\n<p>\u4ed6\u60f3\u66f4\u65b0\u4e00\u4e9b\u8def\u7ecf\u6765\u51cf\u5c11\u6bcf\u5929\u82b1\u5728\u8def\u4e0a\u7684\u65f6\u95f4.\u5177\u4f53\u5730\u8bf4,\u4ed6\u60f3\u66f4\u65b0K (1 &lt;= K &lt;= 20)\u6761\u8def\u7ecf\uff0c <br \/>\u5c06\u5b83\u4eec\u6240\u987b\u65f6\u95f4\u51cf\u4e3a\uff10\uff0e\u5e2e\u52a9FJ\u9009\u62e9\u54ea\u4e9b\u8def\u7ecf\u9700\u8981\u66f4\u65b0\u4f7f\u5f97\u4ece\uff11\u5230N\u7684\u65f6\u95f4\u5c3d\u91cf\u5c11. <\/p>\n<p><strong>Input <\/strong><\/p>\n<p> * \u7b2c\u4e00\u884c: \u4e09\u4e2a\u7a7a\u683c\u5206\u5f00\u7684\u6570: N, M, \u548c K <\/p>\n<p>* \u7b2c2..M+1\u884c: \u7b2ci+1\u884c\u6709\u4e09\u4e2a\u7a7a\u683c\u5206\u5f00\u7684\u6570\uff1aP1_i, P2_i, \u548c T_i <\/p>\n<p><strong>Output <\/strong><\/p>\n<p> * \u7b2c\u4e00\u884c: \u66f4\u65b0\u6700\u591a\uff2b\u6761\u8def\u7ecf\u540e\u7684\u6700\u77ed\u8def\u7ecf\u957f\u5ea6\uff0e<\/p>\n<p><strong>Sample Input <\/strong><\/p>\n<p>4 4 1<br \/>1 2 10<br \/>2 4 10<br \/>1 3 1<br \/>3 4 100<\/p>\n<p><strong>Sample Output <\/strong><\/p>\n<p>1<\/p>\n<p><strong>Hint <\/strong><\/p>\n<p> K\u662f1; \u66f4\u65b0\u9053\u8def3-&gt;4\u4f7f\u5f97\u4ece\uff13\u5230\uff14\u7684\u65f6\u95f4\u7531\uff11\uff10\uff10\u51cf\u5c11\u5230\uff10. \u6700\u65b0\u6700\u77ed\u8def\u7ecf\u662f1-&gt;3-&gt;4,\u603b\u7528\u65f6 <br \/>\u4e3a\uff11\u5355\u4f4d. <br \/>N&lt;=10000<\/p>\n<p><strong>Source <\/strong><\/p>\n<p> Gold<br \/>\u8fd9\u4e2a\u5f88\u660e\u663e\u662f\u5206\u5c42\u56fe\u7684\u6700\u77ed\u8def\uff0c\u4e0d\u8fc7\u6211\u7684\u505a\u6cd5\u6709\u70b9\u8be1\u5f02\u3002\u5c31\u662f\u5bf9\u6bcf\u4e00\u5c42\u7528dijstra\u7b97\u51fa\u6700\u77ed\u8def\u4e4b\u540e\u518d\u66f4\u65b0\u4e0b\u4e00\u5c42\u3002\u90a3\u6837\u7a7a\u95f4\u6d88\u8017\u5f88\u4f4e\u800c\u4e14\u901f\u5ea6\u6bd4\u6807\u7a0b\u5feb\u4e00\u500d\u6655\u3002\u3002<br \/>Code\uff1a<\/p>\n<p>#include&lt;cstdio&gt;<br \/>#include&lt;iostream&gt;<br \/>#include&lt;algorithm&gt;<br \/>#include&lt;string&gt;<br \/>#include&lt;vector&gt;<br \/>#include&lt;cstring&gt;<br \/>#include&lt;queue&gt;<br \/>#define rep(i,n) for(int i=0;i&lt;n;i++)<br \/>#define pb push_back<br \/>using namespace std;<br \/>const int maxn=10000+10;<br \/>typedef long long ll;<br \/>const ll inf=ll(1)&lt;&lt;60;<br \/>struct Edge<br \/>{<br \/>    int t,c;<br \/>    Edge(int _t,int _c):t(_t),c(_c){}<br \/>};<br \/>vector&lt;Edge&gt; E[maxn];<br \/>typedef vector&lt;Edge&gt;::iterator eit;<br \/>void InsEdge(int s,int t,int c){E[s].pb(Edge(t,c));E[t].pb(Edge(s,c));}<br \/>int n,m,k;<br \/>ll Dp[2][maxn];<br \/>struct State<br \/>{<br \/>    int p;ll c;<br \/>    State(int _p,ll _c):p(_p),c(_c){}<br \/>    bool operator&lt;(const State&amp;o)const<br \/>    {return c&gt;o.c;}<br \/>};<br \/>priority_queue&lt;State&gt; Q;<br \/>int main()<br \/>{<br \/>    cin&gt;&gt;n&gt;&gt;m&gt;&gt;k;int s,t,c;<br \/>    rep(i,m)scanf(&quot;%d %d %d&quot;,&amp;s,&amp;t,&amp;c),InsEdge(s-1,t-1,c);<br \/>    int now=0,next=1;rep(i,n)Dp[next][i]=inf;Dp[next][0]=0;<br \/>    rep(o,k+1)<br \/>    {<br \/>        swap(now,next);<br \/>        rep(i,n)if(Dp[now][i]!=inf) Q.push(State(i,Dp[now][i]));<br \/>        \/\/Update now<br \/>        while(Q.size())<br \/>        {<br \/>            State t=Q.top();Q.pop();if(Dp[now][t.p]!=t.c)continue;<br \/>            Dp[now][t.p]=t.c;int ncost;<br \/>            for(eit e=E[t.p].begin();e!=E[t.p].end();++e)<br \/>                if((ncost=t.c+e-&gt;c)&lt;Dp[now][e-&gt;t])<br \/>                    Dp[now][e-&gt;t]=ncost,Q.push(State(e-&gt;t,ncost));<br \/>        }<br \/>        \/\/Update next<br \/>        rep(i,n) Dp[next][i]=Dp[now][i];<br \/>        rep(i,n) for(eit e=E[i].begin();e!=E[i].end();e++)<br \/>            Dp[next][e-&gt;t]&lt;?=Dp[now][i];<br \/>    }<br \/>    cout&lt;&lt;Dp[now][n-1]&lt;&lt;endl;<br \/>}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[Usaco2009 Feb]Revamping Trails Time Limit:10000MS&#160; Memory Limit:65536KTotal Submit:43 Accepted:13 Case Time Limit:1000MS Description \u6bcf\u5929,\u519c\u592bJohn\u9700\u8981\u7ecf\u8fc7\u4e00\u4e9b\u9053\u8def\u53bb\u68c0\u67e5\u725b\u68daN\u91cc\u9762\u7684\u725b. \u519c\u573a\u4e0a\u6709M(1&lt;=M&lt;=50,000)\u6761\u53cc\u5411 \u6ce5\u571f\u9053\u8def,\u7f16\u53f7\u4e3a1..M. \u9053\u8defi\u8fde\u63a5\u725b\u68daP1_i\u548cP2_i (1 &lt;= P1_i &lt;= N; 1 &lt;= P2_i&lt;= N). John\u9700\u8981T_i (1 &lt;= T_i &lt;= 1,000,000)\u65f6\u95f4\u5355\u4f4d\u7528\u9053\u8defi\u4eceP1_i\u8d70\u5230P2_i\u6216\u8005\u4eceP2_i \u8d70\u5230P\uff11_i \u4ed6\u60f3\u66f4\u65b0\u4e00\u4e9b\u8def\u7ecf\u6765\u51cf\u5c11\u6bcf\u5929\u82b1\u5728\u8def\u4e0a\u7684\u65f6\u95f4.\u5177\u4f53\u5730\u8bf4,\u4ed6\u60f3\u66f4\u65b0K (1 &lt;= K &lt;= 20)\u6761\u8def\u7ecf\uff0c \u5c06\u5b83\u4eec\u6240\u987b\u65f6\u95f4\u51cf\u4e3a\uff10\uff0e\u5e2e\u52a9FJ\u9009\u62e9\u54ea\u4e9b\u8def\u7ecf\u9700\u8981\u66f4\u65b0\u4f7f\u5f97\u4ece\uff11\u5230N\u7684\u65f6\u95f4\u5c3d\u91cf\u5c11. Input * \u7b2c\u4e00\u884c: \u4e09\u4e2a\u7a7a\u683c\u5206\u5f00\u7684\u6570: N, M, \u548c K * \u7b2c2..M+1\u884c: \u7b2ci+1\u884c\u6709\u4e09\u4e2a\u7a7a\u683c\u5206\u5f00\u7684\u6570\uff1aP1_i, P2_i, \u548c T_i Output [&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\/214"}],"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=214"}],"version-history":[{"count":0,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts\/214\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}