貪心演算法的總結處理

2021-10-11 12:18:27 字數 2119 閱讀 2816

貪心演算法(又稱貪婪演算法)是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,演算法得到的是在某種意義上的區域性最優解。

核心的處理在於:最優子結構的存在,即部分最優解合起來是整體最優解。

以題目進行分析:

p7095 [yloi2020] 不離

ps首先感謝一下寫題解的大佬,我一開始是真的不會做,按照它的**慢慢摸索在,終於會了。

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

#define rg register int

#define ll long long

#define ull unsigned long long

#define int long long

const

int maxn =

100010

;struct equipment

} equip[maxn]

;template

<

class

t>

inline

void

read

(t &x)

template

<

typename t>

inline

void

print

(t x)

priority_queue q;

bool

cmp(equipment a, equipment b)

signed

main()

sort

(equip, equip + number, cmp)

;int ans =

0, a =0;

for(

register

int i =

0; i < number; i++

) a = a + equip[i]

.padd;

}print

(ans)

;putchar

(' ');

int ans2 =

0, b =0;

//最小的穿戴精神要求與此時的精神,此時的力量

//我想要在ans已經確定的前提下利用優先對列進行做題,如何解決?

//為什麼不把ans設為初值呢?

for(

register

int i =

0; i < number; i++

) b = b + sadd;

ans +

= padd;

} q.

push

(equip[i]);

}if(i == number -1)

b = b + sadd;}}

}print

(ans2)

;system

("pause");

return0;

}//終於給我過了,哈哈哈哈哈

//難死我了= =

//掌握到了一些精髓

//貪心演算法中優先佇列的鑲嵌使用,通過sort獲得第一限制條件能夠得到的結果

//再通過priority_queue實現在第乙個限制條件下的第二個限制條件的完成

//拓展一下,如果要求有三個限制條件,又或者n個限制條件呢?

//在完成第二個限制條件後,以第乙個,第二個為約束條件進行搜尋即可,ok!

這道題目的核心問題,如何在第乙個限制條件,即保證初始力量最小的條件下篩選出初始精神最小。

對於這個問題,優先佇列是乙個非常好的辦法,其本身只有logn的複雜度,在內部設立乙個相對於篩選環境就行。

例題2:例題沒有了。。。

給定乙個n,下面有n個資料,每行有a,b,c三個數字,保證a+b+c>=0

求初始的資金c,能遍歷完全部的資料。

由於最後的值一定大於0,所以我們只需要通過每個資料的t=min(a,a+b)進行篩選就可以,我們要保證最小的啟動資金先被篩選到。

正在施工。。。。。。。。。。

總結 貪心演算法 貪心演算法入門總結

英語 greedy algorithm,又稱貪婪演算法,是一種在每一步選擇中都採取在當前狀態下最好或最優 即最有利 的選擇,從而希望導致結果是最好或最優的演算法。比如在旅行推銷員問題中,如果旅行員每次都選擇最近的城市,那這就是一種貪心演算法。貪心演算法在有最優子結構的問題中尤為有效。最優子結構的意思...

貪心演算法總結

第一套題主要用貪心演算法來解決問題,貪心演算法簡單來說就是從區域性最優解,進而求得整體最優解,其中難點就是選擇貪心標準,貪心標準的選擇選的巧妙問題就會變的很簡單,比如第一題搬桌子的題,就是把房間轉化為對應的走廊號,問題就簡化了很多。貪心演算法的題目有的可以很簡單的看出來,常見典型的題有,揹包問題,最...

貪心演算法總結

在求最優解問題的過程中,依據某種貪心標準,從問題的初始狀態出發,直接去求每一步的最優解,通過若干次的貪心選擇,最終得出整個問題的最優解,這種求解方法就是貪心演算法。從貪心演算法的定義可以看出,貪心演算法不是從整體上考慮問題,它所做出的選擇只是在某種意義上的區域性最優解,而由問題自身的特性決定了該題運...