日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

UPC个人训练赛第十五场(AtCoder Grand Contest 031)

發(fā)布時(shí)間:2025/5/22 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UPC个人训练赛第十五场(AtCoder Grand Contest 031) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

傳送門:

  [1]:AtCoder

  [2]:UPC比賽場(chǎng)

  [3]:UPC補(bǔ)題場(chǎng)

?

參考資料

  [1]:https://www.cnblogs.com/QLU-ACM/p/11191644.html

?

B.Reversi(記錄結(jié)果再利用的DP)

?參考資料

  [1]:中國(guó)石油大學(xué)(華東), 張森

?題意

  有 n 個(gè)石子,編號(hào)為 1~n ,第 i 個(gè)石子被涂成顏色 coli

  操作:任選兩個(gè)顏色相同的石子 i,j ,i 與 j 之間的所有石子涂成顏色 coli

  上述操作可以不執(zhí)行,也可以執(zhí)行多次;

  求最多有多少不同的顏色序列;

?題解

  定義 dp[ i ] 前 i 個(gè)石子最多的不同的顏色序列;

  對(duì)于第 i 個(gè)石子,可求出距石子 i 最近的石子 j ,并且石子 j 滿足 j < i && coli = colj?

  那么對(duì)于位置 i , j :

  ①如果不執(zhí)行操作,那么 dp[ i ]=dp[ i-1 ];

  ②如果執(zhí)行操作,并且 j ≠ i-1 ,那么 dp[ i ] = dp[ j ];

  綜上,對(duì)于第 i 個(gè)位置的石子,首先令 dp[ i ]=dp[ i-1 ],如果?j?≠ i-1,dp[ i ] += dp[ j ];

?Code

1 #include<bits/stdc++.h> 2 using namespace std; 3 #define ll long long 4 const int MOD=1e9+7; 5 const int maxn=2e5+50; 6 7 int n; 8 int col[maxn]; 9 int pos[maxn]; 10 ll dp[maxn]; 11 12 ll Solve() 13 { 14 dp[0]=0; 15 dp[1]=1; 16 pos[col[1]]=1; 17 18 for(int i=2;i <= n;++i) 19 { 20 dp[i]=dp[i-1]; 21 int j=pos[col[i]]; 22 23 if(j != i-1) 24 { 25 dp[i] += dp[j]; 26 dp[i] %= MOD; 27 } 28 29 pos[col[i]]=i;///不管j是否為i-1,都要更新pos[col[i]]; 30 } 31 return dp[n]%MOD; 32 } 33 int main() 34 { 35 scanf("%d",&n); 36 for(int i=1;i <= n;++i) 37 scanf("%d",col+i); 38 39 printf("%d\n",Solve()); 40 41 return 0; 42 } View Code

 


G.輪回(待解決)

?參考資料

  [1]:wjyyy

?

轉(zhuǎn)載于:https://www.cnblogs.com/violet-acmer/p/11193983.html

總結(jié)

以上是生活随笔為你收集整理的UPC个人训练赛第十五场(AtCoder Grand Contest 031)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。