日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

jzoj1282-资源勘探【统计】

發(fā)布時(shí)間:2023/12/3 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jzoj1282-资源勘探【统计】 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

正題

題目鏈接:https://gmoj.net/senior/#contest/show/3146/2


題目大意

一個(gè)以左上角為端點(diǎn)的子矩形價(jià)值定義為區(qū)間內(nèi)唯一的數(shù)的數(shù)量,求所有子矩形的權(quán)值和。


解題思路

考慮每個(gè)數(shù)字的貢獻(xiàn),對(duì)于相同的數(shù)字,產(chǎn)生貢獻(xiàn)的右下角一定是一個(gè)若干個(gè)矩形。我們對(duì)于每個(gè)數(shù)存一個(gè)hi,li,rih_i,l_i,r_ihi?,li?,ri?表示上一個(gè)有貢獻(xiàn)的點(diǎn)的xxx坐標(biāo),在li~ril_i\sim r_ili?ri?范圍可以產(chǎn)生貢獻(xiàn)。

然后統(tǒng)計(jì)即可,時(shí)間復(fù)雜度O(nm)O(nm)O(nm)


codecodecode

#include<cstdio> #include<cstring> #include<algorithm> #define ll long long using namespace std; const ll N=1110,XJQ=19900907; ll n,m,h[N*N],r[N*N],l[N*N],ans; int main() {scanf("%lld%lld",&n,&m);for(ll i=1;i<=n;i++){for(ll j=1;j<=m;j++){ll x;scanf("%lld",&x);if(!h[x]){h[x]=i;l[x]=j;r[x]=m+1;}else if(j<l[x]){(ans+=(i-h[x])*(r[x]-l[x])%XJQ)%=XJQ;h[x]=i;r[x]=l[x];l[x]=j;}else if(j<r[x]){(ans+=(i-h[x])*(r[x]-j)%XJQ)%=XJQ;r[x]=j;}}}for(ll i=1;i<=n*m;i++)if(h[i])(ans+=(n-h[i]+1)*(r[i]-l[i])%XJQ)%=XJQ;printf("%lld",ans); }

總結(jié)

以上是生活随笔為你收集整理的jzoj1282-资源勘探【统计】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。