590 Div 3 暑期訓練第三週第二天

2021-10-08 08:25:16 字數 2184 閱讀 8111

你有1-6號六種模型:

給你乙個只包含上述六種模型的圖,長度為n,寬為2,問你能否通過旋轉圖轉的一些模型,使得這些模型連成一條線從左上角到右下角。如:

思路/過程:這個題看著挺唬人的,剛開始我就被嚇住了,但其實一點都不難。1、2是一樣的,3、4、5、6是一樣的(因為可以旋轉)。然後順著路徑模擬一遍過程就行了。

題解就不寫了。

int n;

cin>>n;

for(

int i=

0;i)for

(int i=

0;i)//第二行

bool flag=

true

;int k=0;

//起點為第1行

for(

int i=

0;i(a[i]

[k]==2)

//路徑上有2類即為換行

if(k==

1&&flag)

puts

("yes");

//終點在第二行

else

puts

("no"

);

pi(n)是乙個 [i,1,2…,i-1,i+1,…,n] 序列,給你乙個包含m個數的陣列a。

pos(p,x)為x在p陣列中的位置,如pos(p2(4),2)=1。

f( p )=sum| pos(p,a[i])-pos(p,a[i+1]) |。

求f(p1(n)),f(p2(n)),…,f(pn(n))。

過程:這個題一開始我我以為是能做出來的,結果弄了乙個小時,最後也只是找到了o(n2)的解法,o(n)的做法不會。導致了後面的題差點沒做完。

你的手機上最多可以展示k個聯絡人的訊息,最初螢幕是空的。突然你有了預知未來的能力,你知道今天你會收到n條訊息,第i條資訊是id為id[i]的朋友給你發的。

如果id[i]朋友給你發了一條訊息,且id[i]朋友之前發的訊息在螢幕上,那麼訊息列表中的順序不會發生改變。但如果id[i]朋友之前發的訊息沒有在螢幕上,或者之前沒有發過訊息,那麼這個訊息會出現在訊息欄的頂部,之前的訊息全部後移一位,原來的第k條訊息就會被擠掉。

問這一天過後訊息列表中訊息從上到下的朋友的id順序是什麼。

這個題也比較的簡單按照它說的進行模擬就行了。這個題可能是難在題意上,我當時做的時候就被題意繞進去了,被繞了很久才出來的。

你有n件貨物要賣,每件貨物的原來的**為a[i]。你要給所有的貨物定乙個新的**,要求所有貨物的**相同,且所有貨物**的總和要大於等於所有貨物原來**的總和。問這個新的**為多少。

水題,只需要求出所有貨物原**的平均值的上取整即可。

給你乙個字串s,和q組詢問/指令。

指令1:輸入pos和字元c,然後將s中pos位置的字元改為c。

指令2:輸入l和r,然後找出s的[l,r]區間中有多少種字元。

d.distinct characters queries

過程:這個題我當時看的時候想到了是不是可以用樹狀陣列來做(後來我看了看題解發現真的可以用樹狀陣列來做),但我發現:樹狀陣列我學了以後一直沒用過,給忘了……(就拿這個題來複習了)

你的手機上最多可以展示k個聯絡人的訊息,最初螢幕是空的。突然你有了預知未來的能力,你知道今天你會收到n條訊息,第i條資訊是id為id[i]的朋友給你發的。

如果id[i]朋友給你發了一條訊息,且id[i]朋友之前發的訊息在螢幕上,那麼訊息列表中的順序不會發生改變。但如果id[i]朋友之前發的訊息沒有在螢幕上,或者之前沒有發過訊息,那麼這個訊息會出現在訊息欄的頂部,之前的訊息全部後移一位,原來的第k條訊息就會被擠掉。

問這一天過後訊息列表中訊息從上到下的朋友的id順序是什麼。

c題的困難版,擴大了資料範圍。

思路/過程:這個困難版其實也不能難,加乙個map來記錄列表中的id就行,這樣查詢就變成了o(1)。然後刪除操作可以直接用vector中的erase()函式。

實訓第三週第3天

學習日誌 姓名 成盛 班級 通卓161 今日學習任務 學會用韌體庫去點亮led燈,了解系統時鐘。今日任務完成情況 基本完成 今日開發中遇見的問題 沒有把新建的檔案放在同乙個工程裡,然後編譯失敗 今日未解決問題 無今日開發收穫 學會了如何利用韌體庫去尋找自己所需要的函式 定義等。知道了乙個工程裡新建的...

第三週作業3

例2.1 功能 布林型別使用舉例 include 編譯預處理命令 include 使用控制符boolalpha需使用此標頭檔案 using namespace std 使用標準名空間 std int main 主函式 例2.3 附例 include 例2.4 例2.5 例2.6 char ch c ...

訓練第三週之dp習題

個人感覺做dp題目就是求什麼就設什麼,dp i 陣列就是所求,然後找出子問題,寫出狀態轉移方程就差不多出來了這個題目思路很簡單,就是求子串最大和。但是就是要記錄開頭結尾還有如果相等記錄第乙個,讓我吃盡了苦頭。include include include include using namespac...