2 赵 磊

尚未进行身份认证

我要认证

还是个学生,比较忙,很多算法都没有写详细步骤哈,欢迎一起沟通交流!

等级
TA的排名 23w+

单周期MIPS微cpu的设计-----结构化建模

1、指令说明(1)addu指令名称:无符号加指令格式:addu rd,rs,rt指令功能:<1> IM[PC];取指令(公共操作,取指部件完成)<2> R[rd] ←R[rs] + R[rt];从rs、rt 所指的寄存器中取数后相加,结果送rd 所指的寄存器中<3> PC ← PC + 4;计算下地址(公共操作,取指部件完成)指令编码(2)subu指令名称:或立即数指令格式:ori rt,rs,imm16指令功能:<1&gt

2020-10-28 09:44:00

子集和数问题--问题

【题目描述】已知n(0<n<=20)个不同正整数wi,0<=i<=n-1,的集合,求该集合的所有满足条件的子集,使得每个子集中的正整数之和等于另一个给定的正整数M。【输入】第一行输入n和M的值,第二行输入n个不同的正整数wi(i=0,…,n)。【输出】如果有答案,则输出所有满足条件的子集(用固定长度n-元组xi表示,xi=0或1,i=0,…,n)。如果没有答案,则输出“no solution!”。【输入样例】4 3111 13 24 7【输出样例】1 1 0 1

2020-06-05 14:48:41

美化绿植问题

【题目描述】计信学院门前摆了一排盆栽的绿植,高度各不相同,共有n(0<n<100)盆。五一节到了,为了美化,现在要搬走其中的n-m盆,使得剩下的m盆绿植相对位置不变,但高度是递增的,而且留下的绿植盆数最多。【输入】每一行一个整数,表示n的值;第二行是n个整数,分别表示每盆绿植的高度。【输出】符合条件的最多的绿植盆数。【输入样例】62 1 4 3 6 5【输出样例】3#include<iostream> using namespace std;int main

2020-06-05 14:46:59

0/1背包问题---题目

【题目描述】已知一个载重为M的背包和n件物品,物品编号从0到n-1。第i件物品的重量为 wi,若将第i种物品装入背包将获益pi,这里,wi>0,pi>0,0<=i<n。所谓0/1背包问题是指在物品不能分割,只能整件装入背包或不装入的情况下,求一种最佳装载方案使得总收益最大。。【输入】第 1 行中有 2 个正整数 n(n<=50)和M ,表示有 n件物品,背包载重为M(m<=100)。然后输入n个物品的重量,最后输入n个物品的收益值。【输出】最佳装载方案的总收益。

2020-06-05 14:46:15

最长公共子序列问题-----题目

【题目描述】给定2个序列X={x1,x2,…,xm}和Y={y1,y2,…,yn},其中0<m、n<1000。找出X和Y的最长公共子序列。【输入】第一行输入序列X,第二行输入序列Y。【输出】X和Y的最长公共子序列的长度。【输入样例】abcbdabbdcaba【输出样例】4#include<iostream>#include<string.h>#include<cstdio>using namespace std;int main(

2020-06-04 18:20:15

矩阵连乘问题-----教材代码

【题目描述】给定n(0<n<100)个矩阵{A0,A1,…,An-1}, 其中Ai,i=0,…,n-1的维数为pi*pi+1,并且Ai与Ai+1是可乘的。考察这n个矩阵的连乘积A0A1…An-1,由于矩阵乘法满足结合律,所以计算矩阵的连乘可有许多不同的计算次序。矩阵连乘问题是确定计算矩阵连乘积的计算次序,使得按照这一次序计算矩阵连乘积,需要的“数乘”次数最少。【输入】第一行输入n的值,第二行输入n个矩阵的维数pi(i=0,…,n)。【输出】最少计算量。【输入样例】630 35 1

2020-06-04 18:18:38

游艇租金问题

【题目描述】长江游艇俱乐部在长江上设置了n个游艇出租站1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),1 <= i< j <= n 。试设计一个算法,计算从游艇出租站1到游艇出租站n所需的最少租金。【输入】第 1 行中有 1 个正整数 n(n<=200) ,表示有 n个游艇出租站。接下来的n-1 行是r(i,j), r(i,j)为整数,1 ≤ i < j ≤ n。【输出】输出

2020-06-04 18:17:04

多段图问题---教材源代码

【题目描述】多段图G=(V,E)是一个带权有向图,它具有如下特性:图中的结点被划分成k>=2个互不相交的子集Vi,1<=i<=k。其中V1和Vk分别只有一个结点,V1包含源点(source)s,Vk包含汇点(sink)t。对所有边属于E,多段图要求若u属于Vi,则v属于Vi+1,1<=i< k,每条边的权值为c(u,v)。从s到t的路径长度是这条路径上边的权值之和,多段图问题(multistage graph problem)是求从s到t的一条长度最短的路径。。【输入】第

2020-06-04 18:16:20

乘船问题

【题目描述】有n(0<n<1000)个人,第i个人体重为wi(0<=i<n),每艘船的最大载重量均为C,且最多只能乘两个人,试用最少的船装载所有人。【输入】第一行,一个正整数,表示n的值;第二行是n个整数,表示n个人的体重;第三行,一个正整数,表示船的最大载重量C的值。【输出】一个整数,表示最少的船数。【输入样例】380 120 50180【输出样例】2#include<iostream>#include<algorithm>usi

2020-06-04 18:14:42

Minimum-Cost Spanning Tree

