贪心算法
文章平均质量分 61
贪心算法
撒浪嘿呦x
我爱学习!
展开
-
每日一题 Fence Repair
Fence RepairDescriptionFarmer John wants to repair a small length of the fence around the pasture. He measures the fence and finds that he needs N (1 ≤ N ≤ 20,000) planks of wood, each having some integer length Li (1 ≤ Li ≤ 50,000) units. He then purcha原创 2021-03-08 22:46:13 · 330 阅读 · 0 评论 -
每日一题 Saruman‘s Army
Saruman’s ArmyDescriptionSaruman the White must lead his army along a straight path from Isengard to Helm’s Deep. To keep track of his forces, Saruman distributes seeing stones, known as palantirs, among the troops. Each palantir has a maximum effective原创 2021-03-07 21:09:54 · 204 阅读 · 0 评论 -
每日一题 Best Cow Line
Best Cow LineDescriptionFJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual “Farmer of the Year” competition. In this contest every farmer arranges his cows in a line and herds them past the judges.The contest organizers adopted a new registrat原创 2021-03-06 15:08:33 · 172 阅读 · 0 评论 -
每日一题 区间调度问题
区间调度问题问题描述:有n项工作,每项工作分别在si开始,ti结束。对每项工作,你都可以选择参加或不参加,但选择了参加某项工作就必须至始至终参加全程参与,即参与工作的时间段不能有重叠(即使开始的时间和结束的时间重叠都不行)。限制条件:1<=n<=1000001<=si<=ti<=109样例输入:51 32 54 76 98 10样例输出:3(选择工作1, 3, 5)最优策略:在可选工作中,每次选择都选择结束时间最早的工作。#include&l原创 2021-03-05 17:49:52 · 293 阅读 · 0 评论 -
每日一题 合唱队形(最长上升子序列)
合唱队形N位同学站成一排,音乐老师要请其中的**(N-K)**位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1<…Ti+1>…>TK(1≤i≤K)。你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入格式输入的第一行是一个整数N,表示同学的总数。第二行有n个整数,用空格分隔,第i个整数Ti是第i位同学的身高原创 2021-02-17 19:41:32 · 145 阅读 · 0 评论 -
每日一题 最长上升子序列
最长上升子序列给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数N。第二行包含N个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤1000,−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4一.动态规划(DP)#include<iostream>#include<algorithm>using namespace std;const int N = 1原创 2021-02-17 13:12:13 · 214 阅读 · 0 评论 -
每日一题 火星人
火星人一.库函数: next_permutation ( start , end )功能:将一个数字数数组{1,2,3,4,5},从start位到end位进行全排列,返回下一个(从小到大排序)的数组。eg:a[ ] = {1,2,3,4,5}next_permutation ( a , a+5 ) >>>{1,2,3,5,4}next_permutation ( a , a+5 ) >>>{1,2,4,3,5}#include&原创 2021-02-17 22:37:23 · 202 阅读 · 0 评论 -
每日一题 滑雪场设计
滑雪场设计农夫约翰的农场上有 N 个山峰,每座山的高度都是整数。在冬天,约翰经常在这些山上举办滑雪训练营。不幸的是,从明年开始,国家将实行一个关于滑雪场的新税法。如果滑雪场的最高峰与最低峰的高度差大于17,国家就要收税。为了避免纳税,约翰决定对这些山峰的高度进行修整。已知,增加或减少一座山峰 x 单位的高度,需要花费 x2 的金钱。约翰只愿意改变整数单位的高度,且每座山峰只能修改一次。请问,约翰最少需要花费多少钱,才能够使得最高峰与最低峰的高度差不大于17。输入格式第一行包含整数 N。原创 2021-02-15 22:57:30 · 162 阅读 · 0 评论 -
每日一题 整数集合划分
整数集合划分给定一个包含 N 个正整数的集合,请你将它划分为两个集合 A1 和 A2,其中 A1 包含 n1 个元素,A2 包含 n2 个元素。集合中可以包含相同元素。用 S1 表示集合 A1 内所有元素之和,S2 表示集合 A2 内所有元素之和。请你妥善划分,使得 |n1−n2| 尽可能小,并在此基础上 |S1−S2| 尽可能大。输入格式第一行包含整数 N。第二行包含 N 个正整数。输出格式在一行中输出 |n1−n2| 和 |S1−S2|,两数之间空格隔开。数据范围2≤N≤105,原创 2021-02-16 10:53:04 · 461 阅读 · 0 评论