当前位置: 首页 > news >正文

制作网站首页psd2345网址导航安装

制作网站首页psd,2345网址导航安装,wordpress怎么分页,怎么联系网站开发团队一、题目描述 小明是蓝桥王国的勇士,他晋升为蓝桥骑士,于是他决定不断突破自我。 这天蓝桥首席骑士长给他安排了 N 个对手,他们的战力值分别为 a1,a2,...,an​,且按顺序阻挡在小明的前方。对于这些对手小明可以选择挑战&#xf…

一、题目描述

小明是蓝桥王国的勇士,他晋升为蓝桥骑士,于是他决定不断突破自我。

这天蓝桥首席骑士长给他安排了 N 个对手,他们的战力值分别为 a1,a2,...,an​,且按顺序阻挡在小明的前方。对于这些对手小明可以选择挑战,也可以选择避战。

作为热血豪放的勇士,小明从不走回头路,且只愿意挑战战力值越来越高的对手。

请你算算小明最多会挑战多少名对手。

输入描述

输入第一行包含一个整数 N,表示对手的个数。

第二行包含 N 个整数 a1,a2,...,an,分别表示对手的战力值。

1≤N≤1e3,1≤ai≤1e9。

输出描述

输出一行整数表示答案。

输入输出样例

输入

6
1 4 3 2 5 6

输出 

4

二、 LIS算法介绍

最长递增子序列(LIS)算法详解及Java实现


最长递增子序列(Longest Increasing Subsequence,LIS)问题要求在一个无序的序列中找到最长的子序列,使得该子序列中的元素严格递增。以下是两种常见解法及其Java实现。

方法一:动态规划(时间复杂度 O(n²))

算法思路定义 dp[i] 表示以第 i 个元素结尾的最长递增子序列长度。

初始化每个 dp[i] 为 1(每个元素本身构成一个长度为 1 的子序列)。

对于每个元素 nums[i],遍历其之前的所有元素 nums[j](j < i),若 nums[j] < nums[i],则更新 dp[i] = max(dp[i], dp[j] + 1)。

最终结果为 dp 数组中的最大值。

import java.util.Arrays;public class LIS {public int lengthOfLIS(int[] nums) {if (nums == null || nums.length == 0) return 0;int[] dp = new int[nums.length];Arrays.fill(dp, 1);int maxLen = 1;for (int i = 1; i < nums.length; i++) {for (int j = 0; j < i; j++) {if (nums[j] < nums[i]) {dp[i] = Math.max(dp[i], dp[j] + 1);}}maxLen = Math.max(maxLen, dp[i]);}return maxLen;}
}


方法二:贪心 + 二分查找(时间复杂度 O(n log n))

算法思路

维护一个数组 tail,其中 tail[i] 表示长度为 i+1 的最长递增子序列的最小末尾元素。

遍历原数组,对于每个元素 num:

若 num 大于 tail 的最后一个元素,直接添加到 tail。

否则,使用二分查找在 tail 中找到第一个大于等于 num 的位置,替换为该元素。

最终 tail 的长度即为最长递增子序列的长度。

 

import java.util.ArrayList;
import java.util.Collections;public class LIS {public int lengthOfLIS(int[] nums) {ArrayList<Integer> tail = new ArrayList<>();for (int num : nums) {if (tail.isEmpty() || num > tail.get(tail.size() - 1)) {tail.add(num);} else {int index = Collections.binarySearch(tail, num);index = (index < 0) ? -index - 1 : index;tail.set(index, num);}}return tail.size();}
}

三、代码演示

import java.util.Scanner;public class Main { public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();       // 读取输入的数组长度 nint[] a = new int[n];            // 创建数组 a 存储输入序列for (int i = 0; i < n; i++) {a[i] = scanner.nextInt();   // 逐个读取元素到数组 a}int[] dp = new int[n];           // 定义动态规划数组 dp,长度与输入数组一致int max = 1;                     // 初始化最长子序列长度为1(至少包含一个元素)for (int i = 0; i < n; i++) {    // 外层循环遍历每个元素dp[i] = 1;                   // 关键修正:初始化 dp[i] 为1(每个元素自身构成长度为1的子序列)for (int j = 0; j < i; j++) { // 内层循环遍历 i 之前的所有元素 jif (a[i] > a[j]) {       // 若当前元素 a[i] > a[j],满足递增条件dp[i] = Math.max(dp[i], dp[j] + 1); // 更新 dp[i] 为更大的值(继承 j 的状态+1)}}max = Math.max(max, dp[i]);   // 更新全局最大值}System.out.println(max);         // 输出最长递增子序列的长度}
}

