2020 7 6比賽總結

2021-10-07 20:07:03 字數 2013 閱讀 9162

題目鏈結

感受:感覺最後把思路全想一遍能發現自己不少思維上的漏洞,比賽的時候想的確實沒那麼多,結束之後才能整理思路。爭取以後在比賽就能想好思路把。

語言方面:對於英語閱讀。對於我這個用日語高考的人來說確實還是一座大山。學了幾個月英語詞彙量著實跟不上那些學了三年英語的。必須要抽時間系統地學一遍英語,有了學日語的經驗英語學起來也確實比沒有語言基礎快不少,因為可以少走許多彎路,就盡快學吧!盡量不拖後腿!

反思:想了想自己為什麼只能做三道題,首先有一些題目的思路確實沒見過,就像那道圖論題。還有自己思維上存在很大的漏洞,就像那個dp題,最後沒有ac。可能一開始就覺得自己做不出來把。有點」自暴自棄「的意味了。

題目大意:給你兩個括號字串,要求構造乙個新字串,這個新字串的括號序列要合法,並且子串行中還要包含給出的兩個字串。

待補。。

題目大意:給你乙個長為n的陣列,最多去掉其中乙個元素,找出其中最長的連續遞增子串。

思路:dp。

因為最多去掉乙個元素,所以只有兩種情況,要麼去掉乙個元素,要麼不去元素。所以可以先求出不去掉任何元素的最長遞增子串長度來,用l[i]表示以i開頭的最長遞增子串,r[i]表示以i結尾的最長遞增子串,在求解過程中對答案更新。最後求出去掉乙個元素的最長遞增子串。

因為去掉第乙個元素和去掉最後乙個元素相當於上面以2開頭的和以n-1結尾的情況,所以直接從2到n-1列舉去掉的元素。比如去掉第i+1個元素,那麼最長遞增子串就可以表示為:以i結尾的子串和以i+2開頭的子串連線起來的長度。

在比賽中想成了子串行,到最後五分鐘才意識到自己出錯了,很遺憾。。。

題目大意:給你三個數a,b,c。可以對每個數執行加一或減一操作,也可以不進行任何操作。要求執行完所有操作後,|a-b|+|a-c|+|b-c|的值最小。

思路:很水的數學題。。稍微寫寫就行了,盡量情況想的全面一點,避免不必要的wa。

題目大意:給你乙個長度為n的陣列a。每次可以對i點執行兩種操作:移動到i+a[i]或i-a[i](如果位置合法的話)。求每乙個i移動到乙個和a[i]奇偶性不同的位置的最少移動次數。

思路:反向建邊+多源最短路+超級源點

一開始想的是對每乙個點跑一次bfs,但tle在了第八個點,後來想想每個點的路徑可能和其它點的路徑有重合部分,寫乙個記憶化搜尋也行。。但bfs也能寫成記憶化搜尋嗎。比賽後看的題解是反向建邊然後求最短路。果然是個沒見過的做法。。

最終思路是這樣的:建立兩個超級源點,乙個是奇數點,乙個是偶數點。這裡假設n+1是奇數點,n+2是偶數點。奇數超級源點連線所有奇數點,所以從奇數超級源點到任意乙個奇數點的距離是1,然後設dis[i]表示從源點到i的最短距離。因為是反向邊,所以這個值就相當於從i到源點的最短距離。對於每乙個奇數點,最終肯定是要讓他跳到偶數點,既然不知道最終會跳到哪個點,那就直接跳到偶數超級源點,然後再從偶數超級源點跳到那個偶數點,最終結果減去偶數超級源點和偶數點之間的那個距離1。

題目大意:給你兩個數n和k,分別表示序列s的長度和能使用的字母數量。然後問對s的(n+1)*n/2個子序列,能夠打出多少個。

思路:很順利一眼出思路然後ac

首先用乙個map來表示能用的字母,因為最多只有26個,所以這個空間很小。然後遍歷序列s,遇到能用的字母就len++,遇到不能用的就加上len(len+1)/2,然後把len置為0重新找子串。這個題給出了長度為n的序列最多有n(n+1)/2個子序列,正好給了個提示。所以題目中的語言沒有廢話。

題目大意:給你乙個字串行,字元的意義為上下左右移動。要求:從(0,0)出發,並最終能回到(0,0)。並且在途中不能經過同乙個單元格兩次。求最長的合法操作序列。

思路:因為少了乙個特判,wa了一下。不過問題還是不大的。

首先分情況討論:只能左右移動時,最終序列只能是lr或rl。只能上下移動時,最終序列只能是ud或du。上下左右都可以時,因為要使序列盡可能的長,所以把所有l,r,u,d都分別扔到四個vector中,為了使得最後能回到原點,所以l的數量要等於r,u的數量要等於d,所以最後的序列長度就是取(min(l,r)+min(u,d))*2。按照乙個矩形的形狀順時針或逆時針輸出就行了。

2015 8 15比賽總結

在總結之前,我必須膜拜一下某個切完提高組來省賽組虐場的犇。今天的比賽,失策還是有的,今天的問題如下 打 不小心,打錯了乙個小細節,導致最終答案錯誤。有的題目a了樣例我就以為可以了,或者是打的對拍也錯了 打題前沒有想清楚,最後對拍時才發現錯誤。第一題 這是道二分的題目,我在做比賽時就想到了正解,就是用...

8 17比賽總結

這次比賽考得一般般,這回的題是前段時間學的圖論演算法的測試題 100 52.2 40 12.5。1 位圖 這題是很簡單的圖論,用bfs 加優化簡單 o nm 過了。正解 這題將所有更新的點記錄在乙個佇列裡 初始的時候都是1 的看為更新的 然後每次將這些點往四周擴散,如果可以擴散,那麼 ans x,y...

8 18 比賽總結

這次比賽很不錯,排名第一 100 100 0 100 300。1 跳格仔 這題在比賽的時候做就很淼,直接dp 就可以了。正解 dp。2 2048 這題是一道純模擬題,只需要模擬2048 執行的步驟來進行迴圈和合併,由於 比較複雜,所以要精細做,考試的時候在除錯一小時後終於將這道題做了出來。正解 同上...