算法
喝点暖气水叭
本科哈理工,目前研究生就读于苏州大学的计算机视觉小白一枚,努力学习!
心想事成!!!
展开
-
2021省赛热身赛
#include<iostream>#include<math.h>#include<string>using namespace std;int main(){ double f1=1,f2=1,f3=1; int j=3; double sum[101]; sum[1]=f1/2; sum[2]=sum[1]+f2/4; for(int i=3;i<100;i++) { f3=f2+f1; sum[i]=sum[i-1]+f3..原创 2021-05-08 14:19:27 · 110 阅读 · 0 评论 -
最长公共子串笔记
1、把两个字符串分别以行和列组成一个二维矩阵。2、比较二维矩阵中每个点对应行列字符中否相等,相等的话值设置为1,否则设置为0。3、通过查找出值为1的最长对角线就能找到最长公共子串。比如:str=acbcbcef,str2=abcbced,则str和str2的最长公共子串为bcbce,最长公共子串长度为5。针对于上面的两个字符串我们可以得到的二维矩阵如下:从上图可以看到,str1和str2共有5个公共子串,但最长的公共子串长度为5。为了进一步优化算法的效率,我们可以再计算某个二维矩阵的值的时候顺原创 2021-04-27 17:51:34 · 58 阅读 · 0 评论 -
战争之城 算法分支界限法实验
战争之城——————算法分支界限法实验我们讨论的是《战争之城》的一个简单版本。如果地图上只有空旷的空间,河流,钢墙和砖墙。你的任务是尽快得到奖金,假设没有敌人会打扰你(见下图)你的坦克不能穿过河流和墙壁,但它可以通过射击摧毁砖墙。当你击中砖墙时,砖墙会变成空地,但是,如果你的子弹击中了钢墙,就不会对墙造成损伤。在每一个转弯中,你可以选择移动到一个相邻的(4个方向,而不是8个)空旷的地方,或者不移动地朝四个方向中的一个射击。射击会朝那个方向进行,直到它超出地图范围或者撞到墙上。如果子弹击原创 2020-12-02 20:52:29 · 1298 阅读 · 3 评论 -
线性时间选择实验
线性时间选择实验给定n个元素和一个整数k,要求用O(n)时间找出这n个元素中第k小元素。#include<iostream>#include<algorithm>using namespace std;int select(int a[],int l,int r,int k);int med_select(int a[], int l,int r);int position(int a[],int l,int r,int m);int main(){ int n,原创 2020-11-10 20:59:40 · 343 阅读 · 0 评论 -
二分搜索算法实验
二分搜索算法设a[0:n-1]是一个已排好序的数组。请改写二分搜索算法,使得当搜索元素x不在数组中时,返回小于x的最大元素的位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置。并对自己的程序进行复杂性分析。#include <iostream>#include<stdio.h>#include<stdlib.h>using namespace std;int search(int *a,int n,int m)原创 2020-11-10 20:57:44 · 2973 阅读 · 1 评论 -
国王和金矿问题
0-1背包问题国王和金矿问题描述:有一个国家发现了max_n座金矿,参与挖矿工人的总数是max_people人。每座金矿的黄金储量不同为一维数组gold[],需要参与挖掘的工人数也不同为一维数组peopleNeed[]。每座金矿要么全挖,要么不挖,不能派出一半人挖取一半金矿。要想得到尽可能多的黄金,应该选择挖取哪几座金矿?功能:(1) 要求max_n、max_people、gold和ppeopleNeed均为可输入的;(2) 编写DP函数,求解答案F;(3) 编写main主函数,完成输入,调用D原创 2020-11-10 20:52:39 · 694 阅读 · 0 评论