
算法
算法
框架师练习生
这个作者很懒,什么都没留下…
展开
-
第k大元素
实验要求利用STL中的prority_queue容器,求出一个无序整数序列中第k大的元素输入要求第一行输入2个整数n(0<n<100)和k(0<k<=n)第二行输入n个无序整数。输出要求输出第k大元素(不用换行)例子输入4 3 2 1 3 3输出2源码#include <iostream>#include <queue>using namespace std;int main(){ int n, k; p原创 2020-11-04 19:16:18 · 298 阅读 · 0 评论 -
01背包(回溯法)
实验要求用回溯法解决0-1背包问题时,其解空间有长度为n的0-1向量组成,并可以组织成高度为n+1满二叉树。二叉树的结点按层次遍历的顺序从上到下、从左到右的顺序编号(从1开始)。采用回溯法解决问题时,可以使用约束条件对左子树进行剪枝,使用限界条件对右子树进行剪枝。在本题中,约束条件为tw+w[i]<=C,限界条件为tv+rv[i]>maxv输入要求有多组数据。每组数据包含三行。第一行包含两个整数C(1 <= C <= 10000)和n(1 <= n <=原创 2020-11-23 16:22:10 · 843 阅读 · 0 评论 -
子集和问题(回溯法)
实验要求给定n个不同的正整数集合w={w1, w2, …, wn)和一个正整数W,要求找出w的子集s,使该子集中所有元素的和为W。输入要求首先数据一行数据,包含两个整数W(1 <= W <= 10000)和n(1 <= n <= 20),分别表示和以及整数的个数。第二行包含n个整数,依次表示第i个整数的值w(0 <= w[i] <= 100)。输出要求如果子集存在,则输出满足条件的子集的个数,否则输出“no",并换行。测试用例输入输出原创 2020-11-23 16:35:59 · 2522 阅读 · 0 评论 -
冒号排序
实验要求输入要求多组输入每组数据首先输入一个整数n(0<n<100),然后输入n个待排序的整数输出要求每组数据输出n-1行,表示算法中n-1次扫描并交换的结果。例子输入72 6 -4 3 1 0 9输出-4 2 6 0 3 1 9 -4 0 2 6 1 3 9 -4 0 1 2 6 3 9 -4 0 1 2 3 6 9 -4 0 1 2 3 6 9 -4 0 1 2 3 6 9 注意:每个数字后面均有一个空格源码#include <原创 2020-11-04 19:09:58 · 320 阅读 · 0 评论 -
0/1背包问题(蛮力法)
实验要求:用蛮力法解决0/1背包问题输入要求:第一行输入2个整数,分别代表物品数量n(1<=n<=10)和背包容量C(1<=C<=100);接下来输入n行,每行输入2个整数,分别代表物品的重量和价值。输出要求:第1行输出一个整数,表示可行解的数量。可行解指的是物品可以放入背包中的解决方案。第2行输出最优解对应的物品重量和价值,用空格分隔。最有解指的是具有最大价值的可行解。例子输入:4 65 43 42 31 1输出:106 8代码#i转载 2020-11-07 16:23:25 · 1636 阅读 · 0 评论