貪心演算法 (新手易懂)

2021-09-28 22:58:57 字數 658 閱讀 3613

貪心演算法的意思就是求乙個問題時求它的子問題的最優解,從而求得問題的最優解,貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀態,只與當前狀態有關。

下面講解例題:

例題大致意思就是,給你每乙個節目的開始時間和結束時間,問你最多可以看完多少個節目

輸入:

121 3

3 40 7

3 815 19

15 20

10 15

8 18

6 12

5 10

4 14

2 90

輸出:5

**:#include #include#include#includeusing namespace std;

typedef long long ll;

struct node

n[1005];

bool cmp(node a,node b)

}if(d>sum)

sum=d;

}printf("%lld\n",sum);

}return 0;

}

**主要是根據節目的結束時間進行排序,去找這個節目後還可看多少節目,這樣就可以找出可以看的最多節目

力扣之最易懂的貪心演算法

演算法解釋 貪心演算法採用貪心的策略,保證每次操作都是 區域性最優的,從而使最後得到的結果是 全域性最優的。題目描述 假設你是一位很棒的家長,想要給你的孩子們一些小餅乾。但是,每個孩子最多只能給一塊餅乾。對每個孩子 i,都有乙個胃口值 g i 這是能讓孩子們滿足胃口的餅乾的最小尺寸 並且每塊餅乾 j...

經典貪心演算法 貪心演算法概述

貪心演算法具有最優子問題結構,它的特點是 短視 每次選擇對當前局面最有利的決策,來一步步獲得最優解。我個人認為,貪心不是乙個具體的方法,而是一類方法,貪心演算法的關鍵不在於想到,而在於正確性的證明。要證明乙個貪心演算法是正確的,需要證明我們可以把乙個最優解逐步轉化為我們用貪心演算法所得到的解,而解不...

演算法 貪心演算法

把乙個複雜問題分解為一系列較為簡單的區域性最優選擇,每乙個選擇都是對當前解的乙個擴充套件,知道獲得問題的完整解。在解決問題的策略上目光短淺,只根據當前已有的資訊做出選擇,而且一旦做出了選擇,不管將來有什麼結果這個選擇都不會改變。換言之,貪心法並不是從整體最優考慮,它所做出的選擇只是在某種意義上的區域...