金州饿霸
这个作者很懒,什么都没留下…
展开
-
网络流之最大流问题
1最大流问题Fold-Fulkerson算法(可反悔)参考资料:13-2: Ford-Fulkerson Algorithm 寻找网络最大流_哔哩哔哩_bilibili最大流问题是什么?最大流问题(maximum flow problem)属于网络流问题中的一种,是一个组合最优化问题,目的是利用传输工具实现最好的运输流量效果。流网络我们可以考虑一个带权有向图,其中是图中所有点的集合,是所有边的集合,且每一条边都有其流量上限。这个带权有向图中有两个特殊的点:...原创 2021-12-26 14:50:20 · 1150 阅读 · 0 评论 -
并查集的实现
并查集是什么并查集是一种用来管理元素分组情况的数据结构。并查集可以高效地进行如下操作。不过需要注意并查集虽然可以进行合并操作,但是却无法进行分割操作查询元素a和元素b是否属于同一组 合并元素a和元素b所在的组 并查集的结构并查集也是使用树形结构实现的,不过不是二叉树。每个元素对应一个节点,每个组对应一棵树。在并查集中,哪个节点是哪个节点的父亲以及树的形状等信息无需多家关注,整体组成一个树形结构才是重要的。(1)初始化我们准备n个节点来表示n个元素。最开始..原创 2021-12-25 18:58:41 · 647 阅读 · 0 评论 -
哈夫曼编码
一、哈夫曼树介绍在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN)树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的 路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL(W1*L1+W2*L2+W3*L3+…+Wn*Ln),N个权值Wi原创 2021-12-25 18:12:13 · 678 阅读 · 0 评论 -
最优二叉搜索树
一、什么是最优二叉查找树最优二叉查找树:给定n个互异的关键字组成的序列K=<k1,k2,...,kn>,且关键字有序(k1<k2<...<kn),我们想从这些关键字中构造一棵二叉查找树。对每个关键字ki,一次搜索搜索到的概率为pi。可能有一些搜索的值不在K内,因此还有n+1个“虚拟键”d0,d1,...,dn,他们代表不在K内的值。具体:d0代表所有小于k1的值,dn代表所有大于kn的值。而对于i = 1,2,...,n-1,虚拟键di代表所有位于ki和ki+1之间的值原创 2021-12-22 17:50:36 · 3348 阅读 · 0 评论 -
算法课后习题(动态规划算法)
1 题目:给出N个1-9的数字 (v1,v2,…,vN),不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。并说明其具有优化子结构性质及子问题重叠性质。例如: N=5, K=2,5个数字分别为1、2、3、4、5,可以加成:1*2*(3+4+5)=241*(2+3)*(4+5)=45(1*2+3)*(4+5)=45算法思路:N个数两两之间可以插入N-1个数符,而一共K个乘...原创 2021-12-12 20:56:04 · 1853 阅读 · 1 评论 -
算法课后习题(分治算法)
1 题目:设X[0:n-1]和Y[0:n-1]为两个数组,每个数组中含有n个已排好序的数。试设计一个O(logn)时间的分治算法,找出X和Y的2n个数的中位数。算法思路:其实,我们不需要将两个数组真的合并,我们只需要找到中位数在哪里就可以了。开始的思路是写一个循环,然后里边判断是否到了中位数的位置,到了就返回结果,但这里对偶数和奇数的分类会很麻烦。当其中一个数组遍历完后,出了 for 循环对边界的判断也会分几种情况。总体来说,虽然复杂度不影响,但代码会看起来很乱。首先是怎么将奇数和偶数.原创 2021-12-12 18:07:47 · 1902 阅读 · 0 评论 -
找数组中的第K小元素
题目:在给定数组a中找出第k小的元素。方法一:模拟小顶堆的排序过程算法思想:(与小顶堆类似)1 先设置一个buffer数组,把数组a的前k个元素来初始化数组buffer;2 然后从数组a的第k+1个元素开始,与buffer数组里最大的元素比较,如果大于buffer数组里最大的元素,则用a[i]的值替换buffer数组里最大的元素;3 在遍历完数组a之后,数组buffer里最大值即为我们所要求的第k小元素。完整代码:#include <iostream>using原创 2021-12-11 11:40:36 · 2696 阅读 · 0 评论 -
最近点对问题(分治法)
分治法适用情景该问题的规模缩小到一定的程度就可以容易地解决 (前提) 该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质 (关键) 利用该问题分解出的子问题的解可以合并为该问题的解; (效率) 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。使用分治法 (Divide and Conquer) 解题步骤Step1:Devide——将要解决的问题划分成若干规模较小的同类问题Step2:Conquer——当子问题划分得足够小时,用较简单的方法解决 (递原创 2021-12-10 20:18:20 · 2760 阅读 · 0 评论 -
大数加法与大数阶乘
1 大数加法题目:算法思路:1 用一个缓冲区buffer来存储输入的字符串数字;2 然后将输入的到buffer里的字符串逆序输入数组a中;3 接着将另外一个入的到buffer里的字符串逆序输入数组b中;4 模拟数学计算里的两个数字竖式加减的形式(如下图)5 设置temp记录当前竖式对应位相加的结果,up用来记录两个数字相加的进位,a[i]则用来记录两个数字相加个位数,则有如下公式:6 从前往后遍历数组a和b,最后结果存在数组a中,但是结果是逆序存储的,需要倒着..原创 2021-12-10 16:40:28 · 4674 阅读 · 0 评论 -
分治法求解一组数据的最大值和最小值
分治法主要有三个步骤:1.分解:将原问题划分为规模较小的几个子问题。2.求解:子问题小到可以求解了,就去求解。3.合并:将子问题的解合并为原问题的解。模拟过程如下:对于本问题就是不断地进行二分,直到分解为不可分的一个数组元素,这个数组元素是最小子问题的最大值也是最小值,之后再逐一合并为原问题的解。完整代码:#include <iostream>using namespace std;#define inf 0x3f3f3f3f void divideMaxM.原创 2021-12-09 20:13:22 · 1919 阅读 · 0 评论 -
主定理(Master Theorem)与时间复杂度
1. 问题Karatsuba 大整数的快速乘积算法的运行时间(时间复杂度的递推关系式)为 T(n)=O(n)+4⋅T(n/2)T(n)=O(n)+4⋅T(n/2),求其最终的时间复杂度。2. 主定理的内容3. 分析所以根据主定理的判别方法,可知对于 T(n)=O(n)+4⋅T(n/2),a=4, b=2,则 f(n)=O(n)<符合第一个判别式,因此,T(n)=O(n^2)....原创 2021-12-09 18:20:12 · 5125 阅读 · 0 评论 -
大整数相乘(分治法)
分治法的原理讨论问题时,先来了解一下什么是分治法。分治法的意思就是,分而治之,也就是把一个问题,拆分成几个小问题,最后再汇总解决的方法通过大整数相乘问题来了解分治法假如现在我们要求两个大整数相乘的乘积,如1234 * 1234(这里为了了分析简便,所以不举形如1234567891234567这样的大整数,不必要在此纠结),那么按照我们小学学的乘法,就是用乘数的每一项去和1234相乘,这样很明显,算法的时间复杂度是O(n^2),效率很低下,那么有没有一种更好的方式?我们可以使用分治..原创 2021-09-17 12:10:24 · 1671 阅读 · 0 评论 -
1022 最长公共子序列的变题(T相似度最大长度)
题目:给定两个字符串A和B,如果|A[i]-B[j]|<T,则称两个字符相似,算一个T相似度,求两个序列T相似度最大长度。算法基本思路:模拟求解最长公共子序列(LCS)的过程即可,关键是要有这一步的判断,其余步骤都与LCS算法过程一样。完整代码:#include<iostream>#include<algorithm>#include<string>using namespace std; int main(){ int m,..原创 2021-12-09 16:34:10 · 509 阅读 · 0 评论 -
求n的阶乘的四种方式(总结)
(1)循环法#include <iostream>using namespace std;long fac(int); //函数声明int main( ) {int n; //n为需要求阶乘的整数 long y; //y为存放n!的变量 cout<<"please input an integer :";原创 2021-11-12 22:42:01 · 5073 阅读 · 0 评论 -
9012 递归求n的阶乘
Description给定一整数n, 写递归函数求n!.Input输入第1行有一个int型正整数m (m<=20), 表示有m行输入.每行输入一个int型正整数n (0<n<20).Output输出m行, 每行为n!.Sample Input34156Sample Output241307674368000720完整代码:#include <iostream>using namespace s原创 2021-11-12 21:15:09 · 764 阅读 · 0 评论 -
动态规划之背包问题系列总结
背包问题是一类经典的动态规划问题,它非常灵活,需要仔细琢磨体会,本文先对背包问题的几种常见类型作一个总结,再给出代码模板,然后再看看LeetCode上几个相关题目。根据维基百科,背包问题(Knapsack problem)是一种组合优化的NP完全(NP-Complete,NPC)问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。NPC问题是没有多项式时间复杂度的解法的,但是利用动态规划,我们可以以伪多项式时间复杂度求解背包问题原创 2021-11-07 11:01:35 · 724 阅读 · 0 评论 -
动态规划——0/1背包问题
题目信息问题:现有背包。其中有四个商品。价值-体积如下* 物品编号: 1 2 3 4* 物品体积: 2 3 4 5* 物品价值: 3 4 5 6* 问:如何才能保证在背包容量为8的情况下装的价值最大?背包问题,动态规划思路1、构建dp表,dp【i】【j】代表该i编号的背包为止容量为j的最大价值。先填表加深理解。2、填完表如果要找出价值为k的容量的背包加入的物品标号只需要从i=dp.length-1,j=k的dp数组元素处回溯。填完表如下(借视频中up主的结果):.原创 2021-11-06 17:47:52 · 266 阅读 · 0 评论 -
动态规划——最长公共子序列(LCS)长度+路径输出
问题:例如:X={A,B,C,B,A,D,B},Y={B,C,B,A,A,C},那么,二者的最长公共子序列是{B,C,B,A},长度为4。我们首先需要搞清楚以下两个概念:最长公共子序列 VS 最长公共子串:找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的。而最长公共子序列则并不要求连续。上述问题中的最长公共子序列与最长公共子串是一样的。但是再举例X={A,B,C,B,A,D,B},Y={B,C,B,A,A,B},二者的最长公共子序列是{B,C,B,A,B},而二者的最长公共子原创 2021-11-04 22:19:54 · 499 阅读 · 0 评论 -
算法设计与分析/动态规划——最长公共子序列LCS及模板
一,问题描述给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence)。比如字符串1:BDCABA;字符串2:ABCBDAB则这两个字符串的最长公共子序列长度为4,最长公共子序列是:BCBA二,算法求解这是一个动态规划的题目。对于可用动态规划求解的问题,一般有两个特征:①最优子结构;②重叠子问题①最优子结构设 X=(x1,x2,.....xn) 和 Y={y1,y2,.....ym} 是两个序列,将 X 和 Y 的最长公共子序列记为LCS(X,原创 2021-10-20 17:36:27 · 222 阅读 · 0 评论 -
动态规划——矩阵连乘问题
动态规划简介动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果我们能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。我们可以用一个表来记录所有已解的子问题的答案。不管该子问题以后是否被用到,只要它被计算过,就将其结原创 2021-10-20 12:11:17 · 867 阅读 · 0 评论 -
1044 城市导航
Description城市路网:用有向图G(V,E)表示城市路网,其中V={v1,v2,…,vm}表示m个路口结点,有向边 e(vi,vj)表示连接路口vi和vj的路段。不存在歧义的情况下,我们将e(vi,vj)缩写为e。路段行驶时间:给定路段e,首先定义该路段为空载时(即没有车辆通过)的行驶时间为t0(e)。然后,定义路段e上的流量fe为所有通过路段e的车辆总和。给定路段e以及流量f_e,每辆车通过路段e的行驶时间t(e)定义为:t(e) = t0(e) * (1 + α(e) * (fe -原创 2021-09-20 11:25:37 · 681 阅读 · 1 评论 -
1043 鸡蛋掉落
Description你将获得K个鸡蛋,并可以使用一栋从1到N共有 N层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层F ,满足0 <= F <= N 任何从高于 F的楼层落下的鸡蛋都会碎,从F楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层X扔下(满足1 <= X <= N)。你的目标是确切地知道 F 的值是多少。无论 F 的初始值...原创 2021-09-20 11:23:33 · 293 阅读 · 0 评论 -
1042 最低票价
Description在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为days的数组给出。每一项是一个从1到365的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为costs[0] 美元;一张为期七天的通行证售价为costs[1] 美元;一张为期三十天的通行证售价为costs[2] 美元。通行证允许数天无限制的旅行。 例如,如果我们在第 2 天获得一张为期 7 天的通行证,那么我们可以连着旅行 7 天:...原创 2021-09-20 11:22:51 · 182 阅读 · 0 评论 -
1041 寻找两个正序数组的中位数
Description给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?Input第一行输入nums表示有nums组测试每组测试输入n和m,分别表示数组nums1和nums2的长度然后输入正序数组nums1接着输入正序数组nums2Output对每组测试数据输出两个正序数组的中位数Sample Input原创 2021-09-20 11:22:19 · 233 阅读 · 0 评论 -
1040 搜索二维矩阵
Description编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:1. 每行的元素从左到右升序排列。2. 每列的元素从上到下升序排列。Input第一行输入nums表示有nums组测试每组测试输入m、n,target,分别表示矩阵的行列数以及目标值接下来输入m * n的二维矩阵Output对每组测试数据输出 能否在矩阵中找到target若能找到,输出true若找不到,输出falseSamp...原创 2021-09-20 11:21:49 · 168 阅读 · 0 评论 -
1039 拓扑排序
Description输入一张有向图, 输出拓扑排序后的的结果.Input输入第一行是一个int型整数t,表示有t组测试数据。接下来每组测试数据第一行为两个整数n,m(n<=300,0<=m<=n*(n-1)/2).表示后面有n个节点(编号为1,2,...,n ),m条有向边. 后面的m行中每行有两个int型整数X和Y,表示X号点到Y号点有一条有向边,表示Y号点必须出现在X号点之后.Output对于每组数据:若没有可行的拓扑方案,输出0.若可行方案存在,输原创 2021-09-20 11:21:16 · 202 阅读 · 0 评论 -
1038 非诚勿扰第二期
Description继非诚勿扰第一期节目顺利结束后,非诚勿扰第二期开始了!这一期节目同样一共邀请了n位男嘉宾和m位女嘉宾,每位男嘉宾都有几个自己中意的女嘉宾。更加幸运的是,这期的女嘉宾同样个个都是好演员,只要男嘉宾有想法她们愿意配合演出牵手成功!不过今时不同往日,女嘉宾答应演出是需要收费的。每位女嘉宾对于答应配合牵手不同的男嘉宾需要的费用视她的心情而定。现在导演组拿到了每位女嘉宾对于配合演出与每位男嘉宾牵手需要的费用,以及每位男嘉宾中意的女嘉宾名单,请问导演组在促成尽量多的荧幕情侣的同时,需要原创 2021-09-20 11:11:34 · 615 阅读 · 0 评论 -
1037 非诚勿扰第一期
Description火爆(曾经?)的相亲界扛把子节目非诚勿扰第一期开始了!第一期节目一共邀请了n位男嘉宾和m位女嘉宾,每位男嘉宾都有几个自己中意的女嘉宾。为了节目收视率,导演组决定要让尽可能多的男嘉宾牵手成功!幸运的是这一期女嘉宾都是演员,她们答应只要男嘉宾愿意,她们一定会配合演出答应牵手。现在导演组拿到了每位男嘉宾中意的女嘉宾名单,请问导演组最多可以让多少对荧幕情侣牵手成功。Input第一行输入T(T<=10)表示有T组数据。每组数据先输入两个正整数 n,m (n,m<原创 2021-09-19 22:09:31 · 704 阅读 · 0 评论 -
1036 KMP水题
Description给定文本串s与模式串t,求s中有多少个子串与t相同,两个子串视为不同仅当他们长度不等或起始位置不同。Input第一行输入T(T<=100)表示有T组数据。每组数据先输入两个正整数n、m(1<=n<=100000,1<=m<=n),分别表示文本串与模式串长度。紧接着输入两行字符串,即为s、t。Output输出T行正整数,第i行表示第i组文本串中有多少个子串与模式串相同。Sample Input25 3aba原创 2021-09-19 22:08:50 · 404 阅读 · 0 评论 -
1035 生产安排
Description某公司有个工厂和仓库。由于原材料等价格波动,工厂每个月的生产成本也会波动,令第????个月产品的单位生产成本为????_????(该月生产一个产品的成本为????_????)。仓库储存产品的也有成本,假设每个月产品的单位储存成本为固定值1(存储一个产品一个月的成本为1)。令第????个月需要供应给客户的产品数量为????_????,仓库里的和生产的产品均可供应给客户。假设仓库的容量无限大,供应给客户剩余的产品可储存在仓库中。若已知????个月中各月的单位生产成本????_原创 2021-09-19 22:08:13 · 587 阅读 · 0 评论 -
1034 树上着色
Description对一棵树进行着色,每个结点可着黑色或白色,相邻结点不能着相同黑色,但可着相同白色。请设计一种算法对树中尽量多的节点着黑色。Input第一行输入T(T<=10)表示有T组数据。每组数据先输入一个正整数N(1<=N<=50000),表示共有N个结点,接下来输入N-1对(u,v),表示u与v之间有一条边。Output输出T行正整数,第i行表示第i棵树最多能着色几个黑点。Sample Input321 241 22 3原创 2021-09-19 22:07:30 · 899 阅读 · 0 评论 -
1033 机器作业
Description有n个作业需要在一台机器上执行,一个时刻机器上只能执行一个作业,每个作业可在单位时间内完成,作业i有截止时间di,当作业i在截止时间被执行完,则可获得pi的收益。求最大收益。Input第一行输入T(T<=10)表示有T组数据。每组数据先输入一个正整数N(1<=N<=50000),表示共有N个作业,随后输入N组(di,pi),表示每个作业的截止时间和收益。Output输出T行正整数,第i行表示第i组数据下能获得的最大收益。Sa原创 2021-09-19 22:07:02 · 819 阅读 · 0 评论 -
1032 岛国难题
Description小A是一个著名的桥梁工程师,然而这次小A接到了一个棘手的工程。J国是一个岛国,共由n座岛屿构成,这些岛屿通过n-1座桥梁互相连为一国,因此J国所有岛屿构成了一个树形结构。不幸的是,由于常年遭到海浪侵蚀,J国的每座桥梁均出现了一定程度的破损,每座桥梁有一定的概率Pi会坍塌,从而使得J国分裂为若干个部分。现在J国邀请小A帮忙修缮这些桥梁,他们提供给了小A这n-1座桥梁可能坍塌的概率Pi。为了对工程量做一个简单评估,小A需要计算出J国可能分裂为多少个部分的期望值。然而要命的是原创 2021-09-19 22:06:17 · 965 阅读 · 0 评论 -
1031 基站布置
Description海面上有一些船需要与陆地进行通信,需要在海岸线上布置一些基站。现将问题抽象为,在x轴上方,给出n条船的坐标p1,p2,…,pn,其中pi=(xi,yi),0≤yi≤d, 1≤i≤n,在x轴安放的基站可以覆盖半径为d的区域内的所有船只,问在x轴至少要安放几个基站才可以将x轴上方的船只都覆盖到。 Input第一行输入m表示有m组测试. 每组测试首先输入两个整数n(n<=10000)和d,接下来输入n个整数坐标(x,y),其中0≤y≤d.黑色, 其中0和1原创 2021-09-19 22:05:26 · 591 阅读 · 0 评论 -
1030 黑白连线
Description给定直线上2n个点的序列P[1,2,… ,2n],每个点P[i]要么是白点要么是黑点,其中共有n个白点和n个黑点,相邻两个点之间距离均为1,请设计一个算法将每个白点与一黑点相连,使得连线的总长度最小。例如,图中有4个白点和4个黑点,以图中方式相连,连线总长度为1+1+1+5=8。 Input第一行输入m表示有m组测试. 每组测试首先输入n(n<=10000),接下来输入2n个0或者1, 分别表示白色或者黑色, 其中0和1的个数分别为n个.Ou原创 2021-09-19 22:04:46 · 829 阅读 · 0 评论 -
1029 最小生成树
Description给定n(n<=500)个顶点,以及E(E<=20000)条边,计算最小生成树的权值.Input第一行输入T表示有T组数据。每组数据第一行输入n、E,分别表示顶点数和边数. 接下来输入E行每行三个正整数u(1<=u<=n)、v(1<=v<=n)、w,表示顶点u到顶点v之间无向边长度w(可能有重边)。Output输出T行正整数,第i行表示第i组数据的最小生成树权值, 若不能构建最小生成树输出-1。Sample原创 2021-09-19 22:04:09 · 385 阅读 · 0 评论 -
1028 迪杰斯特拉算法
Description给定n(n<=500)个顶点,以及E(E<=10000)条边,使用迪杰斯特拉算法计算顶点s到顶点t的最短路径.Input第一行输入T表示有T组数据。每组数据第一行输入n、E、s、t,分别表示顶点数、边数、顶点s以及顶点t. 接下来输入E行每行三个正整数u(1<=u<=n)、v(1<=v<=n)、w,表示顶点u到顶点v之间无向边长度w(可能有重边)。Output输出T行正整数,第i行表示第i组数据s到达t的最短路径长原创 2021-09-19 22:03:21 · 564 阅读 · 1 评论 -
1027 带权活动选择
Description给定n个活动,活动ai表示为一个三元组(si,fi,vi),其中si表示活动开始时间,fi表示活动的结束时间,vi表示活动的权重,si<fi。带权活动选择问题是选择一些活动,使得任意被选择的两个活动ai和aj执行时间互不相交,即区间[si,fi)与[sj,fj)互不重叠,并且被选择的活动的权重和最大。请设计一种方法求解带权活动选择问题。Input第一行输入M(M<=10)表示有M组数据。每组数据输入整数N(N<=10000), 接下来输入N个原创 2021-09-18 10:02:03 · 822 阅读 · 0 评论 -
1026 插入乘号
Description给出N个1-9的数字 (v1,v2,…,vN), 不改变它们的相对位置, 在中间加入K个乘号和N-K-1个加号, 括号随便加, 使最终结果最大。因为乘号和加号一共就是N-1个,所以恰好每两个相邻数字之间都有一个符号。例如: N=5, K=2,5个数字分别为1、2、3、4、5,可以进行如下运算: 1*2*(3+4+5)=24 1*(2+3)*(4+5)=45 (1*2+3)*(4+5)=45等等.Input第一行输入M(M<=10)表示有M组数据。每原创 2021-09-18 10:01:04 · 834 阅读 · 0 评论 -
1025 最长非降子序列
Description给定一个长度为N的整数数组, 请计算该数组中最长非降了序列长度。Input第一行输入M(M<=10)表示有M组数据。每组数据输入N(N<=10000), 接下来输入N个整数。Output输出M行正整数,第i行表示第i组数据的长非降了序列长度。Sample Input24 1 3 2 494 1 7 3 2 3 5 7 6Sample Output35...原创 2021-09-18 10:00:13 · 461 阅读 · 0 评论