{"id":243,"date":"2010-05-08T12:27:00","date_gmt":"2010-05-08T04:27:00","guid":{"rendered":"http:\/\/localhost\/?p=243"},"modified":"2010-05-08T12:27:00","modified_gmt":"2010-05-08T04:27:00","slug":"ahoi2007_treasure_house_maze","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/wjmzbmr\/?p=243","title":{"rendered":"[AHOI2007]\u5b9d\u5e93\u8ff7\u5bab"},"content":{"rendered":"<p> <a href=\"http:\/\/www.rqnoj.cn\/Problem_301.html\" target=\"_blank\">www.rqnoj.cn\/Problem_301.html<\/a><br \/>\u6655\u3002\u3002\u7adf\u7136\u6284TopCoder\u7684\u539f\u9898\u3002\u3002<br \/>\u770b\u4e0a\u53bb\u5f88\u96be\uff0c\u56e0\u4e3a10^10\u7684\u641c\u7d22\u662f\u8981\u60b2\u5267\u7684\u3002\u3002\u4f46\u5b9e\u9645\u4e0a\u53ea\u8981\u6bcf\u4e2a\u70b9\u4e2d\u95f4\u70b9\u5411\u5de6\u5411\u53f3\u641c\u51fa10^5\u7684\u8def\u5f84\u7136\u540e\u90fd\u6392\u5e8f\u5c31\u53ef\u4ee5\u76f4\u63a5\u626b\u63cf\u5f97\u51fa\u7ed3\u679c\u4e86\u3002\u3002<br \/>Code\uff1a<br \/>#include &lt;vector&gt;<br \/>#include &lt;algorithm&gt;<br \/>#include &lt;utility&gt;<br \/>#include &lt;iostream&gt;<br \/>#include &lt;cstdio&gt;<br \/>#include &lt;cmath&gt;<br \/>#include &lt;cstdlib&gt;<br \/>#define rep(i,n) for(int i=0;i&lt;n;i++)<br \/>#define pb push_back<br \/>const int inf=~0U&gt;&gt;2,maxn=10,maxp=100000+10;<br \/>using namespace std;<br \/>typedef long long ll;<br \/>typedef unsigned long long ull;<br \/>struct Array<br \/>{<br \/>    double A[maxp];int n;<br \/>    void set(){n=0;}<br \/>    Array(){set();}<br \/>    void add(double x){A[n++]=x;}<br \/>    void Sort(){sort(A,A+n);}<br \/>    double operator[](int v){return A[v];}<br \/>};<br \/>int n;double D[maxn][maxn];<br \/>Array L,R;<br \/>void DfsL(int pos,int d,double now)<br \/>{<br \/>    if(!d){L.add(now);return;}<br \/>    rep(i,n)DfsL(i,d-1,now+D[i][pos]);<br \/>}<br \/>void DfsR(int pos,int d,double now)<br \/>{<br \/>    if(!d){R.add(now);return;}<br \/>    rep(i,n)DfsR(i,d-1,now+D[pos][i]);<br \/>}<br \/>int main()<br \/>{<br \/>    \/\/freopen(&quot;in&quot;,&quot;r&quot;,stdin);<br \/>    cin&gt;&gt;n;rep(i,n)rep(j,n){cin&gt;&gt;D[i][j];}<br \/>    double ans=inf;<br \/>    rep(i,n)<br \/>    {<br \/>        int l=n\/2,r=n-l;<br \/>        L.set();R.set();<br \/>        DfsL(i,l,0);DfsR(i,r,0);<br \/>        L.Sort();R.add(inf);R.add(-inf);R.Sort();int j=R.n-1;<br \/>        for(int i=0;i&lt;L.n;i++)<br \/>        {<br \/>            while(L[i]+R[j]&gt;=2007)j&#8211;;<br \/>            ans=min(ans,2007-L[i]-R[j]);<br \/>            ans=min(ans,L[i]+R[j+1]-2007);<br \/>        }<br \/>    }<br \/>    printf(&quot;%0.2lfn&quot;,ans);<br \/>} <\/p>\n","protected":false},"excerpt":{"rendered":"<p>www.rqnoj.cn\/Problem_301.html\u6655\u3002\u3002\u7adf\u7136\u6284TopCoder\u7684\u539f\u9898\u3002\u3002\u770b\u4e0a\u53bb\u5f88\u96be\uff0c\u56e0\u4e3a10^10\u7684\u641c\u7d22\u662f\u8981\u60b2\u5267\u7684\u3002\u3002\u4f46\u5b9e\u9645\u4e0a\u53ea\u8981\u6bcf\u4e2a\u70b9\u4e2d\u95f4\u70b9\u5411\u5de6\u5411\u53f3\u641c\u51fa10^5\u7684\u8def\u5f84\u7136\u540e\u90fd\u6392\u5e8f\u5c31\u53ef\u4ee5\u76f4\u63a5\u626b\u63cf\u5f97\u51fa\u7ed3\u679c\u4e86\u3002\u3002Code\uff1a#include &lt;vector&gt;#include &lt;algorithm&gt;#include &lt;utility&gt;#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;cmath&gt;#include &lt;cstdlib&gt;#define rep(i,n) for(int i=0;i&lt;n;i++)#define pb push_backconst int inf=~0U&gt;&gt;2,maxn=10,maxp=100000+10;using namespace std;typedef long long ll;typedef unsigned long long ull;struct Array{ double A[maxp];int n; void set(){n=0;} Array(){set();} void add(double x){A[n++]=x;} void Sort(){sort(A,A+n);} double operator[](int v){return A[v];}};int n;double D[maxn][maxn];Array L,R;void DfsL(int pos,int d,double now){ if(!d){L.add(now);return;} rep(i,n)DfsL(i,d-1,now+D[i][pos]);}void DfsR(int pos,int d,double now){ if(!d){R.add(now);return;} rep(i,n)DfsR(i,d-1,now+D[pos][i]);}int [&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\/243"}],"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=243"}],"version-history":[{"count":0,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts\/243\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}