【题目描述】一个无向连通图的生成树是一个极小连通子图,它包括图中全部结点,并且有尽可能少的边。一棵生成树的代价是树中各条边上的代价之和。一个网络的各生成树中,具有最小代价的生成树称为该网络的最小代价生成树(minimum-cost spanning tree)。【输入】第一行输入结点个数n(n<100)和边的个数m,以下m行输入各边的两个结点u、v及该边上的代价。【输出】如果有生成树,则输出最小生成树的代价;如果没有生成树,则输出"no spanning tree"。【输入样例】6 10

2020-06-04 18:13:51

带时限的作业排序问题----经典问题

【题目描述】设有一个单机系统、无其它资源限制且每个作业运行相等时间,不妨假定每个作业运行1个单位时间。现有n(0<n<1000)个作业,每个作业都有一个截止期限di>0,di为整数。如果作业能够在截止期限之内完成,可获得pi>0的收益。问题要求得到一种作业调度方案,该方案给出作业的一个子集和该作业子集的一种排列,使得若按照这种排列次序调度作业运行,该子集中的每个作业都能如期完成,并且能够获得最大收益。【输入】第一行输入n的值,以下n行输入作业号i,收益pi,截止期限di。【输

2020-06-04 18:12:38

背包问题------经典问题

【题目描述】已知一个载重为M的背包和n(0<n<1000)件物品,第i件物品的重量为 wi,如果将第i件物品全部装入背包,将有收益pi,这里,wi>0,pi>0,0 <=i<n。所谓背包问题是指求一种最佳装载方案,使得收益最大。【输入】第一行二个整数,分别表示物品个数n和背包载重M;以下n行每行三个整数,分别输入物品编号i,物品收益pi,物品重量wi。【输出】x0,x1,…,xn-1,0 <= xi<=1,0<= i<n,每个xi是第i件

2020-06-04 18:11:20

第K小元素问题

【题目描述】用分治法编程解决在n(0<n<=1000)个数当中找第K小元素问题(注意:不能用排序)【输入】第一行输入n的值,第二行输入n个数,第三行输入K的值。【输出】n个数中的第K小元素。【输入样例】58 1 3 6 93【输出样例】6#include<stdio.h>int a[100000]={0}; void Swap(int x,int y){ int temp=a[x]; a[x]=a[y]; a[y]=tem

2020-05-31 16:35:05

QuickSort-----题目

【题目描述】请用分治法实现快速排序算法,对n(0<n<=10^5)个元素按升序排序。【输入】第一行一个正整数,表示n的值;第二行,有n个整数,表示待排序列。【输出】升序排列的n个整数,两个整数之间用一个空格分隔。【输入样例】32 1 3【输出样例】1 2 3#include <iostream>using namespace std;//数组打印void P(int a[],int n){ for(int i=0; i<n-1; i++)

2020-05-31 16:33:22

三分搜索-----oj题目

【题目描述】三分搜索算法的做法是:在从小到大的序列中,先将待查元素x与n/3处的元素比较,然后将x与2n/3处的元素进行比较。比较的结果或者找到x,或者将搜索范围缩小到原来的n/3。【输入】第一行,一个整数,表示集合元素的个数n;第二行,n个整数,表示集合的n个元素;第三行,一个整数,表示待查找的元素x。【输出】一个整数,如果查找成功,输出元素的下标,否则输出-1。【输入样例】51 3 5 7 95【输出样例】2#include <cstdio>int a[1000],

2020-05-31 16:30:14

查找最大和次大元素

【题目描述】对于给定的含有n个不同元素的无序序列,请用分治法求这个序列中最大和次大的两个元素。(注:要求不能用排序)。【输入】第一行输入n的值 ,第二行输入n个元素的值。【输出】最大元素和次大元素。【输入样例】62 5 1 4 6 3【输出样例】6 5#include<iostream>#include<bits/stdc++.h>using namespace std;int a[100];void solve(int low, int high, in

2020-05-31 16:29:16

关节点问题

【题目描述】对于一个给定的连通图G,采用深度优先搜索的方法,识别出G的所有关节点。【输入】第一行输入结点个数n和边的个数m,下面m行输入各边。【输出】一个整数,表示关节点个数。【输入样例】8 100 30 22 31 22 41 41 65 65 76 7【输出样例】3#include <iostream>using namespace std;/*节点定义*/struct ENode{ int adjVex;//节点单元素 ENode *nex

2020-05-31 16:27:38

伸展树操作--------经典题目

【题目描述】请编程实现伸展树的Insert(插入)和Find(查找)算法。例如,依次插入关键字10、50、40、30、20和60,并以缩进的方式显示得到的伸展树(其中,60是根,它的左孩子是30,右孩子是空,–表示空指针;30的左孩子是20,右孩子是50……),如下所示:60 30 20 10 -- -- -- 5

2020-05-31 16:24:45

有重复元素的排列问题------经典题目

【题目描述】设R={r1,r2,…,rn}是要进行排列的n个元素,其中元素r1,r2,…,rn可能相同。请编写程序,计算R中所有元素的不同排列数。【输入】一个序列,表示R中的n个元素(1<n<10)。【输出】一个正整数,表示R中所有元素的不同排列数。【输入样例】aac【输出样例】3#include <iostream>#include<string.h>#include<stdlib.h>#include<cstdio>u

2020-05-31 16:20:44

多项式的值------经典题目

【题目描述】请编写程序,对于给定的变量x和各系数的值,求多项式anxn + an-1xn-1 + … + a1x + a0的值。假设x的值和各系数的值均为整型。注意:程序不能使用库函数中的pow函数。【输入】第一行为n和x的值,第二行依次输入an,an-1,…,a0共n+1个系数的值。其中1≤n≤100000。【输出】此多项式的值(测试数据保证结果用整型能表示)。【输入样例】10 110 1 1 1 1 1 1 1 1 1 1【输出样例】20一:#include<iostrea

2020-05-31 16:19:24

查看更多

勋章 我的勋章
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取