
算法设计 - 贪心法
文章平均质量分 68
i逆天耗子丶
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java - 贪心算法 - 最大子阵列
import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); /* * 思路: * 最大子序列肯定不是以一个负数开头 * 同理肯原创 2016-06-06 18:00:33 · 1704 阅读 · 0 评论 -
最小生成树算法---Kruscal算法和Prim算法(入门)
问题描述假设现在有n个城市,我们要在城市之间修路,使得我们无论从哪一个城市出发,都能通过某种路线到达另一个城市。在不同的城市之间修路,所需费用也不同,求如果要使得每个城市之间连通,最少的花费是多少。 假设城市是结点,结点间的连线的权重就是费用,我们要求的最小花费所选取的边和所有的结点所构成的就是最小生成树。算法描述最小生成树的唯一性 最小生成树不一定是唯一的。 如图下图1,图2,红色的边连接原创 2017-01-04 00:25:45 · 3832 阅读 · 0 评论 -
Java - 蓝桥杯 - 历届试题 翻硬币
问题描述小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相原创 2016-05-23 14:57:24 · 1277 阅读 · 0 评论 -
UVa - 11292 - Dragon of Loowater ( 排序 + 贪心 )
#include#include#define N 20001 using namespace std;int a[N],b[N];int n,m;int main(){ while(scanf("%d%d",&n,&m)==2&&n&&m){ for(int i=0 ;i<n ;i++) scanf("%d",&a[i]); for(int i=0 ;i<m ;i++)原创 2016-12-27 09:16:09 · 451 阅读 · 0 评论 -
UVa - 11729 - Commando War ( 排序+贪心 )
#include#include#define N 1001using namespace std;struct Soldier{ int a,b;}s[N];bool cmp(Soldier s1 ,Soldier s2){ return s1.b>s2.b;}int cnt = 0;int a,b,n;int main(){ while(scanf("%d",&n原创 2016-12-27 10:57:24 · 444 阅读 · 0 评论 -
1070. 结绳(25)
题目描述:给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。给定N段绳子的长度,你需要找出它们能串成的绳子的最大长度。 输入格式: 每个输入包含1个测试用例。每个测试用例第1行给出正整数N (2 4);第2行给出N个原创 2017-03-19 21:26:52 · 1462 阅读 · 0 评论 -
PAT - 甲级 - 1125. Chain the Ropes (25)
题目描述:Given some segments of rope, you are supposed to chain them into one rope. Each time you may only fold two segments into loops and chain them into one piece, as shown by the figure. The resul原创 2017-03-28 22:23:39 · 498 阅读 · 0 评论 -
蓝桥杯 - 算法提高 快乐司机 ( 排序+贪心 )
题目描述:"嘟嘟嘟嘟嘟嘟 喇叭响 我是汽车小司机 我是小司机 我为祖国运输忙 运输忙" 这是儿歌“快乐的小司机”。话说现在当司机光有红心不行,还要多拉快跑。多拉不是超载,是要让所载货物价值最大,特别是在当前油价日新月异的时候。司机所拉货物为散货,如大米、面粉、沙石、泥土...... 现在知道了汽车核载重量为w,可供选择的物品的数量n。每个物品的重量为g原创 2017-03-26 14:41:52 · 1656 阅读 · 0 评论 -
LeetCode 53. Maximum Subarray
Maximum Subarray题目描述:Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [-2,1,-3,4,-1,2,1,-5,4],th原创 2017-09-05 12:53:09 · 349 阅读 · 0 评论 -
PAT - 甲级 - 1037. Magic Coupon (25)(贪心)
The magic shop in Mars is offering some magic coupons. Each coupon has an integer N printed on it, meaning that when you use this coupon with a product, you may get N times the value of that product b原创 2017-11-29 21:27:33 · 302 阅读 · 0 评论 -
PAT - 甲级 - 1067. Sort with Swap(0,*) (25)(模拟+贪心)
Given any permutation of the numbers {0, 1, 2,..., N-1}, it is easy to sort them in increasing order. But what if Swap(0, *) is the ONLY operation that is allowed to use? For example, to sort {4, 0, 2原创 2017-11-29 21:36:28 · 335 阅读 · 0 评论 -
PAT - 甲级 - 1070. Mooncake (25)(贪心)
Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many types of fillings and crusts can be found in traditional mooncakes according to the region's culture. Now原创 2017-11-29 21:43:12 · 497 阅读 · 0 评论 -
UVa - 11292 - The Dragon of Loowater ( 贪心 )
Problem C: The Dragon of LoowaterOnce upon a time, in the Kingdom of Loowater, a minor nuisance turned into a major problem.The shores of Rellau Creek in central Loowater had always been a prime b原创 2016-05-14 10:16:35 · 514 阅读 · 0 评论 -
NYOJ - 218 - Dinner(简单问题)
描述Little A is one member of ACM team. He had just won the gold in World Final. To celebrate, he decided to invite all to have one meal. As bowl, knife and other tableware is not enough in the kitche原创 2016-10-18 08:15:22 · 1321 阅读 · 0 评论 -
Java - 贪心算法 - 三值排序
排序是一种很频繁的计算任务。一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候。在这个任务中可能的值只有三种1,2和3。我们用交换的方法把他排成升序的。写一个程序计算出,计算出的一个包括1、2、3三种值的数字序列,排成升序所需的最少交换次数。输入第1行为类别的数量N(1≤N≤1000)输入第2行到第N+1行,每行包括一个数字(1或2或3)。输出包含一行,为排成升序所需的原创 2016-06-06 17:58:48 · 1796 阅读 · 0 评论 -
2037今年暑假不AC (贪心算法)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 45262 Accepted Submission(s): 24275Problem Description“今年暑假不AC?”“是的。”“那你干原创 2016-06-28 10:36:25 · 774 阅读 · 0 评论 -
Java - 贪心算法 - 跳跃游戏
给定一个非负整数数组,假定你的初始位置为数组第一个下标。数组中的每个元素代表你在那个位置能够跳跃的最大长度。请确认你是否能够跳跃到数组的最后一个下标。例如:A = [2,3,1,1,4],return true.A = [3,2,1,0,4],return false.格式:第一行输入一个正整数n,接下来的一行,输入数组A[n]。如果能跳到最后一个下标,输出“t原创 2016-06-07 09:29:24 · 3343 阅读 · 0 评论 -
NYOJ - 824 - Greedy Mouse(贪心算法--部分背包问题)
描述A fat mouse prepared M pounds of cat food,ready to trade with the cats guarding the warehouse containing hisfavorite food:peanut. The warehouse has N rooms.The ith room containsW[i] pounds o原创 2016-10-21 12:35:50 · 1040 阅读 · 0 评论 -
NYOJ - 91 - 阶乘之和(贪心算法)
描述给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;输入第一行有一个整数0每组测试数据有一个正整数n输出如果符合条件,输出Yes,否则输出No;样例输入2910样例输出YesNo//int num[9] = {1,2,6,24,120,720,5040,4032原创 2016-10-24 20:51:43 · 1911 阅读 · 0 评论 -
NYOJ - 14 - 会场安排问题(区间相关问题---选择不相交区间-贪心算法)
描述学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。输入第一行是一个整型数m(m每组测试数据的第一行是一个整数n(1随后的n行,每行有两个正整数Bi,Ei(0输出对于每一组原创 2016-10-19 17:10:17 · 2148 阅读 · 0 评论 -
NYOJ - 891 - 找点(区间相关问题---区间选点-贪心算法)
描述上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点。但是这几天LYH太忙了,你们帮帮他吗?输入多组测试数据。每组数据先输入一个N,表示有N个闭区间(N≤100)。接下来N行,每行输入两个数a,b(0≤a≤b≤100),表示区间的两个端点。输出输出一个整数,表示最少需要找几个点。样例输入41 52 41 4原创 2016-10-19 17:28:55 · 952 阅读 · 0 评论 -
喷水装置(一) (贪心)
时间限制:3000 ms | 内存限制:65535 KB难度:3描述现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0输入第一行m表示有m组测试数据每一组测试数据的第一行有一个整数数n,n表示共有n个喷水装置,随后的一行,有n个实数ri,ri表示该喷水装置能覆盖的圆的半径原创 2016-08-16 22:43:42 · 1026 阅读 · 0 评论 -
NYOJ - 106 - 背包问题(物品可分割问题)
描述现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果给你一个背包它能容纳的重量为m(10<=m<=20),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。输入第一行输入一个正整数n(1随后有n测试数据,每组测试数据的第一行有两个正整数s,m(1输出输出每组测试数据中背包内的物品的价值和,每原创 2016-10-18 08:27:32 · 2079 阅读 · 0 评论 -
NYOJ - 71 - 独木舟上的旅行(乘船问题)
描述进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别。一条独木舟最多只能乘坐两个人,且乘客的总重量不能超过独木舟的最大承载量。我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅客的最少的独木舟条数。现在请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。根据给出的规则,计算要安置所有旅客必须的最少的独木舟条数,并输出结果。输入第一行输入s,表示测试原创 2016-10-18 08:23:14 · 1710 阅读 · 0 评论 -
PAT - 甲级 - 1033. To Fill or Not to Fill (25)(贪心)
With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Different ga原创 2017-11-28 11:41:15 · 481 阅读 · 0 评论