提高篇 貪心演算法

2021-10-07 04:31:49 字數 624 閱讀 3566

在新的一本書中又開始了對貪心演算法的學習。此次學習中主要學習應用的部分是區間貪心。

在這一部分貪心的目的是要求區間利用的最大化,例題來說主要解決的方法便是盡可能的選擇耗費時間少的區間,但在貪心時,如果有規律可循,那麼只要區間時間不重合排列那麼就是可以的。同樣貪心對每個題的演算法都不同,更多的還是自己適應不同的題目方式找規律。

活動安排例題思路:首先把每個區間的右端點進行排序,然後在選擇區間時,選擇與前乙個最近並不重合的區間,最後求出總值。

題目:設有 n 個活動的集合 e=,其中每個活動都要求使用同一資源,如演講會場等,而在同一時間內只有乙個活動能使用這一資源。每個活動i都有乙個要求使用該資源的起始時間si和乙個結束時間fi,且si輸入

第一行乙個整數 n(n<=1000);接下來的 n 行,每行兩個整數 si 和 fi。

輸出輸出盡可能多的互相相容的活動個數。

#include#include#include#include#include#includeusing namespace std;

struct hou

a[1005];

bool cmp(hou x,hou y)

}printf("%d",sum);

}

演算法提高 貪心演算法 翻硬幣

問題背景 藍橋杯 歷屆試題 prev 6 翻硬幣 小明正在玩乙個 翻硬幣 的遊戲。桌上放著排成一排的若干硬幣。我們用 表示正面,用 o 表示反面 是小寫字母,不是零 比如,可能情形是 oo oooo 如果同時翻轉左邊的兩個硬幣,則變為 oooo oooo 現在小明的問題是 如果已知了初始狀態和要達到...

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

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

演算法 貪心演算法

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