P2154 [SDOI2009]虔诚的墓主人 组合数学+离散化+树状数组 先看题,结合样例分析,易得每个墓地的虔诚度=C(正左几棵,k)*C(正右几棵,k)*C(正上几棵,k)*C(正下几棵,k),如果任意一遍的棵树<k,则虔诚度=0. 所以我们可以预处理出C(w,k). 再看数据范围:“对于100%的数据,满足1 ≤ N, M ≤ 1,000,000,000,0 ≤ xi ≤ N,0 ≤ yi ≤ M,1 ≤ W ≤ 100,000,1 ≤ k ≤ 10.” 对比一下 n,m 和 w 的大…
略有一点点思维的题. 首先,如果一个点上,下,左,右分别有\(a,b,c,d\)棵树,那这个点的十字架方案为\(C_{a}^{k}C_{b}^{k}C_{c}^{k}C_{d}^{k}\). 按x坐标扫一遍,同时树状数组维护每个y坐标的\(C_{a}^{k}C_{b}^{k}\),直接统计答案.复杂度\(O(nlogn)\). #include<bits/stdc++.h> #define il inline #define vd void #define ll long long #defi…