ACM演算法模板NO 1 map

2021-09-02 07:25:40 字數 1714 閱讀 2757

第一行包括 2 個非負整數 n 和 c,中間用空格隔開。 第二行有 n 個整數,中間用空格隔開,作為要求處理的那串數。

output format

輸出一行,表示該串數中包含的所有滿足 a-b=c 的數對的個數。

sample input

4 11 1 2 3

sample output

3

#include

#include

using namespace std;

map<

long

,int

> stu;//long表示鍵值int表示對映儲存的值為int

intmain()

//基本思路為逆向思維

i=temp;

if(t>0)

//如果差值t為0則需要去除其自身

else

cout<}

#include

using namespace std;

struct node

cas[

105]

;bool cmp

(node a,node b)

//告訴sort該如何操作

intmain()

sort

(cas,cas+n,cmp)

;//cmp為過載

for(

int i=

0;i)else mp[cas[i]

.s]++

,sum+

=cas[i]

.val;

} cout<}}

ps:sort的過載

標題輸入格式:

輸入由多行組成,首先是一系列有關父子關係的描述,其中每一組父子關係中父親只有一行,兒子可能有若干行,用#name的形式描寫一組父子關係中的父親的名字,用+name的形式描寫一組父子關係中的兒子的名字;接下來用?name的形式表示要求該人的最早的祖先;最後用單獨的乙個$表示檔案結束。

輸出格式:

按照輸入檔案的要求順序,求出每乙個要找祖先的人的祖先,格式:本人的名字+乙個空格+祖先的名字+回車。

輸入輸出樣例

輸入樣例#1:

#george

+rodney

#arthur

+gareth

+walter

#gareth

+edward

?edward

?walter

?rodney

?arthur

$輸出樣例#1:

edward arthur

walter arthur

rodney george

arthur arthur

#include

#include

using namespace std;

mapfa;

string find

(string x)

return fa[x];}

intmain()

}else

if(ch==

'+')

else

}}

acm常見模板1(搬運 總結)

1 位運算技巧 求n的第k位數字 n k 1 返回n的最後一位1 這裡用到了樹狀陣列的lowbit,即lowbit n n n 2 二維字首和 求乙個矩形內所有元素的和 dp i j 表示座標 i,j 到 1,1 的矩形元素的和 a i j 表示座標 i,j 的元素 for i 1 i n i 字首...

ACM演算法 二分法 模板

在單調遞增序列a中查詢 x的數中最小的乙個 即x或x的後繼 while l r 在單調遞增序列a中查詢 x的數中最大的乙個 即x或x的前驅 while l r 實數域二分,設定eps法 while l eps r 實數域二分,規定迴圈次數法 for int i 0 i 100 i 把n本書分成m組,...

ACM演算法全家桶!!!(全新的模板整合計畫)

整理的演算法模板合集 acm模板 點我看演算法全家桶系列!實際上是乙個全新的模板整合計畫 演算法全家桶!在搞完多項式全家桶之後就想著要不要把我學過的數論,組合數學,圖論,資料結構,線性代數什麼的都搞乙個全家桶,實際上就是乙個模板hhh,只不過是整合到一塊的,打算把我之前搞的acm模板全部再整理一下,...