2019浙江ACM省賽 部分題目

2022-08-13 22:21:11 字數 1471 閱讀 7971

有一些題目過了我還沒有重新寫,先放一些我重新寫好了的吧

簽到題拿到了信心吧,9分鐘寫完兩題,我們賊開心,我大哥說簽到題有什麼好開心的,如果不是我有一些地方卡了下,可能還是更快吧,還有就是測試案例多試了幾個,不過這個是必須的。

現在回想當時比賽還是有點緊張,這個就是acm的樂趣吧,感覺我今年就應該退役了,覺得下面的學弟都比我厲害多了,這兩天搭個oj給學弟們刷題用,訓練還是要搞起來,平時的練習賽真的幫我們長了很多默契,特別是前面題目的時候我連看都沒有看,直接上手就敲模板,然後學弟看完了直接報,速度抓起來了,信心也抓起來了。

這次比賽感謝大佬隊友帶飛,現在回顧了下排行榜拿的金獎還是運氣好,在我們排名下面的做出來的速度都是比我們快,但是他們有罰時,我們一次ac(人品**)

最後花了兩個多小時寫j題還是沒有做出來,總的思路是對的,有一些細節的地方還是還沒有想到,菜是原罪,現場也有兩個專科組的做出來了,回來之後理了下看了下別人的題解,一下子就是寫出來了。

簽到水題

題解:輸入乙個數字找比他大的最小那個數字能被7整除不能被4整除(直接寫**了,就不多解釋了)

#includeusing namespace std;

int main()

} sort(b,b+n);

int j = n-1;//最大的那個數字

long long sum = 0;

for(int i=maxindex;i>=0;i--)

} cout《證明我是菜雞的

1,主要思路先建立關係,進行並查集的合併大的數字指向小的,合併完成後把那些指向自己的根給單獨拿出來放入根的陣列裡面去

2.放好之後開始操作,用優先佇列,這樣就能解決了字元序的問題(當時想到了用佇列,忘記了優先佇列)

3.剩下的把指向他的逐一拿出來壓入優先佇列中會自動幫你處理字元序

#include

using namespace std;

int root[1000055];

int find(int x)

return x;

} void union1(int x,int y)

num[n+1]=99999999999;

num[0]=99999999999;

long long ansend = 0;

for(int i=2;i<=n-1;i++)

} long long ans = 0;

for(int i=2;i<=n-1;i++)

if(num[i-1]>num[i-2] && num[i-1]>num[i+1])

if(num[i]>num[i-1] && num[i]>num[i+1])

if(num[i-1]>num[i-2] && num[i-1]>num[i])

if(num[i+1]>num[i+2] && num[i+1]>num[i])

if(ans<=notans-ansed)

} cout

}

2019浙江省賽

題意 n個點的二叉樹 無向邊 的單向邊,構造一條到達且只到達每個點一次的路徑。題解 兩次dfs。第一次dfs為向i 1優先,2i次之。然而,發現某些點有兩條出路,這是由於該點在最底層 有些點沒有達到,這是因為這些點在最後一層或倒數第二層的右下角 第二次dfs時先判斷該點的右子節點是否達到過,如果沒到...

2019浙江賽省賽(一些感想)

早上7點出頭就醒了,輾轉反側。顧及我賽後的情緒。這裡省略熱身賽,省略午飯。因睡眠時間充足,比賽狀態還行。前面5道水題不說了。馬拉車那題因為模板不夠熟悉,初始化問題錯了。數學那題因為隊友直接推出來了,但是矇圈了很久才反應過來自己已經推出來了。我一直在敲c題,因為是隊友的想法,我不是很熟悉。花了2個小時...

2019山東ACM省賽補題題解

wandering robot 題意 大體意思就是乙個機械人按照指定的路線走來走去,最後求最遠點和初始點 0,0 的距離 思路 1.確定最遠點 第一次迴圈路徑確定之後,其他的迴圈基本都是在平移,最遠點可能是在最後一次迴圈但是也很有可能在第一次迴圈 2.確定最遠點的位置 k的值特別的大,所以肯定不能用...