題目描述
蒲煜凡學長跟學妹出來約會了!蒲煜凡學長作為一名標準直男,想要給學妹買一杯奶茶,便問學妹喜歡喝什麼樣的奶茶,學妹回了兩個字
隨便!蒲煜凡學長傻眼了,但作為一名優秀的acmer,他是不會坐以待斃的,他早早便將學妹喜歡喝的奶茶**和奶茶店的**表弄到了手!現在你要根據奶茶**,判斷學妹到底喜歡喝哪一種奶茶,如果有多種奶茶**都符合要求,輸入種類靠前的一種
輸入描述:
第一行包含乙個整數n,表示有n種奶茶
第二行有n個數字a[i],a[i]表示第i種奶茶**
第三行包含乙個整數q,表示q次詢問
第四行包含q個整數x[i],表示學妹喜歡喝的第i杯奶茶的**,如果沒有找到,則輸出-1
輸出描述:
輸出q行,每行乙個整數表示答案
示例1輸入6備註:1 2 10 5 3 213
輸出5示例2輸入
53 1 7 5 826
7輸出-13
1 \leq≤ q \leq≤ 1e5, 1 \leq≤ n \leq≤ 1e6
奶茶**都在int範圍內~
過程:
說實話剛開始我真的以為這題是暴力查,即使一直被提示超時也完全沒有想到用二分或者map。
xc學長講解完後思路就很清晰啦,先用map m以對應**為下標而存下輸入的順序,然後直接輸入要找的**下標就可以啦!
話不多說直接上**:
#include
#include
#include
const
long n=
1e6;
int a[n]
;using
namespace std;
map<
long
,int
> m;
intmain()
long t;
cin>>t;
while
(t--
)return0;
}
題目描述
蒲煜凡學長最近迷上了乙個漂亮的小學妹,他想送一朵特別的花給這個小學妹。
他現在有一把n朵漂亮的花,每多花都有a[i]個花瓣,如果有1朵花的花瓣數與其他任意一朵花的花瓣數之差等於2,那麼他可以選擇把這朵花扔掉,也可以選擇丟棄。
請問經過若干次操作之後蒲煜凡學學長能找到唯一的一支特別的花送給小學妹嗎?
輸入描述: 第一行乙個整數t(1<=t<=500)表示測試樣例數每個測試樣例第一行乙個整數n(1<=n<=1e4)表示花的數量,第二行n個整數ai表示花瓣數。
輸出描述:輸出t行"yes"or"no"
示例1過程:做題還是太少了,看到這些有情景的題目思緒就會開始混亂,不知道題目想要表達什麼意思,加上在別的題上消耗了太多的時間,也沒有怎麼仔細看過這道題,感謝zzx大佬以及xc學長的思路。輸入14
2 4 6 8
輸出
yes示例2
輸入15
9 3 5 6 7
輸出
no
這題可以用map,先將m陣列初始化為0,輸入花瓣數,如9 3 5 6 7,可以依次令m[9-2],m[9+2],m[3-2],m[3+2],m[5-2],m[5+2],m[6-2],m[6+2],m[7-2],m[7+2]賦值為1,最後再從花瓣陣列中,以花瓣數為下標,在m陣列中找出唯一的0,如m[9]=1,m[3]=1,m[5]=1,m[6]=0,m[7]=0,此時為0並不唯一,因此輸出』no』。
剛開始自己寫的時候沒有考慮到兩邊,只從當前位往前-2,應該同時考慮到往後+2,下面上**:
#include
#include
#include
#include
using
namespace std;
map<
int,
int> m;
int a[
100010
],n,t;
intmain()
int flag=0;
for(
int i=
1;i(m[a[i]]==
0)if(flag==0)
puts
("yes");
else
puts
("no");
}return0;
}
題目描述
大多數情況下甘靖學長說普通話時都很標準,但有時卻令人抓狂,這件事困擾他很久了,突然有一天,他想通過讀數字來糾正他的發音,
但是他不想按正常的順序讀數字,於是他按照某種規律寫了一些數字在黑板上,比如如果他想數到9,那麼他會把數字寫成如下格式:
1 2 6 7如果他想數到15,那麼他會把數字寫成如下格式:3 5 8
4 9
1 2 6 7 15他突然發現他寫數字的規律是個蛇形,具體描述是這樣的:3 5 8 14
4 9 13
10 12
11
對於每一條左下-右上的斜線,從左上到右下依次編號1,2,…,2n-1;按編號從小到大的順序,將數字從小到大填入各條斜線,其中編號為奇數的從左下向右上填寫,編號為偶數的從右上到左下填寫
輸入描述:
輸入乙個不大於10000的正整數n,表示要填充到的數字的大小
輸出描述:
按規律輸出這些數字,相鄰兩個元素之間用單個空格間隔
示例1輸入
輸出1 2 6 7 15 16 28 29 45 46過程:同樣是感謝zzx大佬的思路,zzxyyds!!!太強遼!!!3 5 8 14 17 27 30 44 47
4 9 13 18 26 31 43 48
10 12 19 25 32 42 49
11 20 24 33 41 50
21 23 34 40
22 35 39
36 38
37
我們可以將其看成斜著的行。
由於注釋都放在**裡了所以直接上**(不得不說這個方法真的很妙):
#include
#include
#include
using
namespace std;
int a[
215]
[215
],n,cnt;
intmain()
for(
int i=
1;i<=cnt;i++
)//通過判斷這一行是奇數行還是偶數行來決定是從上向下讀數還是從下向上讀數
for(
int j=
1;j<=i;j++
)for
(int i=
1;i<=cnt;i++
)return0;
}
團隊天梯賽賽後總結
準備了將近乙個月的天梯賽,今天終於比賽完了。簡單的做個總結。週六早上,九點二十我們在學校東門集合,上車。懷著激動的心情去鄭州輕工業大學參加比賽,坐車的路途中很愉快,到了地方,進圖書館報告廳拍照留念。拍完照後,發飯票吃飯,吃完飯去休息廳休息。一切按部就班。到了中午十二點四十,開始進考場,看著周圍不認識...
2021 5 23模擬賽賽後總結
其實這次考試題目還是很水的 首先這次考試題目的資料範圍都很不對勁,動不動就 1e9 1e8 的,看著嚇人極了。可是沒想到,這題非常不講武德 上來直接給 1e9 套個 log 我全都防出去了啊,直接 給 1e9 的 log 來個三次方,也卡過去了啊 可是沒想到,他這 t2 又給我來乙個 1e9 我大意...
天梯賽藍橋盃賽後總結
3月31日,4月1日兩天,我們去參加了天梯賽和藍橋杯,今年情況特殊,兩場比賽時間上連在一起,參加完天梯賽後,我們必立刻奔赴下一站點參加藍橋杯,這對於身為參賽隊員的我來說並不是乙個好訊息。精神上的壓力和體力的消耗對我是乙個巨大的考驗。首先參加的是天梯賽,這也是我第一次參加的正式的省級比賽。然而,這場比...