- 博客(24)
- 收藏
- 关注
原创 汇编——斐波那契数列
DATAS SEGMENT ;此处输入数据段代码 FNS DW 0,1 ,14 DUP('0')AVERAGE DB 9DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX MOV CX,14 MOV DX,0 MOV B
2021-04-06 20:07:51
2077
4
原创 汇编——反转字符串
DATAS SEGMENT PARA PUBLIC 'DATA' ;此处输入数据段代码 ;STRING DB "It is sunny!",0STRING DB "Good morning!",0DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码 DB 200 DUP(0)STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS
2021-04-06 20:05:41
645
1
原创 汇编——打印AX的函数
PrintAX PROC NEAR CMP AX,10 JAE HighAndEqulTen MOV DL,AL ADD DL,'0' MOV AH,02; MOV AH,06也可以,why? INT 21H RETHighAndEqulTen: CWD MOV BX,10 DIV BX PUSH DX CALL PrintAX POP AX CALL PrintAX retPrintAX ENDP
2021-04-06 19:59:13
285
原创 汇编——转置二维数组
DATAS SEGMENTN DW 5;5行M DW 4;4列DATA1 DB 1,2,3,4 DB 10,20,30,40 DB 11,12,13,14 DB 20,30,40,50 DB 21,22,23,24DATA2 DB 20 DUP(0)DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,D
2021-04-06 19:57:17
199
原创 动态规划-NASA的食物计划(二重背包,一维数组,二维数组)
洛谷P1507.NASA的食物计划题目背景NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安全技术问题一直大伤脑筋,因此在各方压力下终止了航天飞机的历史,但是此类事情会不会在以后发生,谁也无法保证,在遇到这类航天问题时,解决方法也许只能让航天员出仓维修,但是多次的维修会消耗航天员大量的能量,因此NASA便想设计一种食品方案,让体积和承重有限的条件下多装载一些高卡路里的食物.题目描述航天飞机的体积有限,当然如果载过重的物品,燃料会浪费很多钱,每件食品都有各自的体积、质量以及所含卡路里,在告诉你体
2021-01-13 09:15:25
330
原创 回溯法-迷宫问题(dfs)
vjudge迷宫问题定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。Input一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。Output左上角到右下角的最短路径,格式如样例所示。Sample I
2021-01-13 00:01:57
294
原创 回溯法-马走日
vjudge 马走日马在中国象棋以日字形规则移动。请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。Input第一行为整数T(T < 10),表示测试数据组数。每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y。(0<=x<=n-1,0<=y<=m-1, m < 6, n < 6)Output每组测试数据包含一行,为一个整数,表示马能
2021-01-12 20:58:08
412
原创 贪心法-金银岛(部分背包)
Virtual Judge金银岛描述某天KID利用飞行器飞到了一个金银岛上,上面有许多珍贵的金属,KID虽然更喜欢各种宝石的艺术品,可是也不拒绝这样珍贵的金属。但是他只带着一个口袋,口袋至多只能装重量为w的物品。岛上金属有s个种类, 每种金属重量不同,分别为n1, n2, … , ns,同时每个种类的金属总的价值也不同,分别为v1,v2, …, vs。KID想一次带走价值尽可能多的金属,问他最多能带走价值多少的金属。注意到金属是可以被任意分割的,并且金属的价值和其重量成正比。输入第1行是测试数据的
2021-01-12 19:54:36
307
原创 动态规划-带通配符的字符串匹配(老师教的方法)
noi6252.带通配符的字符串匹配描述通配符是一类键盘字符,当我们不知道真正字符或者不想键入完整名字时,常常使用通配符代替一个或多个真正字符。通配符有问号(?)和星号()等,其中,“?”可以代替一个字符,而“”可以代替零个或多个字符。你的任务是,给出一个带有通配符的字符串和一个不带通配符的字符串,判断他们是否能够匹配。例如,1?456 可以匹配 12456、13456、1a456,但是却不能够匹配23456、1aa456;277?8可以匹配 24457798、237708、27798。输入
2021-01-12 17:41:15
1030
2
原创 动态规划-带通配符的字符串匹配(能AC,但有疑问??)
noi6252.带通配符的字符串匹配描述通配符是一类键盘字符,当我们不知道真正字符或者不想键入完整名字时,常常使用通配符代替一个或多个真正字符。通配符有问号(?)和星号()等,其中,“?”可以代替一个字符,而“”可以代替零个或多个字符。你的任务是,给出一个带有通配符的字符串和一个不带通配符的字符串,判断他们是否能够匹配。例如,1?456 可以匹配 12456、13456、1a456,但是却不能够匹配23456、1aa456;277?8可以匹配 24457798、237708、27798。输入
2021-01-12 17:18:11
176
原创 动态规划-计算字符串的距离
[noi2988.计算]字符串的距离描述对于两个不同的字符串,我们有一套操作方法来把他们变得相同,具体方法为:修改一个字符(如把“a”替换为“b”)删除一个字符(如把“traveling”变为“travelng”)比如对于“abcdefg”和“abcdef”两个字符串来说,我们认为可以通过增加/减少一个“g”的方式来达到目的。无论增加还是减少“g”,我们都仅仅需要一次操作。我们把这个操作所需要的次数定义为两个字符串的距离。给定任意两个字符串,写出一个算法来计算出他们的距离。 输入 第一行有一个
2021-01-12 16:36:13
306
1
原创 动态规划-最长上升子序列
noi1759.最长上升子序列描述一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。这些子序列中最长的长度是4,比如子序列(1,
2021-01-12 16:07:50
213
原创 动态规划-公共子序列
noi1808.公共子序列总时间限制: 1000ms 内存限制: 65536kB描述我们称序列Z = < z1, z2, …, zk >是序列X = < x1, x2, …, xm >的子序列当且仅当存在 严格上升 的序列< i1, i2, …, ik >,使得对j = 1, 2, … ,k, 有xij = zj。比如Z = < a, b, f, c > 是X = < a, b, c, f, b, c >的子序列。现在给出两个序列X和Y,
2021-01-12 15:14:17
97
原创 动态规划-骨头收集者(一维数组,二维数组)
杭州电子科技大学骨头收集者Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave …The bone collector had a big bag with a volume of V ,and alo
2021-01-12 14:52:55
448
1
原创 动态规划-采药(一维数组)
noi 1775.采药/**描述辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗? 输入 输入的第一行有两个整数T(1 <=
2021-01-12 00:32:02
192
原创 动态规划-采药(二维数组)
noi 1775.采药/**描述辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗? 输入 输入的第一行有两个整数T(1 <=
2021-01-12 00:21:08
392
1
原创 最小生成树Prim-加点法
#include <iostream>#include<bits/stdc++.h>#define INF 1000using namespace std;struct ShortEdge{ int adjvex; int lowcost;};int arc[100][100];int vexNum;int arcNum=0;ShortEdge shortEdge[100];void Input(){ cin>>vexNu
2020-11-28 17:23:05
254
原创 最大公约数&最小公倍数
最大公约数与最小公倍数最大公因数(Greatest Common Divisor(GCD) ,Highest Common Factor(HCF)),也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。与最大公约数相对应的概念是最小公倍数(Least Common Multiple(LCM))(两
2020-11-22 17:46:44
209
原创 1.9编程基础之顺序查找11:连续出现的字符(瞎搞题解)
1.9编程基础之顺序查找11:连续出现的字符歪门邪道#include <iostream>#include<bits/stdc++.h>using namespace std;string s;int main(){ int times; int t=1; cin>>times>>s; //cout<<times<<" "<<s; int flag=0; if(s
2020-09-15 11:15:22
295
原创 KruskalMinCostSpanningTree
#include <iostream>#include<stdlib.h>using namespace std;struct EdgeType{ int from,to; //边依附的两个顶点 int weight; //边上的权值};class EdgeGraph{private: int *vertex; //存放图顶点的数组 EdgeType *edge; //存放边的数组 int ve
2020-05-13 16:57:48
89
原创 PrimMinCostSpanningTree
/**使用邻接矩阵存储图*/#include<iostream>#include<limits.h>#define MAX_V_NUM 20 //顶点的最大个数using namespace std;/**辅助数组的结构体,每次将当前已选类顶点到待选类顶点的最短距离填写到数组中*/struct closedge{ int adjvex;//最小边的起点 int lowcost;//最小边的权值};/**图类*/class MGraph{p
2020-05-10 18:25:52
118
原创 最大连续子序列之和问题
#include<iostream>using namespace std;int n=6;//穷举法void MaxSubsequenceSum1(int a[]){ int MaxSum=0; int ThisSum; int start,end; for(int i=0;i<n;i++) { for(int j=i;j<n;i++) { ThisSum=0; for(int k=i;k<=j;k++) { ThisS
2020-05-09 22:22:06
142
原创 Huffman Code
#include<stdio.h>#include<iostream>#include<string.h>#include <iomanip>#define UNCONSTRUCTED -1 //表示结点没有构建树using namespace std;/**哈夫曼树结点结构*/struct HTNode{ int weight;//结点权重 int parent, left, right;//父结点、左孩子、右孩子在数组中的位
2020-05-09 20:24:54
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人