自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 计算方法 - 求近似值

#include <iostream>#include <cstdio>#include <cmath>using namespace std;#define ll long longconst double m = 1e8;const double esp = 0.5e-3;double i1[20] = {0.0}, i2[20] = {0.0};double f(double x) { double t = 1.0; while.

2021-06-16 18:53:41 531

原创 计算方法 - 二分法求近似根

【问题描述】用二分法求方程e^x+10x-2=0在区间[0, 1]上的近似根【输出形式】要求误差不超过0.5e^-3【样例输入】【样例输出】0.25 1.784025【样例说明】0.25:x的近似值,1.784025:e^x+10x-2的值。(有效数字位数较多时,保留小数点后至少5位)【评分标准】#include <iostream>#include <cstdio>#include <cmath>using namespace std;#defi.

2021-06-16 18:27:46 3034

原创 算法分析 - 二分搜索(递归与分治)

【问题描述】使用二分搜索方法,在有序数组中寻找特定的元素【输入形式】在屏幕上输入若干个从小到大排列的互不相同的整数,各数间都以一个空格分隔。再输入要寻找的元素key,其中min<key<max,min和max分别为这些整数的最小值和最大值。【输出形式】输出每次搜索的所在范围内的整数。若有序数组中存在该特定元素,则输出该元素在数组中的位置;若不存在,则输出0。【样例1输入】15 17 18 22 35 51 60 88 90 10018【样例1输出】15 17 18 22 35 5.

2021-06-12 23:24:51 323

原创 算法分析 - 最长公共子序列(动态规划)

【问题描述】使用动态规划算法解最长公共子序列问题,具体来说就是,依据其递归式自底向上的方式依次计算得到每个子问题的最优值。【输入形式】在屏幕上输入两个序列X和Y,序列各元素数间都以一个空格分隔。【输出形式】序列Xi = {x1, …, xi}和序列Yj = {y1, …, yj}的最长公共子序列的长度。序列X和Y的其中一个最长公共子序列,也就是当序列X和Y有多个最长公共子序列时,只输出其中的一个。这个输出的最长公共子序列选取的方法是:当xi不等于yj时,而c[i-1,j]==c[i,j-1],那么,c.

2021-06-12 22:59:12 885

原创 计算方法 - 递归合并排序更新版(递归与分治)

【问题描述】使用递归合并排序算法对若干整数进行排序【输入形式】在屏幕上输入若干整数,各数间都以一个空格分隔【输出形式】输出递归函数调用的次数和最终从小到大排序好的结果。【样例输入】748 38 65 97 76 13 27【样例输出】1313 27 38 48 65 76 97【样例说明】输入:7个整数,以空格分隔。输出:第一行输出递归函数调用的次数,第二行输出最终从小到大排序好的结果,整数间以空格分隔。【评分标准】根据输入得到准确的输出#include<stdio.h&.

2021-06-12 20:59:31 182

原创 算法分析 - 全排列问题_更新(递归与分治)

【问题描述】对n个整数进行全排列【输入形式】在屏幕上输入若干个整数,各数间都以一个空格分隔。【输出形式】按照顺序每行输出一种排列方式【样例输入】31 2 3【样例输出】1 2 31 3 22 1 32 3 13 1 23 2 1【样例说明】输入:三个整数,分别为1,2,3,以空格分隔。输出:按照顺序每行输出一种排列方式,以空格分隔【评分标准】根据输入得到准确的输出#include<iostream>using namespace std;int n;i.

2021-06-12 20:35:57 213 2

原创 算法分析 - 棋盘覆盖问题(递归与分治)

【问题描述】使用递归与分治策略解决棋盘覆盖问题【输入形式】在屏幕上输入棋盘大小及特殊方格所在行号和列号。【输出形式】输出使用L型骨牌进行棋盘覆盖结果。【样例1输入】21 2【样例1输出】2 -1 3 32 2 1 34 1 1 54 4 5 5【样例说明】输入:第一行输入整数k表示棋盘大小为2的k次幂,若k为2,则棋盘大小为4行4列;若k为3,则棋盘大小为8行8列。第二行输入特殊方格所在的行号和列号,以空格分隔,当前输入的:1 2,表示特殊方格在棋盘的第1行第2列。2<=k&.

2021-06-12 20:14:23 613

原创 算法分析 - 线性时间内寻找元素(递归与分治)

【问题描述】每次都是优化选出一个元素(分组后的中位数)为划分基准,在线性时间内寻找第i小元素。提示:分组时的组的个数为n/5的向下取整;分组后的中位数取第(num_group/2向上取整)小的元素。【输入形式】在屏幕上输入若干整数,各数间都以一个空格分隔。再输入要寻找的元素是数组从小到大顺序中第几个位置。【输出形式】输出第一次划分找到的基准元素以及数组从小到大顺序中要寻找的那个位置的元素。【样例输入】2 9 8 0 7 10 1 12 3 14 5 13 6 11 43【样例输出】72【.

2021-06-12 13:39:27 212

原创 算法分析 - 单源最短路径(贪心算法)

【问题描述】Dijkstra算法解决的是带权重的有向图上单源最短路径问题。所有边的权重都为非负值。设置顶点集合S并不断地作贪心选择来扩充这个集合。使用最小堆数据结构构造优先队列。第1个顶点为源。【输入形式】在屏幕上输入顶点个数和连接顶点间的边的权矩阵。【输出形式】从源到各个顶点的最短距离及路径。【样例输入】50 10 0 30 1000 0 50 0 00 0 0 0 100 0 20 0 600 0 0 0 0【样例输出】10: 1->250: 1->4->3.

