
算法设计
文章平均质量分 63
鸩羽小夜
我是小垃圾,垃圾中的战斗圾
展开
-
实现NFA算法(基于Python)
参考:Python实现DFA确定型有穷自动机和NFA非确定型有穷自动机相关算法_回炉重造P的博客-优快云博客https://github.com/huiluczP/finiteAutomata/blob/master/NFA.py求解问题的思路数据结构的设计参考了NFA的定义,NFA是一个5-元组:M = (Q, ∑, Δ, s, F)其中:Q是状态的有限集∑是有穷字母表s是开始状态F含于Q,结束状态集Δ状态转移函数的集合求解算法:NFA识别字符...原创 2021-10-12 10:47:11 · 2889 阅读 · 0 评论 -
POJ1328Radar Installation(贪心算法)
DescriptionAssume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in the sea side. And any radar installation, loc...原创 2019-11-26 16:45:04 · 270 阅读 · 0 评论 -
01背包问题动态规划
package algorithm;import java.util.Scanner;public class _3_10_01背包问题 { static int k; static int C; static int[] v=new int[100]; static int[] w=new int[100]; static int[][] m=new int[100][100...原创 2019-11-17 22:16:02 · 98 阅读 · 0 评论 -
数字三角形(01背包)
问题描述: 给定一个有n行数字组成的数字三角形,如下图所示:73 88 1 0 2 7 4 4 4 5 2 6 5设计算法,计算从三角形的顶端至底的一条路径,使该路径经过的数字总和最大。 样例最大值为:30 = 7 + 3 +8 +7 + 5;问题分析:采用动态规划的思想,步骤如下 1.刻画最优子结构: 2.递归解: 若用m[i...原创 2019-11-17 22:14:35 · 359 阅读 · 0 评论 -
找零钱问题(01背包)
问题描述: Tom在自动售货机上买了一瓶饮料,售价37美分,他投入了1美元(1美元 = 100美分),现在自动售货机需要找钱给他。售货机中现在有6种面额的硬币:1美分,2美分,5美分,11美分,20美分,50美分,每种硬币的数量充足。现在要求使用最少数量的硬币,给Tom找钱,求出这个最少数量是多少 思路:第一步:刻画子结构 假设Y={y1,y2,y3,y4,y5,y6}是...原创 2019-11-17 22:06:39 · 373 阅读 · 0 评论 -
POJ2777Count Color (线段树区间修改+查询,或运算,二进制)
Chosen Problem Solving and Program design as an optional course, you are required to solve all kinds of problems. Here, we get a new problem.There is a very long board with length L centimeter, L is...原创 2019-11-06 20:19:35 · 189 阅读 · 0 评论 -
字符串的最长递增子序列(动态规划)
求一个字符串的最长递增子序列的长度。设计基于动态规划思想的算法。如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklmncdefg样例输出137...原创 2019-11-05 21:58:40 · 1040 阅读 · 0 评论 -
最大子段和分治算法
import java.util.Scanner;public class _3_4最大子段和分治算法 { static int n; static int[] a=new int[100]; static int MaxSubSum(int left,int right){ int sum=0; if(left==right) sum=a[left]>0...原创 2019-11-05 21:59:12 · 527 阅读 · 0 评论 -
HDU1999不可摸数(数论,筛法,埃拉特斯特尼筛法)
题目链接https://vjudge.net/problem/HDU-1999s(n)是正整数n的真因子之和,即小于n且整除n的因子和.例如s(12)=1+2+3+4+6=16.如果任何数m,s(m)都不等于n,则称n为不可摸数.Input包含多组数据,首先输入T,表示有T组数据.每组数据1行给出n(2<=n<=1000)是整数。Output如果n是不可摸数,...原创 2019-10-23 14:21:03 · 243 阅读 · 0 评论 -
UVA294Divisors(素数筛,约数数目公式)
题目链接https://vjudge.net/problem/UVA-294题目大意,求一个区间内哪个数的约数最多,输出该数和其约数的数目例如 3-10 6的约数最多有4个(1 2 3 6)求取约数个数公式m=(p1)^(x1)*(p2)^(x2)*(p3)^(x3)*……其中p1,p2,p3...是质数(素数),x1,x2,x3...是它们的指数则m的约数的个数是(x...原创 2019-10-23 14:08:17 · 233 阅读 · 0 评论 -
算法设计实验三循环赛赛程设计
(1)设有n=2k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表:每个选手必须与其他n-1个选手各赛一次,每个选手一天只能赛一次,循环赛一共进行n-1天。package algorithm;import java.util.Arrays;import java.util.Scanner;public class GameList_2 { static int k,n...原创 2019-10-16 19:37:12 · 793 阅读 · 0 评论 -
算法设计实验二快速排序随机数版
import java.util.Scanner;import java.util.Random;public class 快速排序随机数 { static int n; static int max=100; static int[] a=new int[max]; static int RandomizedPartition(int[] a,int left,int rig...原创 2019-10-08 19:12:52 · 180 阅读 · 0 评论 -
算法设计实验二快速排序正常版
import java.util.Scanner;import java.util.Random;public class 快速排序 { static int n; static int max=100; static int[] a=new int[max]; static void QuickSort(int[] a,int left,int right){//快速排序...原创 2019-10-08 18:57:37 · 130 阅读 · 0 评论 -
算法设计实验二归并排序非递归
import java.util.Scanner;public class 归并排序非递归 { static int n; static final int max=100; static int[] a=new int[max]; static int[] b=new int[max]; static void MergeSort(int[] a,int n){//非递...原创 2019-10-08 16:43:15 · 116 阅读 · 0 评论 -
算法设计实验二归并排序递归
归并排序非递归二分思想,从归并两个长度为1的开始,向上递归2 4 8 16import java.util.Scanner;public class 归并排序递归 { static int n; static final int max=100; static int[] a=new int[max]; static int[] b=new int[max]; st...原创 2019-10-08 16:24:25 · 186 阅读 · 0 评论 -
算法设计实验一大整数乘法
问题描述求两个不超过200位的非负整数的积。输入形式有两行,每行是一个不超过200位的非负整数,没有多余的前导0。输出形式一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。样例输入12345678909876543210样例输出12193263111263526900由于这道题利用分治的...原创 2019-09-29 11:56:50 · 515 阅读 · 0 评论 -
算法设计实验一单峰序列
问题描述给定含有n个不同整数的数组L=<a1,a2,......,an>,如果L中存在ai,使得a1<a2<......<ai-1<ai>ai+1>…>an。则称L是单峰的,并称ai是L的“峰顶”。假设L是单峰的,设计一个算法,找L的峰顶。输入形式一共包括两行,第一行一个整数N,表示数组中整数的个数。接下来的一行中包含N个整...原创 2019-09-29 11:34:51 · 1421 阅读 · 0 评论