【序】
哎呀,這次真的是醬油了一把,這麼水的題還跪了QAQ,特意去求女神安慰TAT。。
【day-7 ~ day-1】
蒽,這段時間在集訓呢!各種跪呀跪Orz,各種挫啊,然後被各種大神的題目虐了惹。(各位大神們怕是從 day-30開始集訓的吧)蒟蒻我們學校還有段考,簡直是醉了..
【day1】
呵呵,我這種2B蒟蒻,第一題寫了40多分鐘,各種檢查啊。(ydc等大神說t1叫做教你會不會編程)
t2我寫了個DFS一遍的算法,還亂入了左孩子右兄弟,怎麼就沒有想到掃一遍啊TAT。。然後DFS到100層就掛了的醬紫,感覺是什麼地方寫掛了。
好吧,我其實沒有寫t2的對拍就匆匆進入了t3的書寫,然後t3成功dp失敗感覺是什麼邊界寫逗了惹!、
【day2】
哎呀,我各種醉&各種掛繼續。
好吧,借鑑於昨天t1寫太久,今天t1就水水寫了,然後就水水弱了。
t2,這。不是。水。題。麼。好吧,SPFA亂搞
t3,簡直是愉快的寫了高精度,好像是正負加法寫掛了惹!
接着滾粗去段考,然後段考滾粗。
【題解】
雖然我是蒟蒻,但是題解保證高質量惹。我們從day1講起
day1 t1 rps
簡直就是水題呢,主要考你會不會石頭剪刀布,會不會編程。注意下表(我還是不能像大神一樣掠過惹):
day1 t2 link
雖然我考場上寫掛了,各種淚啊!
簡述一下思路,對於每一個點我們維護三個值
sum,max1,max2分別表示與他們相連的所有點的權值和,相連所有點中權值最大的,相連點中權值次大的。
然後我們枚舉所有的邊。
對於每條邊,我們重新更新一下tot(有序和值),ans(最大值)
設每條邊相連的連點爲x y
tot+= (sum[x]*w[y]+sum[y]*w[x]-w[x]^2-w[y]^2) (pascal黨: inc(tot,sum[x]*w[y]+sum[y]*w[x]-w[x]^2-w[y]^2)) 簡而言之就是 x-y->y相連的點 y->x->x相連的點(注意去掉自己)
ans=max(ans,w[x]*max[y],w[y]*max[x]])
/* 如果w[x]與max1[y]相等 max[y]取max2[y] 否則取 max1[y] max[x]的取值同理,意在於排除自己*自己的情況 */
講的有一點奇怪,看不懂的可以找找大神的題解,啦啦啦。
day1 t3 bird
一下考後我就把這個遊戲刪了,傷心啊!TAT!
我們可以腦補成一個揹包問題。表示ydc大神的好看多了!
蒽,day1大體就是這樣。
day2 t1 wireless
額,繼續教你怎麼編程。好吧要考慮,矩形可以出界限。哎呀滾粗滾粗。
day2 t2 road
好吧,這道題有高端做法,哎呀我不會類!噹噹噹當,介紹我的2B方法
從匯點出發走一次SPFA,求出所有點是否可以達到(其實連通性各種亂搞就可以了惹!!!BFS DFS都可以完美解決問題的啦啦啦)
把所有點掃一遍,看看是不是能出現在路徑上
然後從源點跑一遍SPFA(爲啥這個是跑一遍啊,邊不是少了麼 o_o !)
呵呵呵!就這樣搞定了!感覺SPFA會被卡,哎呀我是蒟蒻我不拍
day2 t3 equation
簡直是高冷的題目有很多版本啊
我考場上和ydc大神的思路是一樣的:
一個O(nm)的做法是枚舉並在模意義下驗根,但是單純這麼做幾乎不可能過
容易證明對於原方程的一個根x,必有x|a0
a0在[1,m]內的約數個數不會特別多,我們如果能做到只對他的約數驗根,那麼驗根的時間是能夠承受的,於是瓶頸在於找[1,m]內的所有約數
利用篩法的思想,我們找所有形如pk,p爲質數的不能被a0整除的數,將他們的倍數篩去。
a0的指數和當然不會太大,我們真正的瓶頸在於——對於每個質數,要試驗他是否是a0的約數
記π(n)=n/ln(n),L=lga0,這樣的時間複雜度是O(Lπ(n))的,顯然過不去
壓位大法好,第一反應是壓5位
就是這樣的。然後我只壓惹五位(⊙o⊙)!果斷跪跪跪!還是覺得策爺的想法高端又可行
暴力做法是對[1,m]的所有整數在模意義下驗證,複雜度O(nm)。
取一個質數P,對[0,P−1]的整數進行驗證(模P意義下),複雜度是O(Pn)。(注意挑選的P需要保證f(x)在模P意義下不會變成零多項式)
然後可以知道模P意義下有不超過n個解。(拉格朗日定理)
那麼對應地,在[1,m]中至多隻有n⋅⌈m/P⌉個解,對這些解進行驗證即可。複雜度O(n2m/P)。
取P在nm−−−√附近。總複雜度O(nnm−−−√)。
大神們肯定不屑於知道拉格朗日定理,我還是普及一下吧!設p是一個素數,f(x)是整係數多項式,模p的次數爲n,則同餘方程f(x)≡0(modp)至多有n個互不相同(即模p互不同餘)的解。--拉格朗日定理(數論方面的)
好了,我的蒟蒻醬油記和題解就到這裏了,歡迎大神評論。\(^o^)/~感覺NOIp考成這樣只能說:“oi再見!!!”