2020 2 17 大一寒假訓練十(map)

2021-10-02 22:03:39 字數 1685 閱讀 9474

今天的題目數量較少,但是也能入魂

匹配好對應關係即可。

#pragma gcc optimize(2)

#include

using

namespace std;

int n, q, num;

map<

int,

int> blq;

intmain()

//cin>>q;

scanf

("%d"

,&q)

;int t;

while

(q--

)return0;

}

說起來那天找字典樹的題時還看見這個來著…

#include

using

namespace std;

int n, m, page;

string str;

mapint> dic;

intmain()

cin>>m;

while

(m--

)return0;

}

洛谷原題傳送門:p1571 眼紅的medusa

#pragma gcc optimize(2)

#include

using

namespace std;

int n, m;

int kc[

100010

], tg[

100010];

map<

int,

bool

> prize;

intmain()

for(

int i=

1; i<=n; i++)if

(prize[kc[i]])

printf

("%d "

, kc[i]);

return0;

}

感謝@果光提供的思路。

掏出萬能的 win10 計算器觀察二進位制,發現要想滿足題目要求,

只需 使二進位制所有位都為 1,也就是要 找最高位之前 0 的個數,用乙個數進行補充。

首先題目中的資料給的就是二進位制位數,那麼現在只需關心兩方面:

ai 的最高位數

最高位之前有幾個 1(減一下得到 0 的數量)

話說回來我也是掏的win10計算器。

#include

using

namespace std;

int n, t, ans=

0, maxn=-1

, cnt=0;

long

long sum=0;

map<

int,

int> vis;

intmain()

}}for(map<

int,

int>

::iterator i=vis.

begin()

; i!=vis.

end(

); i++)}

printf

("%d"

, maxn(maxn-ans+1)

);return0;

}

大一寒假訓練十(string) 更新完成

kmp演算法。先預處理得到next陣列,若存在迴圈節,即n n ne n 0,則最小迴圈節長度為n ne n 答案為n n ne n 若不存在則輸出1。include include include using namespace std const int n 1e6 10 char s n in...

2020 2 18 大一寒假訓練十一(set)

模板題。include using namespace std int n,t set int s intmain cout int iterator it for it s.begin it s.end it cout return0 去重並排序。pragma gcc optimize 2 inc...

大一寒假訓練 set

錯誤的刪除操作?上圖的操作會把迭代器刪除!it的指向就空了!於是會出現下圖警示?正確的操作?for it ans.begin it ans.end include using namespace std set int ssr set int iterator it int n,x intmain ...