日韩性视频-久久久蜜桃-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]虔诚的墓主人 【树状数组】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲精品人人 | 国产aaa视频 | 国产成人影视 | 国产欧美精品久久 | 欧美性猛交ⅹxxx乱大交3 | 蜜臀av一区二区三区 | 国产又粗又大又爽视频 | 久久精品噜噜噜成人 | 亚洲国产精品视频在线 | 国家队动漫免费观看在线观看晨光 | 91成人福利在线 | 美女精品久久 | 69国产视频 | 污网在线观看 | 亚洲国产日韩a在线播放性色 | 国产黄免费 | 成人av综合网 | 欧洲午夜精品 | 黑人中文字幕一区二区三区 | 亚洲日本一区二区 | 男生舔女生的屁股 | 亚洲 国产 欧美 日韩 | 精品无码久久久久久久久成人 | 免费在线看黄视频 | 国产精品三级久久久久久电影 | 国产精品一区二区电影 | 在线观看福利网站 | 在线观看日韩视频 | 在线视频一区二区三区 | 久久久久久片 | 一区二区三区免费毛片 | 亚洲做受高潮 | 国产九一精品 | 久久精品视频偷拍 | 在线观看视频亚洲 | 阿拉伯性视频xxxx | 国产主播福利 | sm调教羞耻姿势图片 | www.日本免费 | 一区二区三区人妻 | 国产欧美一区二区在线观看 | 韩国伦理电影免费在线 | 春闺艳妇(h)高h产乳 | 成人毛片在线观看 | 麻豆人妻少妇精品无码专区 | 亚洲福利视频一区二区三区 | 日本中文字幕在线看 | 国产无遮挡18禁无码网站不卡 | 啪啪小视频网站 | 韩国成人在线 | 内射干少妇亚洲69xxx | 米奇7777狠狠狠狠视频 | 第一福利丝瓜av导航 | yy111122少妇光屁股影院 | 午夜精品福利影院 | 国产91沙发系列 | 欧美伦理影院 | 精品国产免费人成在线观看 | 精品在线免费观看视频 | 成年人免费看毛片 | 小小姑娘电影大全免费播放 | av小次郎收藏 | 中文字幕超清在线观看 | 成人亚洲电影 | 亚洲欧美综合另类 | 日韩中文字幕在线观看 | 天天操夜夜操视频 | 久久精品国产亚洲av麻豆蜜芽 | 亚洲av女人18毛片水真多 | 一个色综合导航 | 色狠狠综合网 | 国产青青操 | 久久人人爽人人 | 成人一区二区精品 | 国产性一乱一性一伧一色 | 大桥未久中文字幕 | 老司机午夜精品 | 美女色诱男人激情视频 | 中文字幕精品三区 | 久久精品毛片 | 亚洲av鲁丝一区二区三区 | 人人干网站| 人人人爽| 日韩视频在线观看 | 一区二区视频在线播放 | 中文字幕人妻一区二区三区视频 | 国产做受69 | 自拍视频一区二区 | 福利视频在线免费观看 | 国产精选毛片 | 亚洲黄网在线观看 | 男人的天堂狠狠干 | 成人在线超碰 | 国产黑丝91 | 欧美性色黄 | 久久嫩草视频 | 极品销魂美女一区二区 | www久久久久久久 | 高潮毛片7777777毛片 |