日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BZOJ1227 [SDOI2009]虔诚的墓主人 【树状数组】

發布時間:2025/4/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ1227 [SDOI2009]虔诚的墓主人 【树状数组】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

小W 是一片新造公墓的管理人。公墓可以看成一塊N×M 的矩形,矩形的每個格點,要么種著一棵常青樹,要么是一塊還沒有歸屬的墓地。當地的居民都是非常虔誠的基督徒,他們愿意提前為自己找一塊合適墓地。為了體現自己對主的真誠,他們希望自己的墓地擁有著較高的虔誠度。一塊墓地的虔誠度是指以這塊墓地為中心的十字架的數目。一個十字架可以看成中間是墓地,墓地的正上、正下、正左、正右都有恰好k 棵常青樹。小W 希望知道他所管理的這片公墓中所有墓地的虔誠度總和是多少

輸入格式

第一行包含兩個用空格分隔的正整數N 和M,表示公墓的寬和長,因此這個矩形公墓共有(N+1) ×(M+1)個格點,左下角的坐標為(0, 0),右上角的坐標為(N, M)。第二行包含一個正整數W,表示公墓中常青樹的個數。第三行起共W 行,每行包含兩個用空格分隔的非負整數xi和yi,表示一棵常青樹的坐標。輸入保證沒有兩棵常青樹擁有相同的坐標。最后一行包含一個正整數k,意義如題目所示。

輸出格式

包含一個非負整數,表示這片公墓中所有墓地的虔誠度總和。為了方便起見,答案對2,147,483,648 取模。

輸入樣例

5 6

13

0 2

0 3

1 2

1 3

2 0

2 1

2 4

2 5

2 6

3 2

3 3

4 3

5 2

2

輸出樣例

6

提示

圖中,以墓地(2, 2)和(2, 3)為中心的十字架各有3個,即它們的虔誠度均為3。其他墓地的虔誠度為0。

所有數據滿足1 ≤ N, M ≤ 1,000,000,000,0 ≤ xi ≤ N,0 ≤ yi ≤ M,1 ≤ W ≤ 100,000, 1 ≤ k ≤ 10。存在50%的數據,滿足1 ≤ k ≤ 2。存在25%的數據,滿足1 ≤ W ≤ 10000。

注意:”恰好有k顆樹“,這里的恰好不是有且只有,而是從>=k的樹中恰好選k棵

題解

題目中的模數等于\(2^31\),所以int自然溢出就相當于取模
我們記一個點上下左右的樹數量為u、d、l、r,則每個點的貢獻是\(C_{u}^{k} * C_ozvdkddzhkzd^{k} * C_{l}^{k} * C_{r}^{k}\)
點的范圍很大,我們將其離散化到100000以內
但總共\(W^2\)個點,不能直接算,但樹只有\(W\)個,考慮從樹出發
我們將所有樹排序后,對于橫坐標相同的兩棵樹之間的點,其式子中的\(C_{u}^{k} * C_ozvdkddzhkzd^{k}\)是一樣的
我們用樹狀數組維護\(C_{l}^{k} * C_{r}^{k}\),就可以加速運算了

#include<iostream> #include<cstdio> #include<algorithm> #define lbt(x) (x & -x) using namespace std; const int maxn = 100005,maxm = 100005,INF = 1000000000; inline int read(){int out = 0,flag = 1; char c = getchar();while (c < 48 || c > 57) {if (c == '-') flag = -1; c = getchar();}while (c >= 48 && c <= 57) {out = (out << 3) + (out << 1) + c - '0'; c = getchar();}return out * flag; } int s[maxn],C[maxn][11],b[maxn],tot,n,k; int U[maxn],D[maxn],L[maxn],R[maxn],V[maxn]; struct point{int x,y;}p[maxn]; int getn(int x){return lower_bound(b + 1,b + 1 + tot,x) - b;} inline bool operator <(const point& a,const point& b){return a.x == b.x ? a.y < b.y : a.x < b.x; } void add(int u,int v){while (u <= tot) s[u] += v,u += lbt(u);} void mus(int u,int v){while (u <= tot) s[u] -= v,u += lbt(u);} int query(int u){int ans = 0; while (u) ans += s[u],u -= lbt(u); return ans;} int sum(int l,int r){return query(r) - query(l - 1);} void cal(){for (int i = 0; i <= n; i++){C[i][0] = C[i][i] = 1;for (int j = 1; j <= i && j <= 10; j++)C[i][j] = C[i - 1][j] + C[i - 1][j - 1];} } void init(){read(); read();n = read();cal();for (int i = 1; i <= n; i++)b[i] = p[i].x = read(),p[i].y = read();sort(b + 1,b + 1 + n); tot = 1;for (int i = 2; i <= n; i++) if (b[i] != b[tot]) b[++tot] = b[i];for (int i = 1; i <= n; i++) p[i].x = getn(p[i].x);for (int i = 1; i <= n; i++) b[i] = p[i].y;sort(b + 1,b + 1 + n); tot = 1;for (int i = 2; i <= n; i++) if (b[i] != b[tot]) b[++tot] = b[i];for (int i = 1; i <= n; i++) p[i].y = getn(p[i].y);k = read(); } void solve(){sort(p + 1,p + 1 + n);int ans = 0;for (int i = 1; i <= n; i++) U[p[i].x]++,R[p[i].y]++;for (int i = 1; i <= n; i++){if (i > 1 && p[i - 1].x == p[i].x && p[i - 1].y + 1 < p[i].y)ans += C[U[p[i].x]][k] * C[D[p[i].x]][k] * sum(p[i - 1].y + 1,p[i].y - 1);U[p[i].x]--; D[p[i].x]++;R[p[i].y]--; L[p[i].y]++;add(p[i].y,-V[p[i].y]);add(p[i].y,V[p[i].y] = C[L[p[i].y]][k] * C[R[p[i].y]][k]);}cout << (ans >= 0 ? ans : ans + 2147483647 + 1) << endl; } int main(){init();solve();return 0; }

