算法设计与分析
算法设计与分析习题
anzy大菠萝
这个作者很懒,什么都没留下…
展开
-
带权区间调度问题(Weighted Interval Scheduling)
每一个任务都有三个属性:开始时间s、结束时间f以及所产生的价值v一个任务的s到f这段时间称为其执行时间,如果两个任务的执行时间不重叠,则称它们是兼容的本题将给出若干任务及其属性,求彼此兼容且权重最大的任务子集,输出该子集所有任务产生的总价值。Input输入有1+n行;第1行为任务数量;剩余n行每行为一个任务的开始时间、结束时间和所产生的价值,以空格隔开,例如:41 2 503 5 206 19 1002 100 200Output。原创 2024-09-22 18:50:44 · 811 阅读 · 2 评论 -
矩阵连乘问题
由不同加括号顺序所带来的矩阵乘积的代价不同,考虑三个矩阵的链(A_1,A_2,A_3)的问题。如果按(A1(A2A3))(A1(A2A3))的次序来计算,则为求1005010050的矩阵乘积A2A3A2A3要做100∗5∗50=25000100∗5∗50=25000次标量乘法运算,再乘上A1A1还要10∗100∗50=5000010∗100∗50=50000次标量乘法,总共7500075000次标量乘法运算。,An},其中,Ai与Ai+1Ai与Ai+1是可乘的,(i=1,2,…原创 2024-09-19 09:38:00 · 367 阅读 · 0 评论 -
0-1背包问题
而0-1背包问题是指可选择的物品每种仅有一件,可以选择不装入某物品,即0;背包问题是指有N件物品和一个容量为W的背包。第i件物品的价值是v,需要占用的容量是w。输入有行,第一行为正整数N,代表有N件物品可选;求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。输出为根据输入条件能装入的最大价值,比如对于上面输入描述中的数据,应输出。第4行为N个整数,分别代表第1到N个物品需要占用的容量w,以空格隔开。第3行为N个数,分别代表第1到N个物品的价值v,以空格隔开。原创 2024-09-19 09:10:08 · 213 阅读 · 0 评论 -
最长公共子序列(LCS)
例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0。输入为两行每行一个字符串。输出最长公共子序列的长度。原创 2024-09-19 08:38:15 · 210 阅读 · 0 评论 -
数组中的逆序对
在数组中的两个整数,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。共两行,第一行只有1个数,即数组中数字的个数n;输出为1个数,即所给数组中逆序对的总数。原创 2024-09-14 17:10:01 · 129 阅读 · 0 评论 -
最大子数组
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。输入为2行,第一行为一个整数n,表示输入数组中整数的个数;第二行为数组中的各个整数,以空格分隔。注意,1<=n<=100000 ,且数组中任何一个整数的绝对值小于10000。此时输出应为6,因为连续子数组 [4,-1,2,1] 的和最大,为 6。输出为一个整数,即最大和。原创 2024-09-14 14:31:29 · 227 阅读 · 0 评论 -
P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles
【代码】P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles。原创 2024-09-11 17:17:46 · 360 阅读 · 0 评论 -
基础练习 数列排序
每组数的第一行为一个整数n,第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。=EOF){ //先读取第一行得到n,即下一行有n个数。给定一组或多组数列,将这个数列按从小到大的顺序排列,这些数列的长度大于等于1,小于等于200。输出一行,按从小到大的顺序输出排序后的数列。必须用二路归并排序算法完成本题!原创 2024-09-04 17:38:30 · 476 阅读 · 0 评论 -
LeetCode 121. 买卖股票的最佳时机
给定一个数组 prices ,它的第 i 个元素 pricesipricesi 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。一行数字,以逗号分隔,如:7,1,5,3,6,4。原创 2024-09-04 16:58:15 · 128 阅读 · 0 评论 -
归并排序问题
给定你一个长度为 n 的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。原创 2024-09-02 15:31:15 · 103 阅读 · 0 评论 -
算法训练 排列问题
描述求一个0~N-1的排列(即每个数只能出现一次),给出限制条件(一张N*N的表,第i行第j列的1或0,表示为j-1这个数能或不能出现在i-1这个数后面,并保证第i行第i列为0),将这个排列看成一个自然数,求从小到大排序第K个排列。原创 2024-08-27 10:45:19 · 269 阅读 · 0 评论 -
数塔问题_
一个n层的数塔对应的输入为n+1行,如下图右边所示格式,第1行为数塔层数,第2行到第n+1行为各层的数字。请编一个程序计算从顶到底的某处的一条路径,使该路径所经过的数字总和最大。输出为一个整数,即题意所述最大的那个路径数字总和。如下图左边所示为一个数字三角形,也叫数塔。1.一步可沿左斜线向下或右斜线向下走;3.三角形中的数字为0,1,…输入为n+1行的数字,意义见题目描述。2.三角形行数小于等于100;原创 2024-08-31 19:39:42 · 157 阅读 · 0 评论 -
整数划分DP
思路:把1,2,3, …n分别看做n个物体的体积,这n个物体均无使用次数限制,问恰好能装满总体积为n的背包的总方案数(一个正整数 n 可以表示成若干个正整数之和,形如: n=n1+n2+…+nk ,其中 n1≥n2≥…现在给定一个正整数 n ,请你求出 n 共有多少种不同的划分方法。由于答案可能很大,输出结果请对 10^9+7 取模。我们将这样的一种表示称为正整数 n 的一种划分。共一行,包含一个整数,表示总划分数量。共一行,包含一个整数 n。原创 2024-08-29 14:35:49 · 223 阅读 · 0 评论