洛谷P4054 計數問題

2022-05-20 13:18:38 字數 539 閱讀 5776

題目大意:維護 n*m 個點,每個點有三個權值,支援單點修改,查詢矩形區間內權值等於某個值的點的個數。

題解:矩陣可以看成兩個維度,權值為第三個維度,為乙個三維偏序維護問題。發現第三維僅僅為單點修改和單點詢問,直接用陣列實現最簡單,且空間足夠。因此,直接建立 100 個二維樹狀陣列,轉變成為單點修改,矩形查詢的問題。

**如下

#include using namespace std;

const int maxn=301;

int n,m,q;

int t[101][maxn][maxn],d[maxn][maxn];

inline int lowbit(int x)

inline void modify(int o,int x,int y,int val)

inline int query(int o,int x,int y)

void read_and_parse()

}void solve()else }}

int main()

洛谷 P1980 計數問題

題目描述 試計算在區間 1 到 n 的所有整數中,數字x 0 x 9 共出現了多少次?例如,在 1到 11 中,即在 1,2,3,4,5,6,7,8,9,10,11 中,數字 1 出現了 4 次。輸入格式 2個整數n,x之間用乙個空格隔開。輸出格式 1個整數,表示x出現的次數。輸入輸出樣例 輸入樣例...

洛谷1980 計數問題

試計算在區間 1 到 n 的所有整數中,數字 x 0 x 9 共出現了多少次?例如,在 1 到 11 中,即在 1 2 3 4 5 6 7 8 9 10 11 中,數字 1 出現了 4 次。輸入格式 輸入檔名為 count.in。輸入共 1 行,包含 2 個整數 n x,之間用乙個空格隔開。輸出格式...

(洛谷)P1980 計數問題 提交

涉及變數很多的程式一定要寫清注釋 include using namespace std int main b b 10 cout num endl return 0 2.用函式的方式 include using namespace std void js int n,int x b b 10 co...