轉載于:https://www.cnblogs.com/Mychael/p/8478222.html

總結

以上是生活随笔為你收集整理的BZOJ1227 [SDOI2009]虔诚的墓主人 【树状数组】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 五月婷婷在线观看视频 | 青青草原一区二区 | 亚洲超碰av | 日韩一区二区三区在线播放 | 亚洲色图另类图片 | 女同互舔视频 | 性视频在线播放 | 欧美黑人一区二区三区 | 午夜免费成人 | 日本乱偷人妻中文字幕在线 | 超碰公开免费 | 操操操操操操操 | 久久久精品小视频 | 全程偷拍露脸中年夫妇 | 乱图区 | 日韩一区二区a片免费观看 伊人网综合在线 | 日韩中文一区二区 | 亚洲黄色三级 | 九九九热| 中文字幕第8页 | 日本三级视频 | 国产男女啪啪 | 性高潮久久久久 | 亚洲精品视频网 | 中文字幕乱码视频 | 日本不卡一区二区在线观看 | 无码av免费精品一区二区三区 | 天天干天天干天天干天天 | 亚洲色综合| 国产精品一区二区三区免费看 | 2022精品国偷自产免费观看 | 日本久久99 | 国产一区二区黄 | 中国一及毛片 | 6080电视影片在线观看 | 日本人六九视频 | 无码人妻精品中文字幕 | 黑料视频在线 | 精品国产丝袜一区二区三区乱码 | 久久短视频 | 国产青青 | 一及黄色大片 | 国产乱码精品一品二品 | 丝瓜色版 | 蜜乳av 懂色av 粉嫩av | 无码精品一区二区三区在线播放 | 农村妇女毛片精品久久久 | 久久午夜神器 | 国产盗摄精品一区二区酒店 | 日韩七区| 色综综 | 成人宗合网 | 91在线精品李宗瑞 | 国产精品天美传媒沈樵 | 日韩a级在线观看 | 中文人妻熟妇乱又伦精品 | 深夜福利免费视频 | 成人高清在线观看 | 国产91嫩草| 亚洲免费高清 | 国产性av| 在线日韩一区 | 潘金莲一级淫片免费放动漫 | 免费观看毛片 | 极品熟妇大蝴蝶20p 国产偷自拍视频 | 影音先锋毛片 | 最污的网站 | 黄色正能量网站 | av动漫在线免费观看 | 亚洲精品二区三区 | 91久久综合亚洲鲁鲁五月天 | 国产精品剧情av | 久久久精品久久久 | 猛男被粗大男男1069 | 麻豆短视频 | 奇米影视四色7777 | 久久免费国产精品 | 国产精品白丝喷水在线观看 | 亚洲大胆人体 | 亚洲天堂网在线视频 | 日韩中文在线字幕 | 九色porn蝌蚪| 日本一区二区三区视频在线播放 | 精品亚洲乱码一区二区 | 免费看一级黄色大片 | 91看片淫黄大片 | 日本一区二区视频 | 骚黄网站| 懂色av一区二区三区蜜臀 | 一区二区三区精品在线 | 久久视| 欧美性插动态图 | 午夜不卡在线观看 | 看一级黄色大片 | 中文字幕久久一区 | 韩国毛片一区二区 | 天堂资源网 | 日本在线黄色 | 亚洲AV蜜桃永久无码精品性色 |