{"id":89,"date":"2010-02-06T20:17:00","date_gmt":"2010-02-06T12:17:00","guid":{"rendered":"http:\/\/localhost\/?p=89"},"modified":"2010-02-06T20:17:00","modified_gmt":"2010-02-06T12:17:00","slug":"topcoder_srm_459_div2","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/wjmzbmr\/?p=89","title":{"rendered":"TopCoder SRM 459 DIV2"},"content":{"rendered":"<p> \u7ecf\u795e\u725b\u6307\u70b9\u3002\u3002\u6ce8\u518c\u4e86topcoder\u3002\u3002\u4eca\u5929\u6709\u6bd4\u8d5b\u7684\u6837\u5b50\u3002\u3002\u6240\u4ee5\u5148\u505a\u4e2a\u4e0a\u6b21\u7684\u6bd4\u8d5b\u627e\u627e\u611f\u89c9\u3002\u3002<br \/>1\uff1a<br \/>\u76f4\u63a5\u8ba1\u7b97\u3002\u3002\u5f88easy\u554a\u3002\u3002<br \/>#include&lt;cstdio&gt;<br \/>#include&lt;cmath&gt;<br \/>using namespace std;<br \/>class RecursiveFigures<br \/>{<br \/>public:<br \/>double getArea(int len,int k)<br \/>{<br \/>double ans=0;double d2=len*len,p=acos(0);<br \/>for(int i=0;i&lt;k;i++)<br \/>{<br \/>d2\/=2;<br \/>ans+=d2*p-d2;<br \/>}<br \/>ans+=d2;<br \/>return ans;<br \/>}<br \/>};<br \/>2\uff1a<br \/>\u626b\u63cf\u7ebf\u3002\u3002\u628a\u6bcf\u4e2a\u65b9\u7a0b\u770b\u6210\u4e00\u4e2a\u7ebf\u6bb5\u3002\u3002\u90a3\u4e48\u5c31\u53d8\u6210\u4e86\u5728\u5e73\u9762\u4e0a\u627e\u4e00\u4e2a\u70b9\u5728\u6700\u591a\u7684\u7ebf\u6bb5\u4e2d\u4e86\u3002\u3002<br \/>\u7136\u540e\u4ece\u5de6\u5f80\u53f3\u626b\u63cf\u5c31OK\u4e86\u3002\u3002\u6ce8\u610f\u53ef\u80fd\u90a3\u4e2a\u70b9\u4e0d\u662f\u6574\u6570\u3002\u3002\u8f6c\u6362\u7684\u65f6\u5019+\/-\u4e2a0.5\u5c31OK\u4e86\u3002\u3002<br \/>#include&lt;string&gt;<br \/>#include&lt;vector&gt;<br \/>#include&lt;algorithm&gt;<br \/>#include&lt;iostream&gt;<br \/>#include&lt;sstream&gt;<br \/>using namespace std;<br \/>typedef vector&lt;string&gt;::iterator it;<br \/>class Inequalities<br \/>{<br \/>struct event<br \/>{<br \/>double x;int a;<br \/>event(double _x,int _a):x(_x),a(_a){}<br \/>bool operator&lt;(const event&amp;o) const<br \/>{return x&lt;o.x;}<br \/>};<br \/>vector&lt;event&gt; list;<br \/>typedef vector&lt;event&gt;::iterator lit;<br \/>void add(double l,double r)<br \/>{<br \/>list.push_back(event(l,1));<br \/>list.push_back(event(r,-1));<br \/>}<br \/>void deal(const string&amp;a)<br \/>{<br \/>istringstream in(a,istringstream::in);string tmp;<br \/>in&gt;&gt;tmp;int x;in&gt;&gt;tmp;in&gt;&gt;x;<br \/>if(tmp==&quot;&lt;&quot;) add(-1,x);<br \/>if(tmp==&quot;&lt;=&quot;) add(-1,x+0.5);<br \/>if(tmp==&quot;=&quot;) add(x,x+0.5);<br \/>if(tmp==&quot;&gt;&quot;) add(x+0.5,1001);<br \/>if(tmp==&quot;&gt;=&quot;) add(x,1001);<br \/>}<br \/>public:<br \/>int maximumSubset(vector&lt;string&gt; Is)<br \/>{<br \/>for(it i=Is.begin();i!=Is.end();i++)<br \/>{<br \/>deal(*i);<br \/>}<br \/>sort(list.begin(),list.end());int ans=0,now=0;double last=-1;<br \/>for(lit i=list.begin();i!=list.end();i++)<br \/>{<br \/>if(i-&gt;x!=last){ans=max(ans,now);last=i-&gt;x;}<br \/>now+=i-&gt;a;<br \/>}<br \/>ans=max(ans,now);<br \/>return ans;<br \/>}<br \/>};<br \/>3\uff1a\u8fd8\u662f\u6c34\u9898\u3002\u3002\u8bbedp(i,k)\u4f7f\u4ecei\u70b9\u7ecf\u8fc7k\u6761\u8fb9\u51fa\u53bb\u7684\u6982\u7387\u3002\u3002\u3002\u7136\u540e\u76f4\u63a5dp\u5c31\u53ef\u4ee5\u4e86\u3002\u3002<br \/>\u8fd9\u4e2a\u56fe\u662f\u65e0\u73af\u7684\u3002\u3002\u6211\u8fd8\u4ee5\u4e3a\u662f\u6709\u73af\u7684\u51c6\u5907\u89e3\u65b9\u7a0b\u7684\u8bf4\u3002\u3002\u6c34\u554a\u3002\u3002<br \/>\u90a3\u4e48\u6839\u636e\u6761\u4ef6\u6982\u7387\u516c\u5f0f\uff0c\u7b54\u6848\u5c31\u662fdp (start,k)\/sum{dp(all i,k)}\u3002\u3002<br \/>#include&lt;vector&gt;<br \/>#include&lt;cstring&gt;<br \/>#include&lt;string&gt;<br \/>using namespace std;<br \/>const int maxn=50;<br \/>class ParkAmusement<br \/>{<br \/>vector&lt;string&gt; map;<br \/>int n;<br \/>bool e(int x){return map[x][x]==&#8217;E&#8217;;}<br \/>bool p(int x){return map[x][x]==&#8217;P&#8217;;}<br \/>bool c(int x,int y){return map[x][y]==&#8217;1&#8242;;}<br \/>double dp[maxn][maxn];<br \/>bool save[maxn][maxn];<br \/>double pro(int pos,int len)<br \/>{<br \/>double&amp;ans=dp[pos][len];<br \/>if(save[pos][len]) return ans;<br \/>save[pos][len]=true;<br \/>if(p(pos)) return ans=0;<br \/>if(e(pos)) return ans=(len==0?1:0);<br \/>if(len==0) return ans=0;<br \/>double sum=0;int num=0;<br \/>for(int i=0;i&lt;n;i++)<br \/>if(c(pos,i))<br \/>{<br \/>sum+=pro(i,len-1);<br \/>num++;<br \/>}<br \/>if(num==0) return ans=0;<br \/>return ans=sum\/num;<br \/>}<br \/>public:<br \/>double getProbability(vector&lt;string&gt; land,int start,int k)<br \/>{<br \/>map=land;n=map.size();<br \/>memset(save,0,sizeof(save));double p=pro(start,k);double sum=0;<br \/>for(int i=0;i&lt;n;i++) sum+=pro(i,k);<br \/>return p\/sum;<br \/>}<br \/>};<br \/>DIV2\u7684\u9898\u76ee\u597d\u6c34\u7684\u8bf4\u3002\u3002\u4f46\u662fDIV\u7684\u9898\u76ee\u7b2c\u4e00\u9898\u8fd8\u597d\u8bf4\u3002\u3002\u7b2c\u4e8c\u9898\u6211\u5c31\u5434\u5b87\u68ee\u4e86\u3002\u3002\u3002 <\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7ecf\u795e\u725b\u6307\u70b9\u3002\u3002\u6ce8\u518c\u4e86topcoder\u3002\u3002\u4eca\u5929\u6709\u6bd4\u8d5b\u7684\u6837\u5b50\u3002\u3002\u6240\u4ee5\u5148\u505a\u4e2a\u4e0a\u6b21\u7684\u6bd4\u8d5b\u627e\u627e\u611f\u89c9\u3002\u30021\uff1a\u76f4\u63a5\u8ba1\u7b97\u3002\u3002\u5f88easy\u554a\u3002\u3002#include&lt;cstdio&gt;#include&lt;cmath&gt;using namespace std;class RecursiveFigures{public:double getArea(int len,int k){double ans=0;double d2=len*len,p=acos(0);for(int i=0;i&lt;k;i++){d2\/=2;ans+=d2*p-d2;}ans+=d2;return ans;}};2\uff1a\u626b\u63cf\u7ebf\u3002\u3002\u628a\u6bcf\u4e2a\u65b9\u7a0b\u770b\u6210\u4e00\u4e2a\u7ebf\u6bb5\u3002\u3002\u90a3\u4e48\u5c31\u53d8\u6210\u4e86\u5728\u5e73\u9762\u4e0a\u627e\u4e00\u4e2a\u70b9\u5728\u6700\u591a\u7684\u7ebf\u6bb5\u4e2d\u4e86\u3002\u3002\u7136\u540e\u4ece\u5de6\u5f80\u53f3\u626b\u63cf\u5c31OK\u4e86\u3002\u3002\u6ce8\u610f\u53ef\u80fd\u90a3\u4e2a\u70b9\u4e0d\u662f\u6574\u6570\u3002\u3002\u8f6c\u6362\u7684\u65f6\u5019+\/-\u4e2a0.5\u5c31OK\u4e86\u3002\u3002#include&lt;string&gt;#include&lt;vector&gt;#include&lt;algorithm&gt;#include&lt;iostream&gt;#include&lt;sstream&gt;using namespace std;typedef vector&lt;string&gt;::iterator it;class Inequalities{struct event{double x;int a;event(double _x,int _a):x(_x),a(_a){}bool operator&lt;(const event&amp;o) const{return x&lt;o.x;}};vector&lt;event&gt; list;typedef vector&lt;event&gt;::iterator lit;void add(double l,double r){list.push_back(event(l,1));list.push_back(event(r,-1));}void deal(const string&amp;a){istringstream in(a,istringstream::in);string tmp;in&gt;&gt;tmp;int x;in&gt;&gt;tmp;in&gt;&gt;x;if(tmp==&quot;&lt;&quot;) add(-1,x);if(tmp==&quot;&lt;=&quot;) add(-1,x+0.5);if(tmp==&quot;=&quot;) add(x,x+0.5);if(tmp==&quot;&gt;&quot;) add(x+0.5,1001);if(tmp==&quot;&gt;=&quot;) add(x,1001);}public:int maximumSubset(vector&lt;string&gt; Is){for(it i=Is.begin();i!=Is.end();i++){deal(*i);}sort(list.begin(),list.end());int ans=0,now=0;double last=-1;for(lit i=list.begin();i!=list.end();i++){if(i-&gt;x!=last){ans=max(ans,now);last=i-&gt;x;}now+=i-&gt;a;}ans=max(ans,now);return ans;}};3\uff1a\u8fd8\u662f\u6c34\u9898\u3002\u3002\u8bbedp(i,k)\u4f7f\u4ecei\u70b9\u7ecf\u8fc7k\u6761\u8fb9\u51fa\u53bb\u7684\u6982\u7387\u3002\u3002\u3002\u7136\u540e\u76f4\u63a5dp\u5c31\u53ef\u4ee5\u4e86\u3002\u3002\u8fd9\u4e2a\u56fe\u662f\u65e0\u73af\u7684\u3002\u3002\u6211\u8fd8\u4ee5\u4e3a\u662f\u6709\u73af\u7684\u51c6\u5907\u89e3\u65b9\u7a0b\u7684\u8bf4\u3002\u3002\u6c34\u554a\u3002\u3002\u90a3\u4e48\u6839\u636e\u6761\u4ef6\u6982\u7387\u516c\u5f0f\uff0c\u7b54\u6848\u5c31\u662fdp (start,k)\/sum{dp(all i,k)}\u3002\u3002#include&lt;vector&gt;#include&lt;cstring&gt;#include&lt;string&gt;using namespace std;const int maxn=50;class ParkAmusement{vector&lt;string&gt; [&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\/89"}],"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=89"}],"version-history":[{"count":0,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts\/89\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=89"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=89"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=89"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}