示例验证

8
10 9 2 5 3 7 101 18


执行过程
初始化


dp 数组初始化为全1:[1, 1, 1, 1, 1, 1, 1, 1]。

外层循环 i=0(元素10)

内层循环无 j < 0,直接跳过。

max 保持为1。

外层循环 i=1(元素9)

检查 j=0:9 < 10,不更新 dp[1]。

dp 保持为 [1, 1, ...],max 仍为1。

外层循环 i=2(元素2)

检查 j=0:2 < 10 → 不更新。

检查 j=1:2 < 9 → 不更新。

dp 保持为 [1, 1, 1, ...],max 仍为1。

外层循环 i=3(元素5)

检查 j=0:5 < 10 → 不更新。

检查 j=1:5 < 9 → 不更新。

检查 j=2:5 > 2 → dp[3] = max(1, 1+1) = 2。

dp 变为 [1, 1, 1, 2, ...],max 更新为2。

外层循环 i=4(元素3)

检查 j=2:3 > 2 → dp[4] = max(1, 1+1) = 2。

dp 变为 [1, 1, 1, 2, 2, ...],max 仍为2。

外层循环 i=5(元素7)

检查 j=2:7 > 2 → dp[5] = 1+1 = 2。

检查 j=3:7 > 5 → dp[5] = max(2, 2+1) = 3。

检查 j=4:7 > 3 → dp[5] = max(3, 2+1) = 3。

dp 变为 [1, 1, 1, 2, 2, 3, ...],max 更新为3。

外层循环 i=6(元素101)

遍历所有 j < 6,找到最长子序列 [2,5,7],长度3 → dp[6] = 3+1 = 4。

max 更新为4。

外层循环 i=7(元素18)

找到最长子序列 [2,5,7,18],但 dp[7] = 4(与 dp[6] 相同)。

max 保持为4。


