題目:
題意:
給出n個點,問符合
和|xi - xj| + |yi - yj|. 這兩個公式算出來的兩點「距離」相等的點對有幾個?
分析:
顯然如果上面兩個公式相等,那麼必須橫座標相等或者縱座標相等,每次從相等的個數中取出兩個的,就是這一相等座標的排列數,分別按橫縱座標求一遍,但是因為有相等的,這樣會重複計算一次,最後把 相等的位置排列數減去就好。
#include
using
namespace
std;
const
int n=2e5+5;
typedef
long
long ll;
typedef pairpii;
pii a[n];
bool cmp(const pii &x,const pii &y)
else
}sort(a,a+n);
ll ans=0;
int i=0;
while(iint t=a[i].first;
i++;int sum=1;
while(iif(sum>1)
}sort(a,a+n,cmp);
i=0;
while(iint t=a[i].second;
i++;int sum=1;
while(iif(sum>1)
}for(map
int>::iterator it=mp.begin();it!=mp.end();it++)
}cout
<
}
CodeForces598ATric(數學,求和)
description 求和是一種最常見的運算,我們經常做的就是1加到n的和。例如,1加到100的和是5050。但是現在,我們稍微變動一下求和方法,對於屬於2的冪次的數,我們做的是減法,其餘仍舊做加法。例如,當n 4的時候,最後的結果應該是 1 2 3 4 4,因為1 2 4分別是2的0次方 2的1...
CodeForces 453A(數學期望)
題目大意給你乙個n面的骰子,投擲m次,問投得最大面的數學期望。數學期望的由來 數學期望,早在17世紀,有乙個賭徒向法國著名數學家 帕斯卡挑戰,給他出了一道題目 甲乙兩個人賭博,他們兩人獲勝的機率相等,比賽規則是先勝三局者為贏家,贏家可以獲得100法郎的獎勵。當比賽進行到第三局的時候,甲勝了兩局,乙勝...
codeforces 24 Game(數學構造)
題意 給你乙個數字n,1,2,3,4.n 1,n在乙個集合裡,每次拿出兩個數進行加或者減或者乘三種操作,每次操作結果再放入集合中,問能不能使集合最後剩下的那個數是24!不能輸出 no 能輸出 yes 並且輸出步驟!分析 題目做著做著越覺得神奇了!看到這題一頭霧水 我還是太年輕了 看了大神的提點,才恍...