BZOJ 1227 虔誠的墓主人

2021-07-10 07:27:19 字數 1181 閱讀 9303

題解:長這樣的題好像都有固定套路…所有點按座標排序、處理組合數,然後用樹狀陣列維護奇怪的資訊…….編不下去了 黃學長的題解

ac code:

#include

#include

#include

using

namespace

std;

inline

void read(int &x)

const

int mo = 2147483647;

const

int n = 100010 ;

int c[n][11], w, k;

void init_calc()

}struct data

}p[n];

int tx[n], ty[n], cx, cy;

int cnt[n], down[n], left[n], right[n];

namespace bit

inline

int ask(int p)

}int main()

read(k);

init_calc();

sort(tx + 1, tx + w + 1);

cx = unique(tx + 1, tx + w + 1) - tx - 1;

sort(ty + 1, ty + w + 1);

cy = unique(ty + 1, ty + w + 1) - ty - 1;

sort(p + 1, p + w + 1);

for (int i = 1; i <= w; ++i)

for (int i = w; i; --i)

right[i] = (p[i].y == p[i + 1].y ? right[i + 1] + 1 : 1);

using

namespace bit;

int ans = 0, i = 1;

p[w + 1].y = -1;

while (i <= w)

while (i <= l)

}printf("%d\n", ans & mo);

return

0;}

bzoj 1227 虔誠的墓主人(樹狀陣列)

傳送門biu 上下左右沒有樹的墓地必然沒有虔誠度,所以將原圖離散化成乙個最大為w w w w 的圖。對於每塊墓地,令在它上 下 左 右方向常青樹的數目分別為 u u p role presentation style position relative pp,l l r role presentat...

SDOI2009 虔誠的墓主人

題目大意 n times m 的點陣,有的點是樹木,定義乙個空點的度數為正上,正左,正右,正下分別有 k 個點的選法 求點陣的總度數.挺好的一道題,排列組合和資料結構糅合在一塊 include include include define lowbit x x x 巨集定義樹狀陣列操作 using ...

洛谷 SDOI2009 虔誠的墓主人

初見安 這裡是傳送門 洛谷p2154 sdoi2009 虔誠的墓主人 題意很簡單 在n m的網格上,求所有未標記點的權值和。乙個未標記點的權值為 設其上下左右有 首先資料範圍很夠,k很小,我們就預處理 暴力做法列舉每個格點的話,我們可以預處理出每行每列標記點的字首和然後離散化,這樣的話複雜度就是 我...