{"id":168,"date":"2010-03-20T13:16:00","date_gmt":"2010-03-20T05:16:00","guid":{"rendered":"http:\/\/localhost\/?p=168"},"modified":"2010-03-20T13:16:00","modified_gmt":"2010-03-20T05:16:00","slug":"jsoi2009count","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/wjmzbmr\/?p=168","title":{"rendered":"[JSOI2009]Count"},"content":{"rendered":"\n<p>[JSOI2009]Count<\/p>\n<p>Time Limit:10000MS&#160; Memory Limit:65536K<br \/>Total Submit:16 Accepted:15 <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\/1452_1.jpg\" \/> <\/p>\n<p><strong>Input <\/strong><\/p>\n<p> <img decoding=\"async\" src=\"http:\/\/61.187.179.132:8080\/JudgeOnline\/images\/1452_2.jpg\" \/> <\/p>\n<p><strong>Output <\/strong><\/p>\n<p> <img decoding=\"async\" src=\"http:\/\/61.187.179.132:8080\/JudgeOnline\/images\/1452_3.jpg\" \/> <\/p>\n<p><strong>Sample Input <\/strong><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/61.187.179.132:8080\/JudgeOnline\/images\/1452_4.jpg\" \/><\/p>\n<p><strong>Sample Output <\/strong><\/p>\n<p>1<br \/>2<\/p>\n<p><strong>Hint <\/strong><\/p>\n<p> <img decoding=\"async\" src=\"http:\/\/61.187.179.132:8080\/JudgeOnline\/images\/1452_5.jpg\" \/> <\/p>\n<p><strong>Source <\/strong><\/p>\n<p> JSOI2009Day1<br \/><a href=\"http:\/\/61.187.179.132:8080\/JudgeOnline\/showproblem?problem_id=1452\" target=\"_blank\">61.187.179.132:8080\/JudgeOnline\/showproblem<br \/><\/a><\/p>\n<p>\u6211\u5df2\u7ecf\u83dc\u5230\u53ea\u4f1a\u505a\u6c34\u9898\u4e86\u3002\u3002\u53c8\u770b\u4e86\u4e24\u9053\u9898\u3002\u3002\u90fd\u4e0d\u4f1a\u56e7\u3002\u3002\u53ea\u597d\u628a\u9898\u76ee\u6309\u901a\u8fc7\u4eba\u6570\u6392\u5e8f\u4e86\u4e00\u4e0b\u56e7\u3002\u3002<br \/>\u8fd9\u9053\u9898\u4e0d\u77e5\u9053\u6709\u6ca1\u6709\u4ec0\u4e48\u66f4\u597d\u7684\u529e\u6cd5\u3002\u6211\u4e0d\u7ba1\u4e09\u4e03\u4e8c\u5341\u4e00\u76f4\u63a5\u4e0a\u4e8c\u7ef4\u6811\u72b6\u6570\u7ec4\u4e86\u3002\u4e8c\u7ef4\u6811\u72b6\u6570\u7ec4\u672c\u8d28\u4e0a\u8ddf\u4e00\u7ef4\u7684\u4e5f\u5dee\u4e0d\u591a\u3002\u3002\u5c31\u662f\u5bf9\u6bcf\u4e2a\u989c\u8272\u90fd\u7ef4\u62a4\u4e00\u4e2a\u6811\u72b6\u6570\u7ec4\uff0c\u7136\u540e\u5176\u4ed6\u5c31\u597d\u8bf4\u4e86\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 \/>#define rep(i,n) for(int i=0;i&lt;n;i++)<br \/>#define pb push_back<br \/>using namespace std;<br \/>const int inf=~0U&gt;&gt;1,maxn=301,maxc=100;<br \/>int n,m;<br \/>struct Board<br \/>{<br \/>    int C[maxn][maxn];<br \/>    Board(){memset(C,0,sizeof(C));}<br \/>    void change(int i,int j,int d)<br \/>    {<br \/>        for(int x=i;x&lt;=n;x+=x&amp;-x)<br \/>            for(int y=j;y&lt;=n;y+=y&amp;-y)<br \/>                C[x][y]+=d;<br \/>    }<br \/>    int sum(int i,int j)<br \/>    {<br \/>        int Ans=0;<br \/>        for(int x=i;x&gt;0;x-=x&amp;-x)<br \/>            for(int y=j;y&gt;0;y-=y&amp;-y)<br \/>                Ans+=C[x][y];<br \/>        return Ans;<br \/>    }<br \/>    int sum(int x0,int y0,int x1,int y1)<br \/>    {<br \/>        return sum(x1,y1)-sum(x1,y0-1)-sum(x0-1,y1)+sum(x0-1,y0-1);<br \/>    }<br \/>}C[maxc];<br \/>int M[maxn][maxn];<br \/>void Change(int x,int y,int c)<br \/>{<br \/>    int o=M[x][y];<br \/>    C[o].change(x,y,-1);<br \/>    C.change(x,y,1);<br \/>    M[x][y]=c;<br \/>}<br \/>int main()<br \/>{<br \/>    \/\/freopen(&quot;in&quot;,&quot;r&quot;,stdin);<br \/>    cin&gt;&gt;n&gt;&gt;m;int c;<br \/>    for(int i=1;i&lt;=n;i++)<br \/>        for(int j=1;j&lt;=m;j++)<br \/>        {<br \/>            scanf(&quot;%d&quot;,&amp;c);&#8211;c;<br \/>            C.change(i,j,1);<br \/>            M[i][j]=c;<br \/>        }<br \/>    int p,t,x,y,x0,y0,x1,y1;cin&gt;&gt;p;<br \/>    while(p&#8211;)<br \/>    {<br \/>        scanf(&quot;%d&quot;,&amp;t);<br \/>        if(t==1)<br \/>            scanf(&quot;%d %d %d&quot;,&amp;x,&amp;y,&amp;c),Change(x,y,c-1);<br \/>        else<br \/>            scanf(&quot;%d %d %d %d %d&quot;,&amp;x0,&amp;x1,&amp;y0,&amp;y1,&amp;c),printf(&quot;%dn&quot;,C[c-1].sum(x0,y0,x1,y1));<br \/>    }<br \/>}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[JSOI2009]Count Time Limit:10000MS&#160; Memory Limit:65536KTotal Submit:16 Accepted:15 Case Time Limit:1000MS Description Input Output Sample Input Sample Output 12 Hint Source JSOI2009Day161.187.179.132:8080\/JudgeOnline\/showproblem \u6211\u5df2\u7ecf\u83dc\u5230\u53ea\u4f1a\u505a\u6c34\u9898\u4e86\u3002\u3002\u53c8\u770b\u4e86\u4e24\u9053\u9898\u3002\u3002\u90fd\u4e0d\u4f1a\u56e7\u3002\u3002\u53ea\u597d\u628a\u9898\u76ee\u6309\u901a\u8fc7\u4eba\u6570\u6392\u5e8f\u4e86\u4e00\u4e0b\u56e7\u3002\u3002\u8fd9\u9053\u9898\u4e0d\u77e5\u9053\u6709\u6ca1\u6709\u4ec0\u4e48\u66f4\u597d\u7684\u529e\u6cd5\u3002\u6211\u4e0d\u7ba1\u4e09\u4e03\u4e8c\u5341\u4e00\u76f4\u63a5\u4e0a\u4e8c\u7ef4\u6811\u72b6\u6570\u7ec4\u4e86\u3002\u4e8c\u7ef4\u6811\u72b6\u6570\u7ec4\u672c\u8d28\u4e0a\u8ddf\u4e00\u7ef4\u7684\u4e5f\u5dee\u4e0d\u591a\u3002\u3002\u5c31\u662f\u5bf9\u6bcf\u4e2a\u989c\u8272\u90fd\u7ef4\u62a4\u4e00\u4e2a\u6811\u72b6\u6570\u7ec4\uff0c\u7136\u540e\u5176\u4ed6\u5c31\u597d\u8bf4\u4e86\u3002\u3002Code\uff1a #include&lt;cstdio&gt;#include&lt;iostream&gt;#include&lt;algorithm&gt;#include&lt;string&gt;#include&lt;vector&gt;#include&lt;cstring&gt;#define rep(i,n) for(int i=0;i&lt;n;i++)#define pb push_backusing namespace std;const int inf=~0U&gt;&gt;1,maxn=301,maxc=100;int n,m;struct Board{ int C[maxn][maxn]; Board(){memset(C,0,sizeof(C));} void change(int i,int j,int d) { for(int x=i;x&lt;=n;x+=x&amp;-x) for(int y=j;y&lt;=n;y+=y&amp;-y) C[x][y]+=d; } int sum(int i,int j) { 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\/168"}],"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=168"}],"version-history":[{"count":0,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts\/168\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}