日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AtCoder Regular Contest 061

發布時間:2023/12/4 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AtCoder Regular Contest 061 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • C - Many Formulas
  • D - Snuke's Coloring
  • E - Snuke's Subway Trip
  • F - Card Game for Three

傳送門

C - Many Formulas

Score : 300300300 points 爆搜

直接dfsdfsdfs爆搜即可

復雜度O(2n)O(2^n)O(2n)

代碼

D - Snuke’s Coloring

Score : 400400400 points

考慮有標記的3×33×33×3的格子很少,所以直接暴力跑這些格子即可。

復雜度O(n)O(n)O(n)

代碼

E - Snuke’s Subway Trip

Score : 600600600 points 優化建圖 + dijkstradijkstradijkstra

經典建圖了,考的n2?>nn^2->nn2?>n建圖的優化

考慮對每個點延伸出max{ci}max\{ c_i\}max{ci?}個點,編號為1,2,...,max{ci}1,2,...,max\{c_i\}1,2,...,max{ci?},將這個點與延伸出的點連邊,邊權為111,讓后對于邊(a,b,c)(a,b,c)(a,b,c)我們將aaa延伸出的ccc號點與bbb延伸出的ccc號點連接,邊權為000,此時跑dikstradikstradikstra就是答案了。

但是細心的小伙伴就發現了,上面建圖不還是n2n^2n2嗎?考慮每個點延伸出來的每個點不一定有用,所以刪去沒用的,剩下有用的個數就是O(m)O(m)O(m)級別的了。

復雜度O(mlogn)O(mlogn)O(mlogn)

代碼

F - Card Game for Three

Score : 110011001100 points 組合數學 + 容斥dpdpdp

將若干操作考慮成一組操作序列,合法序列應該滿足如下要求:aaa出現恰好nnn次,bbb出現≤m\le mmccc出現≤k\le kk,序列長度范圍是[n,n+m+k][n,n+m+k][n,n+m+k],我們枚舉當前的序列長度,然后考慮組合數學求出方案。

假設當前枚舉的長度是iii,首先最后一次也就是第iii次一定是aaa,讓后剩下的n+m+k?in+m+k-in+m+k?i個位置任意,就有3n+m+k?i3^{n+m+k-i}3n+m+k?i種,所以我們需要先從i?1i-1i?1個中選n?1n-1n?1個,這個比較簡單就是(i?1n?1)\binom{i-1}{n-1}(n?1i?1?),此時剩下了n?in-in?i個位置,我們需要將b,cb,cb,c都填入這幾個位置,并且他們長度都滿足要求。一個比較暴力的做法就是枚舉bbb的長度,讓后判斷ccc是否符合條件,總方案就是(i?1n?1)?3n+m+k?i?∑x=0m[i?n?x<=k](i?nx)\binom{i-1}{n-1}*3^{n+m+k-i}*\sum_{x=0}^{m}[i-n-x<=k]\binom{i-n}{x}(n?1i?1?)?3n+m+k?i?x=0m?[i?n?x<=k](xi?n?),但是容易發現這個復雜度是O(n2)O(n^2)O(n2)的,網上有題解說像楊輝三角。。沒看出來,但是不難發現我們的問題就是從iii個里面選xxxbbbyyyccc,并且合法,那么定義f[i]f[i]f[i]代表長度為iii的時候合法的數量,轉移方程: f[i]=f[i?1]?2?(i?1m)?(i?1k)f[i]=f[i-1]*2-\binom{i-1}{m}-\binom{i-1}{k}f[i]=f[i?1]?2?(mi?1?)?(ki?1?),含義是當前第iii位置可以選b,cb,cb,c,這樣就是f[i?1]?2f[i-1]*2f[i?1]?2,但是當選bbb的時候如果i?1i-1i?1個位置里面有mmm個位置是bbb,那么就是不合法的需要減去,對于ccc同理。預處理出來之后答案就很好算了,iii位置的總方案就是(i?1n?1)?3n+m+k?i?f[i?n]\binom{i-1}{n-1}*3^{n+m+k-i}*f[i-n](n?1i?1?)?3n+m+k?i?f[i?n]

復雜度O(n)O(n)O(n)

代碼

總結

以上是生活随笔為你收集整理的AtCoder Regular Contest 061的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。