![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法分析与设计
会上树的代码
这个作者很懒,什么都没留下…
展开
-
随机投点法-----------7-1 椭圆的面积 (100 分)
一、小明在完成一道求椭圆面积的题目时,忘记了椭圆面积的计算公式,你能编一个程序,利用随机投点法帮他求出椭圆面积的近似值吗?椭圆的公式为:a ^2 / x ^2 + b ^2 / y ^2 =1提示:求[0,a]之间的随机数为:double x = double(rand())/RAND_MAX * a;输入格式:两个整数,椭圆的长半轴a和短半轴b,以空格分隔,0<b<a<10输出格式:椭圆的面积,只保留整数部分输入样例:6 3输出样例:56二、代码#原创 2021-12-15 15:31:24 · 2268 阅读 · 0 评论 -
分支回溯法-------7-1 0-1背包 (20 分)
一、给定n(n<=100)种物品和一个背包。物品i的重量是wi,价值为vi,背包的容量为C(C<=1000)。问:应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? 在选择装入背包的物品时,对每种物品i只有两个选择:装入或不装入。不能将物品i装入多次,也不能只装入部分物品i。输入格式:共有n+1行输入: 第一行为n值和c值,表示n件物品和背包容量c; 接下来的n行,每行有两个数据,分别表示第i(1≤i≤n)件物品的重量和价值。输出格式:输出装入背包中物品的最大总价值。输入样例原创 2021-12-08 20:46:21 · 237 阅读 · 0 评论 -
回溯法-----7-1 n后问题 (30 分)
一、题目:7-1 n后问题 (30 分)在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在n×n格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。输入格式:一个数字n输出格式:按照深度优先输出所有可行的解输入样例:4结尾无空行输出样例:2 4 1 33 1 4 2二、代码#include<iostream>#include<algorithm>原创 2021-12-03 17:52:12 · 650 阅读 · 0 评论 -
回溯法-----7-2 最小重量机器设计问题 (25 分)
一题目:7-2 最小重量机器设计问题 (25 分)**设某一机器由n个部件组成,每一种部件都可以从m个不同的供应商处购得。设wij 是从供应商j 处购得的部件i的重量,cij是相应的价格。 试设计一个算法,给出总价格不超过d的最小重量机器设计。输入格式:第一行有3 个正整数n ,m和d, 0<n<30, 0<m<30, 接下来的2n 行,每行n个数。前n行是c,后n行是w。输出格式:输出计算出的最小重量,以及每个部件的供应商输入样例:3 3 41 2 33 2 1原创 2021-12-03 17:39:30 · 712 阅读 · 0 评论 -
动态规划-切木头问题(代码实现)
切原木问题:给定一根长度为N米的原木;另有一个分段价格表,给出长度,对应的价格PL 。要求你找出适当切割原木分段出售所能获得的最大收益RN 。例如,根据下面给出的价格表,若要出售一段8米长的原木,最优解是将其切割为2米和6米的两段,这样可以获得最大收益R8 =P2 +P6 =5+17=22。。而若要出售一段3米长的原木,最优解是根本不要切割,直接售出。Length L 1 2 3 4 5 6 7 8 9 10Price PL 1 5 8 9原创 2021-11-30 21:59:04 · 1470 阅读 · 0 评论 -
回溯法-----7-1 0-1背包 (40 分) -----(不剪枝情况下)
一,题目:7-1 0-1背包 (40 分)给定n(n<=100)种物品和一个背包。物品i的重量是wi,价值为vi,背包的容量为C(C<=1000)。问:应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? 在选择装入背包的物品时,对每种物品i只有两个选择:装入或不装入。不能将物品i装入多次,也不能只装入部分物品i。输入格式:共有n+1行输入: 第一行为n值和c值,表示n件物品和背包容量c; 接下来的n行,每行有两个数据,分别表示第i(1≤i≤n)件物品的重量和价值。输出格式:输原创 2021-11-21 22:03:31 · 585 阅读 · 0 评论 -
贪心策略----4-3 最优合并问题 (30 分)
输入格式:第一行有 1 个正整数k,表示有 k个待合并序列。 第二行有 k个正整数,表示 k个待合并序列的长度。输出格式:输出最多比较次数和最少比较次数。输入样例:在这里给出一组输入。例如:45 12 11 2输出样例:在这里给出相应的输出。例如:78 52一、贪心策略:最少对应从待合并序列中每次找最小和次小,最多对应从待合并序列中每次找最大和次大,但是要注意每次得到的和需要与剩下待合并序列进行重新排序!!!二、代码实现#include<iostream>#原创 2021-11-14 16:47:03 · 1899 阅读 · 0 评论 -
贪心策略------删数问题
删数问题一、 贪心策略:从给定的数字中,找到升序最后的最后一个数,也可以说是降序的第一个数字。17854341 7 8 为一个升序,8是最后一个,删除, 原数字变为175431 7 为一个升序, 7是最后一个,删除 ,原数字为 1543以此类推,知道删除4个,最后即为 1313二、代码如下#include<iostream>#include<algorithm>#include<string.h> // strlen() 的头文件 using原创 2021-11-10 20:44:58 · 662 阅读 · 0 评论 -
《基于腾讯关于我的c++代码规范》
** 目的**为形成自己的C++编码风格,以保障代码的易维护性和编码安全性,特制定本规范。1 程序的版式1.程序块要采用缩进风格编写 :程序块要采用缩进风格编写,缩进的空格数为 ,缩进的空格数为 4 个。2.规则:相对独立的程序块之间 :相对独立的程序块之间、变量说明之后必须加空行 、变量说明之后必须加空行。3.较长的语句(>80 字符)要分成多行书写 )要分成多行书写。4.不允许把多个短语句写在一行中 :不允许把多个短语句写在一行中,即一行只写一条语句 ,即一行只写一条语句。5.规则:原创 2021-09-08 20:50:29 · 808 阅读 · 0 评论