2. 解讀
3. **
time limit: c/c++ 1秒,其他語言2秒
memory limit: c/c++ 262144k,其他語言524288k平面上存在 n
nn 條直線。請問 n
nn 條直線在平面上最多存在多少交點。
輸入資料的第一行是t,表示資料的組數 (
t<
100)
(t < 100)
(t<10
0), 接下來每組資料輸入乙個 n(1
≤n≤1
e15)n(1 \le n \le 1e15)
n(1≤n≤
1e15
)對於每組輸入樣例,列印 n
nn 條直線最多有多少個交點
2
12
0
1
牛客網 nc207427 直線
第 i +1
i + 1
i+1 條線最多能和前 i
ii 條線都相交,產生 i
ii 個新的交點。
所以最終結果為
n (n
−1)2
\frac
2n(n−1
)但由於 n
nn 的資料範圍很大 (1≤
n≤1e
15)(1 \le n \le 1e15)
(1≤n≤1
e15)
#include
#include
#include
using
namespace std;
struct wint : vector<
int>
//用標準庫vector做基類,完美解決位數問題,同時更易於實現
wint&
check()
//在各類運算中經常用到的進製小函式,不妨內建
while
(back()
>=10)
return
*this
;//為使用方便,將進製後的自身返回引用}}
;//輸入輸出
istream&
operator
>>
(istream& is, wint& n)
ostream&
operator
<<
(ostream& os,
const wint& n)
//比較,只需要寫兩個,其他的直接代入即可
//常量引用當引數,避免拷貝更高效
bool
operator!=(
const wint& a,
const wint& b)
bool
operator==(
const wint& a,
const wint& b)
bool
operator
<
(const wint& a,
const wint& b)
bool
operator
>
(const wint& a,
const wint& b)
bool
operator
<=
(const wint& a,
const wint& b)
bool
operator
>=
(const wint& a,
const wint& b)
//加法,先實現+=,這樣更簡潔高效
wint&
operator+=
(wint& a,
const wint& b)
wint operator
+(wint a,
const wint& b)
//減法,返回差的絕對值,由於後面有交換,故引數不用引用
wint&
operator-=
(wint& a, wint b)
}return a.
check()
;}wint operator
-(wint a,
const wint& b)
//乘法不能先實現*=,原因自己想
wint operator*(
const wint& a,
const wint& b)
wint&
operator*=
(wint& a,
const wint& b)
//除法和取模先實現乙個帶餘除法函式
wint divmod
(wint& a,
const wint& b)
}return ans;
}wint operator
/(wint a,
const wint& b)
wint&
operator/=
(wint& a,
const wint& b)
wint&
operator%=
(wint& a,
const wint& b)
wint operator
%(wint a,
const wint& b)
//順手實現乙個快速冪,可以看到和普通快速冪幾乎無異
wint pow
(const wint& n,
const wint& k)
intmain()
}
聯絡郵箱:[email protected]
csdn:
知乎:
牛客網 NC205084 牛牛愛字串
2.解讀 3.c c 1秒,其他語言2秒 c c 262144k,其他語言524288k 牛牛在玩字串。牛牛得到了乙個字串 可能含有空格 他希望在這些字串中提取出數字。例如 a1b23c456d007890中可以提取出1,23,456,7890共4個數字。現在,他得到了乙個長度高達1000的字串,請...
牛客網 NC204859 組隊 滑動視窗
2.解讀 3.time limit c c 1秒,其他語言2秒 memory limit c c 262144k,其他語言524288k 你的團隊中有 n nn 個人,每個人有乙個能力值 a ia i ai 現在需要選擇若干個人組成乙個團隊去參加比賽,由於比賽的規則限制,乙個團隊裡面任意兩個人能力的...
牛客網 NC14132 貝倫卡斯泰露 DFS
2.解讀 3.time limit 1000 ms memory limit 131072 kb 貝倫卡斯泰露,某種程度上也可以稱為古手梨花,能夠創造機率近乎為0的奇蹟,通過無限輪迴成功打破了世界線收束理論。和某科學者不同,貝倫並不在意世界線收束的那套理論,作為奇蹟之魔女,貝倫的愛好只在於品茶。作為...