該題就是簡單的二維樹狀陣列,保留乙份棋盤的最新狀態即可,樹狀陣列裡面就只保留在原有基礎上增加或者減少的某一種餃子的數量。
**如下:
#include #include#include
using
namespace
std;
char op[5
];char g[1050][1050
];int cc[1050][1050
];//
陣列中儲存韭菜餃的數量,白菜餃的數量通過總數量減去韭菜餃來求
void
init()
}}int lowbit(int
x)void modify(int x, int y, int
val)
}}int sum(int x, int
y) }
return
tot;
}int
main()
else
b = s +a;
c = (c-a+1)*(d-b+1) -b;
printf(
"%d %d\n
", b, c);
}else
else}}
}}
return0;
}
hdu1892二維樹狀陣列
樹狀陣列一般的操作只有 1.單點更新,區間查詢 2.區間更新,單點查詢 其中區間更新和單點更新不能同時寫在一起,會對樹狀陣列的結構早成影響。這題 wa的情況主要是沒有考慮到 x1,y1 可能大於 x2,y2 訓練 訓練題鏈結 include include include include inclu...
hdu 1892 樹狀陣列,二維
注意點 輸入時x1,x2,y1,y2的大小判斷,x,y從0開始,書拿光時的判斷 第一題二維,還是蠻神奇的。include include includeusing namespace std define m 1002 int tree m 1 m 1 int lowbit int x void u...
HDU 5517 二維樹狀陣列
hdu 5517 題意 有二元組 a,b 三元組 c,d,e 當b e時它們能構成 a,c,d 然後,當不存在 u,v,w a,b,c 且u a,v b,w c時,則是乙個better集合裡的元素。問這個better集合有幾個元素。思路 自己寫的時候完全沒有思路啊 參考了和 首先基本思路是對於 a1...