算法
qq_33899340
这个作者很懒,什么都没留下…
展开
-
从一道趣味数学题引发的数论
原题:用0~9这十个数字组成是11的倍数的最大十位数是多少。 一开始的代码是当然是暴力破解啊 //用0~9这十个数字组成是11的倍数的最大十位数是多少。 #include <iostream> #define ll long long using namespace std; int check(ll x) { int a[10] = {0}; while(x>0){ ...转载 2019-07-03 23:09:57 · 187 阅读 · 0 评论 -
用二分法求方程的根
用二分法求方程的根 代码: #include <iostream> #include <math.h> using namespace std; int main(void) { // find answer x^3-5*x^2+10*x-80 = 0 in [0,100]; double left = 0; double right = 100; double ...原创 2019-09-19 18:04:02 · 337 阅读 · 0 评论 -
二分查找
简单实现二分查找算法 #include <iostream> using namespace std; /*二分查找:在顺序的数组中,每次都选中间一位数比较 例如0~1000猜数字 猜:500--比500小 left=0 right=499 猜 249 -- 比249大 left=250 right=499 猜 mid=left+right/2 = 374 …… */ int m...原创 2019-09-16 15:27:39 · 119 阅读 · 0 评论 -
简单冒泡排序实现
冒泡排序:与插入排序有类似的地方,插入排序分为有序部分和无序部分,有序部分在左边,无序部分在右边。而冒泡排序则相反,有序部分在右边,无序部分在左边,每次比较相邻两组数据,把大的往后挪。 #include <iostream> using namespace std; /*冒泡排序,思想:把一个数组分为左右两部分,有序部分在右边,无序部分在左边,每次比较相邻两组数据,把大的往后挪。 左边...原创 2019-09-16 14:40:33 · 142 阅读 · 0 评论 -
插入排序的实现
根据思路写了一篇插入排序: #include <iostream> using namespace std; /*插入排序,思想:把一个数组分为左右两部分,左边是有序的,右边是无序的 把无序数插入到左边有序的数组中。 当无序的部分没有了,排序完成 */ int main(void) { freopen("in.txt","r",stdin); int a[10]; for(...原创 2019-09-15 23:41:57 · 108 阅读 · 0 评论 -
简单粗暴的排序算法
根据思路写了一篇排序: 把数组从小到大排序的简单实现思路:首先,找到数组中最小的数,把这个最小的数放在第第一位,然后找第二小的数,把这个数放在第二位,如此类推…… #include <iostream> using namespace std; int main(void) { freopen("in.txt","r",stdin); int a[10]; for(int i=0...原创 2019-09-15 22:50:16 · 157 阅读 · 0 评论 -
判断一个字符串s2是否是另一个字符串s1的子串
写一个函数,判断一个字符串是否是子串: //函数实现如Strstr(): int Strstr(char s1[],char s2[]) { /* 如果s2是s1的字串,则返回s1中第一次出现的位置 如果s2不是s1的字串,返回-1 空串,返回0 */ int length1 = strlen(s1); int length2 = strlen(s2); if(length2 ...原创 2019-09-10 21:39:28 · 5240 阅读 · 0 评论 -
迷瘴贪心写法
hdu 2570 题目迷瘴: 通过悬崖的yifenfei,又面临着幽谷的考验—— 幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅。由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而死。 幸好yifenfei早有防备,提前备好了解药材料(各种浓度的万能药水)。现在只需按照配置成不同比例的浓度。 现已知yifenfei随身携带有n种浓度的万能药水,体积V都相同,浓度则分别为P...原创 2019-08-01 16:44:52 · 128 阅读 · 0 评论 -
多机调度问题--贪心策略
题目:设有n个独立的作业,由m台相同的计算机进行加工。作业 i 的处理时间为 ti ,每个作业可在任何一台计算机上加工处理,但不能间断、拆分。要求给出一种作业调度方案,在尽可能短的时间内,由m台计算机加工处理完成这n个作业。 求:m台计算机处理完n个作业,所需的最短时间 求解多机调度问题的贪心策略是最长处理时间的作业优先,即把处理时间最长的作业分配给最先空闲的计算机。 input 第一行T(1...原创 2019-08-03 19:03:11 · 1875 阅读 · 0 评论 -
字符串搜索算法题解
ALDS1_4_C 题目大意:请实现一个能执行以下命令的建议“字典”。 insert str:向字典中添加字符串str find str:当前字典中包含str时输出yes,不包含时输出no 个人简易实现算法如下: #include <iostream> #include <string.h> using namespace std; int main(void...原创 2019-07-22 11:45:45 · 325 阅读 · 0 评论 -
找一对数
输入n个数,找出其中两个数,使它们的和等于整数m 这道题不能用枚举暴力,因为时间复杂度有O(n^2),因此,先使用C库中的排序,排序的时间复杂度为O(n*logn),远小于枚举,可行。 排序后使用二分查找法,找出那个数。 输入: n m 接下来n行,每行输入一个整数 输入样例: 10 9 1 2 3 4 5 6 7 8 9 10 #include <iostream> #include...原创 2019-09-20 09:19:34 · 249 阅读 · 0 评论