
算法
_小C_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
并查集
并查集@大牛博客原创 2020-04-23 11:01:32 · 168 阅读 · 0 评论 -
贪心算法
求解区间覆盖问题(20分) 题目内容: 设x1,x2,… ,xn是实直线上的n个点。用固定长度的闭区间覆盖这n个点,至少需要多少个这样的固定长度闭区间?设计求解此问题的有效算法。对于给定的实直线上的n个点和闭区间的长度k,编程计算覆盖点集的最少区间数。 输入格式: 输入数据的第一行有2个正整数n和k,表示有n个点,且固定长度闭区间的长度为k。接下来的1行中,有n个整数,表示n个点在实直线上的坐标(...原创 2019-03-28 17:24:36 · 580 阅读 · 0 评论 -
贪心算法
求解畜栏问题(20分) 题目内容: 有n头牛(1<=n<=50,000)要挤奶。给定每头牛挤奶的时间区间A,B。牛需要呆在畜栏里才能挤奶。一个畜栏同一时间只能容纳一头牛。问至少需要多少个畜栏,才能完成全部挤奶工作,以及每头牛都放哪个畜栏里?注意:在同一个畜栏的两头牛,它们挤奶时间区间不能在端点重合。 输入格式: 第1行:一个正整数N; 第2…N+1行:第i+1行的两个整数给出第i头奶牛...原创 2019-03-28 16:37:26 · 578 阅读 · 0 评论 -
回溯法求解最小机器重量设计问题
求解最小机器重量设计问题 题目内容: 设某一机器由n个部件组成,部件编号为1n,每一种部件都可以从m个不同的供应商处购得,供应商编号为1m。设wij是从供应商j处购得的部件i的重量,cij是相应的价格。对于给定的机器部件重量和机器部件价格,计算总价格不超过d的最小重量机器设计。(注意:输出结果中第一行最后没有空格。比如下面的输出样例中1 3 1后面没有空格。) 输入格式: 第1行输入3个正整数n,...原创 2019-04-06 20:17:24 · 1649 阅读 · 0 评论 -
回溯法
求解部分和问题(20分) 题目内容: 给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:“YES”,否则输出"NO"。 输入格式: 第1行:2个数N、K, N为数组的长度, K为需要判断的和(2 ≤N ≤ 20,1 ≤ K ≤ 10^9) 第2 到第 N + 1行:每行1个数,对应数组的元素A[i] (1 ≤ A[i]≤ 10^6) 输出格式: 如果可以,输出:“Y...原创 2019-04-06 15:35:56 · 284 阅读 · 0 评论 -
动态规划
ii.游艇租用问题 问题描述 长江游艇俱乐部在长江上设置了n个游艇出租站1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),1i<jn。试设计一个算法,计算出从游艇出租站1到游艇出租站n所需的最少租金。 编程任务 对于给定的游艇出租站i到游艇出租站j之间的租金为r(i,j),1i<jn,编程计算从游艇...原创 2019-03-22 18:15:51 · 392 阅读 · 0 评论 -
动态规划
i.最大K乘积问题 问题描述 设I是一个n位十进制整数。如果将I划分为k段,则可得到k个整数。这k个整数的乘积称为I的一个k乘积。试设计一个算法,对于给定的I和k,求出I的最大k乘积。 例如十进制整数 1234 划分为 3 段可有如下情形: 1 × 2 × 34 = 68 1 × 23 × 4 = 92 12 × 3 × 4 = 144 编程任务 对于给定的I 和k,编程计算I 的最大k 乘积。 ...原创 2019-03-22 16:36:09 · 537 阅读 · 0 评论 -
分治算法
题目内容: 设a1, a2,…, an是集合{1, 2, …, n}的一个排列,如果i<j且ai>aj,则序偶(ai, aj)称为该排列的一个逆序。例如,2, 3, 1有两个逆序:(3, 1)和(2, 1)。设计算法统计给定排列中含有逆序的个数。 输入格式: 第一行输入集合中元素个数n,第二行输入n个集合元素 输出格式: 含有逆序的个数 输入样例: 3 2 3 1 输出样例: 2 #i...原创 2019-03-20 23:18:14 · 2685 阅读 · 0 评论 -
分治算法
题目内容: 设计分治算法实现将字符数组A[n]中所有元素循环左移k个位置,例如,对abcdefgh循环左移3位得到defghabc。 输入格式: 第一行为数组长度n 第二行为循环左移数k 第三行为数组中元素 输出格式: 循环左移k个位置后的结果 输入样例: 8 3 abcdefgh 输出样例: defghabc #include<stdio.h> void reverse(int b...原创 2019-03-20 23:15:41 · 841 阅读 · 0 评论 -
动态规划算法
一个机器人只能向下和向右移动,每次只能移动一步,设计一个算法求机器人从(0,0)到(m,n)有多少条路径。 输入格式: 以空格分开m,n 输出格式: 路径条数 输入样例: 4 5 输出样例: 35 #include<cstdio> #include<cstring> using namespace std; int a[1000][1000]; void getPath...原创 2019-03-20 23:11:31 · 742 阅读 · 0 评论 -
动态规划算法
两种水果杂交出一种新水果,现在给新水果取名,要求这个名字中包含以前两种水果的字母,且名字尽量短,即:以前的水果名字arr1、arr2是新水果名arr的子序列,使用动态规划的思想设计算法得到新水果名arr。 输入格式: 以空格分开两个水果的名字 输出格式: 新水果的名字 输入样例: apple peach 输出样例: appleach #include<cstdio> #include&...原创 2019-03-20 23:08:14 · 387 阅读 · 0 评论 -
动态规划
某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。 输入格式: 第一行,输入雷达捕捉到的敌国导弹的数量k...原创 2019-03-20 23:05:52 · 295 阅读 · 2 评论