2021-06-10 19:34:01 918

原创 算法分析 - 最小生成树(贪心算法)(新)

【问题描述】Prim算法解决的是带权重的无向图上连接所有顶点的耗费最小的生成树。【输入形式】在屏幕上输入顶点个数和连接顶点间的边的权矩阵。【输出形式】从源到各个顶点的最短距离及路径。【样例输入】80 15 7 0 0 0 0 1015 0 0 0 0 0 0 07 0 0 9 12 5 0 00 0 9 0 0 0 0 00 0 12 0 0 6 0 00 0 5 0 6 0 14 80 0 0 0 0 14 0 310 0 0 0 0 8 3 0【样例输出】15: 1&lt.

2021-06-09 21:16:38 297 2

原创 算法分析 - 哈夫曼编码(贪心算法) (新)

【问题描述】使用贪心算法求解Huffman编码问题,具体来说就是,根据每个字符的出现频率,使用最小堆构造最小优先队列,构造出字符的最优二进制表示,即前缀码。在程序开始说明部分,简要描述使用贪心算法求解Huffman编码问题的算法过程。【输入形式】在屏幕上输入字符个数和每个字符的频率。【输出形式】每个字符的Huffman编码。【样例输入】645 13 12 16 9 5【样例输出】a 0b 101c 100d 111e 1101f 1100【样例说明】输入:字符个数为6,a至f每.

2021-06-09 17:42:26 864

原创 算法分析 - 0-1背包问题(动态规划)

【问题描述】使用动态规划算法解0-1背包问题,具体来说就是,依据递归式,按照顺序求得子问题,使得选择合适物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。【输入形式】在屏幕上输入背包容量、物品数量、每件物品价值和重量。【输出形式】最优解时所选物品的价值总和及其编号。【样例输入】1056 3 5 4 62 2 6 5 4【样例输出】151 2 5【样例说明】输入:背包容量10、物品数量5、每件物品价值6, 3, 5, 4, 6和重量2, 2, 6, 5, 4。输出:.

2021-06-09 15:45:02 367

原创 算法分析 - 最大子段和(动态规划)

【问题描述】使用动态规划算法解最大子段和问题,具体来说就是,依据递归式,按照顺序求得子问题。【输入形式】在屏幕上输入一个序列元素,包含负整数、0和正整数。【输出形式】序列的最大子段和,及得到最大子段和时的起始和终止编号。【样例输入】-2 11 -4 13 -5 -2【样例输出】2024【样例说明】输入:6个数,元素间以空格分隔。输出:序列的最大子段和20,得到最大子段和时的起始编号为2,终止编号为4。【评分标准】根据输入得到准确的输出。基本思想:只有当前一位加和为正数时才对.

2021-06-09 14:51:21 2750

原创 算法分析 - 动态规划算法解矩阵连乘(动态规划)

【问题描述】使用动态规划算法解矩阵连乘问题,具体来说就是,依据其递归式自底向上的方式进行计算,在计算过程中,保存子问题答案,每个子问题只解决一次,在后面计算需要时只要简单查一下得到其结果,从而避免大量的重复计算,最终得到多项式时间的算法。【输入形式】在屏幕上输入第1个矩阵的行数和第1个矩阵到第n个矩阵的列数,各数间都以一个空格分隔。【输出形式】矩阵连乘A1…An的最少数乘次数和最优计算次序。【样例1输入】30 35 15 5 10 20 25【样例1输出】15125((A1(A2A3))((.

2021-06-09 14:33:02 1368

原创 计算方法 - 高斯消元法矩阵求逆

Python 矩阵增广行增广:ANS = np.c_[A, b]列增广:ANS = np.r_[A, b]博客参考:https://blog.csdn.net/qithon/article/details/80100029import numpy as npif __name__ == '__main__': A = [[1, 2, 3], [2, 2, 1], [3, 4, 3]] A = np.array(A) l = A.shape[0] E = n.

2021-06-08 14:56:27 464

原创 计算方法 - 最小二乘拟合

题目:import numpy as npif __name__ == '__main__': X = np.array(input().split(" ")) Y = np.array(input().split(" ")) X = X.astype(float) Y = Y.astype(float) n = int(input()) + 1 m = len(X) XX = [] for i in range(2*n):

2021-06-05 13:30:21 171

原创 计算方法 - 满足第一类边界条件的三次样条插值

题目:import numpy as npdef fun(M, X, H, i, x): S = M[i-1]*(X[i]-x)**3/(6*H[i]) \ + M[i]*(x-X[i-1])**3/(6*H[i]) \ + (Y[i-1]-M[i-1]*H[i]**2/6)*(X[i]-x)/H[i] \ + (Y[i]-M[i]*H[i]**2/6)*(x-X[i-1])/H[i] return Sdef make_ans(

2021-06-05 13:28:17 1212

Triangular+Triangular-iterator+iterator-overflow.zip

Triangular类,包含对Triangular类的提领操作Triangular_iterator类,以及异常类iterator_overflow。 输入输出样例为: (3,6) Triangular Series of 6 elements 6 10 15 21 28 36

2022-12-21

可重构计算实验说明.rar

可重构计算实验说明.rar

2021-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除