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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【noiOJ】P1996

發布時間:2025/7/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【noiOJ】P1996 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1996:登山

  • 查看
  • 提交
  • 統計
  • 提問
總時間限制:?
5000ms
內存限制:?
131072kB
描述

五一到了,PKU-ACM隊組織大家去登山觀光,隊員們發現山上一個有N個景點,并且決定按照順序來瀏覽這些景點,即每次所瀏覽景點的編號都要大于前一個瀏覽景點的編號。同時隊員們還有另一個登山習慣,就是不連續瀏覽海拔相同的兩個景點,并且一旦開始下山,就不再向上走了。隊員們希望在滿足上面條件的同時,盡可能多的瀏覽景點,你能幫他們找出最多可能瀏覽的景點數么?

輸入
Line 1: N (2 <= N <= 1000) 景點數
Line 2: N個整數,每個景點的海拔
輸出
最多能瀏覽的景點數
樣例輸入
8 186 186 150 200 160 130 197 220
樣例輸出
4
來源
第六屆北京大學程序設計大賽暨ACM/ICPC選拔賽
SOURCE:其實就是合唱隊形,從左到右掃一遍,從右到左掃一遍,最后枚舉一下就好。
1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 int n,i,j; 5 int a[1200],f1[1200],f2[1200],maxn; 6 int main() 7 { 8 scanf("%d",&n); 9 for (i=1;i<=n;i++) 10 scanf("%d",&a[i]); 11 for (i=1;i<=n;i++) 12 f1[i]=f2[i]=1; 13 for (i=1;i<=n;i++) 14 for (j=1;j<i;j++) 15 if (a[i]>a[j]) f1[i]=max(f1[i],f1[j]+1); 16 for (i=n;i>=1;i--) 17 for (j=n;j>i;j--) 18 if (a[i]>a[j]) f2[i]=max(f2[i],f2[j]+1); 19 for (i=1;i<=n;i++) 20 maxn=max(maxn,f1[i]+f2[i]-1); 21 printf("%d\n",maxn); 22 return 0; 23 }

?

轉載于:https://www.cnblogs.com/DMoon/p/5014172.html

總結

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

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