{"id":226,"date":"2010-04-17T13:15:00","date_gmt":"2010-04-17T05:15:00","guid":{"rendered":"http:\/\/localhost\/?p=226"},"modified":"2010-04-17T13:15:00","modified_gmt":"2010-04-17T05:15:00","slug":"hnoi2009_smallest_circle","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/wjmzbmr\/?p=226","title":{"rendered":"[HNOI2009]\u6700\u5c0f\u5708"},"content":{"rendered":"\n<p>[HNOI2009]\u6700\u5c0f\u5708<\/p>\n<p>Time Limit:10000MS&#160; Memory Limit:65536K<br \/>Total Submit:93 Accepted:37 <br \/>Case Time Limit:1000MS<\/p>\n<p><strong>Description <\/strong><\/p>\n<p> <img decoding=\"async\" src=\"http:\/\/61.187.179.132:8080\/JudgeOnline\/images\/1486_1.jpg\" \/> <\/p>\n<p><img decoding=\"async\" src=\"http:\/\/61.187.179.132:8080\/JudgeOnline\/images\/1486_2.jpg\" \/><\/p>\n<p><strong>Input <\/strong><\/p>\n<\/p>\n<p><strong>Output <\/strong><\/p>\n<\/p>\n<p><strong>Sample Input <\/strong><\/p>\n<p><strong>Sample Output <\/strong><\/p>\n<p><strong>Source<br \/>\u8fd9\u9053\u9898\u662f\u6700\u6700\u57fa\u672c\u7684\u4e8c\u5206\u5224\u5b9a+\u67e5\u627e\u8d1f\u73af\u7684\u95ee\u9898\u4e86\u3002\u3002\u76f4\u63a5\u4e0aDfs\u67e5\u627e\u8d1f\u73af\u5c31OK\u4e86(*^__^*) \u3002\u3002\u3002<br \/>Code\uff1a<br \/><\/strong><\/p>\n<p>#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 \/>#define tr(i,x) for(eit i=x.begin();i!=x.end();i++)<br \/>const int inf=~0U&gt;&gt;1,maxn=3000;<br \/>using namespace std;<br \/>int n,m;<br \/>struct Edge<br \/>{<br \/>    int t;<br \/>    double c,oc;<br \/>    Edge(int _t,double _c):t(_t),oc(_c){}<br \/>};<br \/>typedef vector&lt;Edge&gt;::iterator eit;<br \/>vector&lt;Edge&gt; E[maxn];<br \/>double D;<br \/>bool vis[maxn]={0},Find;<br \/>double Dist[maxn];<br \/>void dfs(int x)<br \/>{<br \/>    vis[x]=true;double cost=Dist[x],ncost;<br \/>    tr(e,E[x])if((ncost=cost+e-&gt;c)&gt;Dist[e-&gt;t])<br \/>    {<br \/>        if(!vis[e-&gt;t]){Dist[e-&gt;t]=ncost;dfs(e-&gt;t);}<br \/>        else Find=true;<br \/>        if(Find)break;<br \/>    }<br \/>    vis[x]=false;<br \/>}<br \/>bool Check(double _D)<br \/>{<br \/>    D=_D;<br \/>    rep(i,n)tr(e,E[i])e-&gt;c=D-e-&gt;oc;<br \/>    Find=false;<br \/>    rep(i,n)Dist[i]=0;<br \/>    rep(i,n){dfs(i);if(Find)return true;}<br \/>    return false;<br \/>}<br \/>int main()<br \/>{<br \/>    \/\/freopen(&quot;in&quot;,&quot;r&quot;,stdin);<br \/>    cin&gt;&gt;n&gt;&gt;m;<br \/>    int s,t;double c;<br \/>    rep(i,m)scanf(&quot;%d %d %lf&quot;,&amp;s,&amp;t,&amp;c),&#8211;s,&#8211;t,E[s].pb(Edge(t,c));<br \/>    double r=1e7,l=-r;<br \/>    while(r-l&gt;1e-9)<br \/>    {<br \/>        double m=(l+r)\/2;<br \/>        if(Check(m))r=m;<br \/>        else l=m;<br \/>    }<br \/>    printf(&quot;%0.8lfn&quot;,l);<br \/>}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[HNOI2009]\u6700\u5c0f\u5708 Time Limit:10000MS&#160; Memory Limit:65536KTotal Submit:93 Accepted:37 Case Time Limit:1000MS Description Input Output Sample Input Sample Output Source\u8fd9\u9053\u9898\u662f\u6700\u6700\u57fa\u672c\u7684\u4e8c\u5206\u5224\u5b9a+\u67e5\u627e\u8d1f\u73af\u7684\u95ee\u9898\u4e86\u3002\u3002\u76f4\u63a5\u4e0aDfs\u67e5\u627e\u8d1f\u73af\u5c31OK\u4e86(*^__^*) \u3002\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_back#define tr(i,x) for(eit i=x.begin();i!=x.end();i++)const int inf=~0U&gt;&gt;1,maxn=3000;using namespace std;int n,m;struct Edge{ int t; double c,oc; Edge(int _t,double _c):t(_t),oc(_c){}};typedef vector&lt;Edge&gt;::iterator eit;vector&lt;Edge&gt; E[maxn];double D;bool vis[maxn]={0},Find;double Dist[maxn];void dfs(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\/226"}],"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=226"}],"version-history":[{"count":0,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts\/226\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}