12月補題記

2021-10-11 03:24:03 字數 1336 閱讀 6018

轉眼就12月份了,又將會是忙碌的一月呀!

後面不清楚,但12月份的前幾天一定是充實的補題日子!

周賽一–d題挺坑的,居然提交了四次,這是我萬萬沒想到的。

前面以為是資料爆了,後面發現是做了大量的不必要++遍歷

這裡還是放一下**吧,警醒自己!

#include

using

namespace std;

typedef

long

long ll;

intmain()

if(ans*m>n) ans=-1l

;printf

("%lld"

,ans)

;return0;

}

下面再來講講周賽二中有印象的一些題:

–d題這題說的是乙個編碼解碼的事,告訴我們編碼規則然後叫我們解碼。

因為英語差,腦子裡coding和encode一直在嗡嗡響,愣是傻了很久才知道反求原碼而不是寫乙個編碼的程式。

編碼思路不難想到,但是我覺得我想出來的演算法複雜度挺高的,至少方法挺複雜的。

但是反求原碼嘛!(嘿嘿)

首先是思考編碼規則,每次取出中間位置的字母然後放在新單詞的後面。不難得出,新單詞的倒數第二個字母必定是原單詞的第乙個字母(邊界條件另行考慮),進一步分析得出原單詞可以由新單詞以乙個特定的順序讀取出來。這樣的話複雜度就是o(n),**如下:

#include

using

namespace std;

intmain()

p+=3

;while

(preturn0;

}

–f題

這題說的是乙個排隊的事。。。

看到排隊忍不住的就想到佇列queue,確實,佇列在這題中絕對好用(如果不考慮時間複雜度和空間複雜度的話)。

可想而知,當資料足夠大,求得答案的同時,佇列後面還排著相當長的隊伍。

如果不使用佇列,又不能通過什麼萬能的公式直接求得n處的排隊情況。所以還是老法子,慢慢來,乙個接著乙個的往後推。但是這樣時間複雜度仍然很大,而且不進行資料的臨時儲存的話又基本沒法繼續往後推。。。

所以應該加快遍歷的程序。

具體方法見下面**。

#include

using

namespace std;

string s=

;int

main()

int ans=n/x;

if(n%x==

0)ans--

; cout<;return0;

}

部落格太長也不好,後續見下篇。。。

dp補題記錄2

hdu 2571 穿過幽谷意味著離大魔王lemon已經無限接近了!可誰能想到,yifenfei在斬殺了一些蝦兵蟹將後,卻再次面臨命運大迷宮的考驗,這是魔王lemon設下的又乙個機關。要知道,不論何人,若在迷宮中被困1小時以上,則必死無疑!可憐的yifenfei為了去救mm,義無返顧地跳進了迷宮。讓我...

12月3號面試題記錄

12月3號跑了兩場面試,上午是青果軟體,下午是長城醫療,青果軟體讓做乙個ssh框架,進行功能實現,不太會做。果斷被刷,下午的長城醫療題目有幾個不會,回來查了一下,果斷記錄上來 字串s長度為n,其中字元各不相同,長度為2的子串的個數為n 1個 字串 m x43 n p 102q 的長度是7 二進位制轉...

2021 2 月賽補題A C

我一直覺得eoj的題解寫的可以,所以思路和題解基本參考eoj官方題解。連線 這場真不愧是oi爺出題,我還沒摸鍵盤,只是在地鐵上看了看a,知道是個lca,沒有想出來dfs序,就開始自閉了。但我覺得這場題目很好,值得一寫。a.首先要知道兩個結論 1.就是n個點的lca就是dfs序差最大的一組數的lca,...