題解:長這樣的題好像都有固定套路…所有點按座標排序、處理組合數,然後用樹狀陣列維護奇怪的資訊…….編不下去了 黃學長的題解
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很小,我們就預處理 暴力做法列舉每個格點的話,我們可以預處理出每行每列標記點的字首和然後離散化,這樣的話複雜度就是 我...