国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

poj1836

2019-11-09 20:04:53
字體:
來源:轉載
供稿:網友

題目大意:

給一組數字,求這組數字的最長下降子序列。

解題思路:

最長下降子序列的標準題,可以當做模板

代碼如下:

#include<stdio.h>const int inf=3;int binary_search_1(double ord[],double digit,int head,int length){ int left=head,right=length; int mid; while(right!=left) { mid=(left+right)/2; if(digit==ord[mid]) return mid; else if(digit<ord[mid]) right=mid; else left=mid+1; } return left;}int binary_search_2(double ord[],double digit,int head,int length){ int left=head,right=length; int mid; while(right!=left) { mid=(left+right)/2; if(digit==ord[mid]) return mid; else if(digit>ord[mid]) right=mid; else left=mid+1; } return left;}int main(){ int n; int i,j; int max; int m; double h[1001],ord[1001]; int len_LIS,len_LDS; while(scanf("%d",&n)!=EOF) { for(i=1;i<=n;i++) { scanf("%lf",&h[i]); } max=0; for(m=1;m<=n;m++) { ord[0]=-1; len_LIS=1; for(i=1;i<=m;i++) { ord[len_LIS]=inf; j=binary_search_1(ord,h[i],0,len_LIS); if(j==len_LIS) len_LIS++; ord[j]=h[i]; } len_LIS--; ord[m]=inf; len_LDS=1; for(i=m+1;i<=n;i++) { ord[m+len_LDS]=-1; j=binary_search_2(ord,h[i],m,m+len_LDS); if(j==m+len_LDS) len_LDS++; ord[j]=h[i]; } len_LDS--; if(max<len_LIS+len_LDS) max=len_LIS+len_LDS; }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 上蔡县| 海南省| 裕民县| 张家界市| 思南县| 自贡市| 黑河市| 阿勒泰市| 朝阳区| 政和县| 洛阳市| 北碚区| 汤原县| 新晃| 若羌县| 临武县| 蒙阴县| 杭锦旗| 沙湾县| 大埔县| 涞源县| 成武县| 外汇| 盱眙县| 英德市| 突泉县| 公主岭市| 临澧县| 东乌珠穆沁旗| 哈巴河县| 长春市| 双辽市| 京山县| 南陵县| 衡山县| 阿拉尔市| 互助| 康定县| 津市市| 正镶白旗| 巩留县|