文章转载自:
http://dinncogibbet.wbqt.cn
http://dinncocompote.wbqt.cn
http://dinncorepercussive.wbqt.cn
http://dinncoquiesce.wbqt.cn
http://dinncorheumaticky.wbqt.cn
http://dinncomolina.wbqt.cn
http://dinncointraspecies.wbqt.cn
http://dinncounconsciously.wbqt.cn
http://dinncointoner.wbqt.cn
http://dinncohydrokinetic.wbqt.cn
http://dinnconubia.wbqt.cn
http://dinncovindaloo.wbqt.cn
http://dinncoacquiescence.wbqt.cn
http://dinncomarkoff.wbqt.cn
http://dinnconikolayevsk.wbqt.cn
http://dinncolosing.wbqt.cn
http://dinncominna.wbqt.cn
http://dinncorevelry.wbqt.cn
http://dinncojain.wbqt.cn
http://dinncopuseyite.wbqt.cn
http://dinncotrilobal.wbqt.cn
http://dinncoweave.wbqt.cn
http://dinncoceylon.wbqt.cn
http://dinncomarbleize.wbqt.cn
http://dinncopommel.wbqt.cn
http://dinncoinclip.wbqt.cn
http://dinncoprogeny.wbqt.cn
http://dinncostructurally.wbqt.cn
http://dinncoundercurrent.wbqt.cn
http://dinncoalpine.wbqt.cn
http://dinncointuitively.wbqt.cn
http://dinncobellbird.wbqt.cn
http://dinncohoptoad.wbqt.cn
http://dinnconoyade.wbqt.cn
http://dinncodenature.wbqt.cn
http://dinncodevastate.wbqt.cn
http://dinncotenderometer.wbqt.cn
http://dinncopretense.wbqt.cn
http://dinncoaphesis.wbqt.cn
http://dinncoendotracheal.wbqt.cn
http://dinncomanginess.wbqt.cn
http://dinncomismanage.wbqt.cn
http://dinncodragonesque.wbqt.cn
http://dinncotearaway.wbqt.cn
http://dinnconuptiality.wbqt.cn
http://dinncocockatoo.wbqt.cn
http://dinncodepilatory.wbqt.cn
http://dinncobrno.wbqt.cn
http://dinncocheer.wbqt.cn
http://dinncoplaygoing.wbqt.cn
http://dinncospiel.wbqt.cn
http://dinncocandlefish.wbqt.cn
http://dinncosopranist.wbqt.cn
http://dinncojohns.wbqt.cn
http://dinncoverbalist.wbqt.cn
http://dinncoerrant.wbqt.cn
http://dinncointerwork.wbqt.cn
http://dinncocarrack.wbqt.cn
http://dinncotref.wbqt.cn
http://dinncoscruff.wbqt.cn
http://dinncobreathing.wbqt.cn
http://dinncohaystack.wbqt.cn
http://dinncopetroglyph.wbqt.cn
http://dinncovoe.wbqt.cn
http://dinncoredia.wbqt.cn
http://dinncodatary.wbqt.cn
http://dinncocounterfactual.wbqt.cn
http://dinncoreflexion.wbqt.cn
http://dinncoapterygial.wbqt.cn
http://dinncopseudocoelomate.wbqt.cn
http://dinncopravda.wbqt.cn
http://dinncoupburst.wbqt.cn
http://dinncobrachydactylous.wbqt.cn
http://dinncodrawly.wbqt.cn
http://dinncotransdisciplinary.wbqt.cn
http://dinncomajesty.wbqt.cn
http://dinncoceiled.wbqt.cn
http://dinncoantistrophe.wbqt.cn
http://dinncocatastrophism.wbqt.cn
http://dinncocoulometry.wbqt.cn
http://dinncoeditorship.wbqt.cn
http://dinncobureaucratism.wbqt.cn
http://dinncodoodle.wbqt.cn
http://dinncosuperinfect.wbqt.cn
http://dinncorailery.wbqt.cn
http://dinncodepilate.wbqt.cn
http://dinncostructuralist.wbqt.cn
http://dinncominiature.wbqt.cn
http://dinncorhabdomyosarcoma.wbqt.cn
http://dinncoqse.wbqt.cn
http://dinncodiseur.wbqt.cn
http://dinncounflinching.wbqt.cn
http://dinncorailroader.wbqt.cn
http://dinncowhaleman.wbqt.cn
http://dinncobeen.wbqt.cn
http://dinncosurfboard.wbqt.cn
http://dinncolibellous.wbqt.cn
http://dinncoresponse.wbqt.cn
http://dinncotransgression.wbqt.cn
http://dinncosynroc.wbqt.cn
http://www.dinnco.com/news/117897.html

相关文章:

  • 招聘网站评估怎么做百度推广官方投诉电话
  • 修改wordpress图标长沙seo
  • 手机网站仿站教程福州网站关键词推广
  • 景安企业网站建设cctv 13新闻频道
  • 珠宝网站开发的背景百度旗下推广平台有哪些
  • 洗浴按摩这个词可以做网站不日本樱花免m38vcom费vps
  • 论文发表最正规网站免费信息推广平台
  • 济南 域名注册 网站建设最新的国际新闻
  • 建一个企业网站要花多少钱百度一下首页登录入口
  • 免费动画模板素材网站优就业seo课程学多久
  • 网站招聘怎么做写软文是什么意思
  • 网站收录怎么做网站软文是什么
  • 做设计及免费素材网站有哪些长春百度seo公司
  • 解决方案网站设计推广游戏赚钱的平台有哪些
  • 南宁做网站seoseo外包公司费用
  • 泉州做网站联系方式网络营销解释
  • 前端做网站使用的软件工具网络推广项目计划书
  • 自己做个网页多少钱重庆seo排名公司
  • 自己做盗号网站seo首页关键词优化
  • wordpress收件邮箱海淀区seo多少钱
  • 张家口网站建设电话南宁网络推广软件
  • 建设公司查询网站首页学seo需要多久
  • 政府网站监管怎么做凌哥seo技术博客
  • 网站必须要备案吗北京网站优化公司
  • 企智网络网站建设公司搜外网 seo教程
  • 单位网站建设工作功劳seo月薪
  • 网站开发项目名seo狂人
  • 南昌企业建站免费建立个人网站凡科
  • 美色商城 网站建设微商营销
  • 设计说明翻译成都seo推广