#include#includeusingnamespacestd;inta[1005],dp[1005],n;intLIS(){inti,j,ans,m;dp[1]=1;ans=1;for(i=2;i<=n;i++){m=0;for(j=1;jm&&a[j]

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

最長(zhǎng)遞增的子序列(模板)

系統(tǒng) 2320 0

普通情況:

  1. #include?<stdio.h> ??
  2. #include?<algorithm> ??
  3. #include?<string.h> ??
  4. using ? namespace ?std;??
  5. ??
  6. int ?a[1005],dp[1005],n;??
  7. ??
  8. int ?LIS()??
  9. {??
  10. ???? int ?i,j,ans,m;??
  11. ????dp[1]?=?1;??
  12. ????ans?=?1;??
  13. ???? for (i?=?2;i<=n;i++)??
  14. ????{??
  15. ????????m?=?0;??
  16. ???????? for (j?=?1;j<i;j++)??
  17. ????????{??
  18. ???????????? if (dp[j]>m?&&?a[j]<a[i])??
  19. ????????????m?=?dp[j];??
  20. ????????}??
  21. ????????dp[i]?=?m+1;??
  22. ???????? if (dp[i]>ans)??
  23. ????????ans?=?dp[i];??
  24. ????}??
  25. ???? return ?ans;??
  26. }??


?

二分優(yōu)化

  1. #include?<stdio.h> ??
  2. #include?<string.h> ??
  3. #include?<algorithm> ??
  4. using ? namespace ?std;??
  5. ??
  6. int ?a[40005],dp[40005],n;??
  7. ??
  8. int ?bin( int ?size, int ?k)??
  9. {??
  10. ???? int ?l?=?1,r?=?size;??
  11. ???? while (l<=r)??
  12. ????{??
  13. ???????? int ?mid?=?(l+r)/2;??
  14. ???????? if (k>dp[mid])??
  15. ????????????l?=?mid+1;??
  16. ???????? else ??
  17. ????????????r?=?mid-1;??
  18. ????}??
  19. ???? return ?l;??
  20. }??
  21. ??
  22. int ?LIS()??
  23. {??
  24. ???? int ?i,j,ans=1;??
  25. ????dp[1]?=?a[1];??
  26. ???? for (i?=?2;?i<=n;?i++)??
  27. ????{??
  28. ???????? if (a[i]<=dp[1])??
  29. ????????????j?=?1;??
  30. ???????? else ? if (a[i]>dp[ans])??
  31. ????????????j?=?++ans;??
  32. ???????? else ??
  33. ????????????j?=?bin(ans,a[i]);??
  34. ????????dp[j]?=?a[i];??
  35. ????}??
  36. ???? return ?ans;??
  37. }??

最長(zhǎng)遞增的子序列(模板)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 临潭县| 濉溪县| 基隆市| 宜春市| 阿克陶县| 安多县| 新营市| 富民县| 灵山县| 全椒县| 凉山| 盈江县| 黑河市| 贞丰县| 商都县| 元谋县| 桐城市| 巴东县| 舒兰市| 湖南省| 册亨县| 柞水县| 宁阳县| 郸城县| 吉首市| 宾川县| 南川市| 南投市| 拉孜县| 本溪| 无极县| 晋中市| 中卫市| 澳门| 长垣县| 仙桃市| 万年县| 长兴县| 宽甸| 湘潭市| 唐海县|