luoguU48574 藏妹子之處

2022-04-10 05:56:56 字數 1120 閱讀 1029

題目鏈結

首先,因為這是曼哈頓距離,所以很容易就可以將這三個點之間的距離轉化為乙個矩形,那麼這三個點在矩形上的分布只有六種可能。

假設當前矩形的長為n,寬為m。那麼可以發現,無論是哪一種情況,這三個點在這個矩形裡的擺放方案都是(n - 2) *( m - 2) 。並且這些擺放方案與這個矩形的位置無關,所以可以先不考慮位置,求出所有方案數之後,再去考慮這個矩形的位置。顯然這個矩形可以擺放的位置可以有左上角的點確定。

//

#include#include#define fi(s) freopen(s,"r",stdin);

#define fo(s) freopen(s,"w",stdout);

using namespace std;

typedef long long ll;

const int n = 100000 + 100,mod = 1e9 + 7;

int vis[n],dis[n];

ll read()

while(c >= '0' && c <= '9')

return x * f;

}ll ans;

int main()

} }cout失去的東西最終都會回到我們身邊,雖然有時並不是以我們所期待的方式。 ——浮生物語

題解 Luogu U184421 退錢

該題目背景充分描述了 現狀 給你乙個 n n 的矩陣,詢問 k 次,每次給出乙個區間,如果這個區間總和 sum le m 輸出oh,no 否則輸出good 直接打暴力,對於每次詢問,暴力求 sum sum sum limits sum limits a 然後判斷並輸出。注意,題目保證了前 60 的資...

Luogu U18430 萌萌的大河

思路比較好想 樹鏈剖分 對於1操作 只需將以該點為根的子樹打標記,將所有數存入陣列排序 每次進行1操作時,判斷若該點已經被標記過,則操作無效 對於操作2 在原樹中求出lca,若lca被標記過,lca就是詢問的兩個點中 編號較小的那個,lca值不改變 對於操作3 若該點打過標記,輸出該點與根的這條鏈上...

luogu U103720 薇爾莉特 題解

題麵點這裡 概括一下題目,就是維護矩陣or,要求最後整個矩陣的和,異或和 考慮對需要操作的值val valva l進行二進位制拆分,由於or對於乙個二進位制位上的操作是永久性的,那我們對每一位進行二維差分,最後做一遍二維字首和,對大於1 11的都當做1 11看,就結束了 include define...