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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

D - Wave

發(fā)布時間:2024/8/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 D - Wave 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

D - Wave

目錄

D - Wave

Input

Output

Sample Input

Sample Output

?AC代碼


Avin is studying series. A series is called "wave" if the following conditions are satisfied:
1) It contains at least two elements;
2) All elements at odd positions are the same;
3) All elements at even positions are the same;
4) Elements at odd positions are NOT the same as the elements at even positions.
You are given a series with length n. Avin asks you to find the longest "wave" subseries. A subseries is a subsequence of a series.

Input

The first line contains two numbers n, c (1 ≤ n ≤ 100, 000, 1 ≤ c ≤ 100). The second line contains n integers whose range is [1, c], which represents the series. It is guaranteed that there is always a "wave" subseries.

Output

Print the length of the longest "wave" subseries.

Sample Input

5 3 1 2 1 3 2

Sample Output

4

1) 它至少包含兩個元素;

2) 奇數(shù)位置的所有元素都相同;

3) 偶數(shù)位置的所有元素都是相同的;

4) 奇數(shù)位置的元素與偶數(shù)位置的元素不同。

?

滿足的子序列包含這兩個條件

首先一開始的思路是模擬,發(fā)現(xiàn)有點(diǎn)困難,如果模擬的話就必須刪去元素,十分復(fù)雜。

看了網(wǎng)上的dp解法,妙不可言

用dp算,dp[2][1]表示以21為循環(huán)節(jié)的個數(shù),以1結(jié)尾;dp[1][2]表示以12為循環(huán)節(jié)的個數(shù)。那么dp[1][2] = dp[2][1]+1;以此類推。

?

?

?AC代碼?

#include <bits/stdc++.h> using namespace std; typedef long long LL; LL dp[105][105],ans=1; int N,C,X; int main() {scanf("%d%d",&N,&C);for(int i=1;i<=N;i++){scanf("%d",&X);for(int j=1;j<=C;j++){dp[X][j]=dp[j][X]+1;if(X!=j)//奇偶位不能相同ans=max(ans,dp[X][j]);}}printf("%lld\n",ans);return 0; }

?

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的D - Wave的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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