ACM貪心演算法 個人理解第一階段

2021-08-19 08:45:52 字數 864 閱讀 4614

//經過一周不到的貪心訓練,菜雞突然想說點什麼

貪心,顧名思義,就是從

在求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解

我將選擇劃分為第一階段,是因為我現在接觸的都是純貪心,沒有其他演算法的綜合

簡單點來說,地上有10塊錢和5塊錢,只能撿一張,如何讓面值最大

那就選10塊的唄,這是我們在當前狀態最好的選擇

但在當前狀態是最優解,但全域性來說,就不一定是最優解了

例如,用7  6 4 1 湊出 12 塊錢,如何用最少數量的錢湊

如果按照貪心的思想,應該是取 7—>4—>1 對每一步進行最優選擇

但實際上,6—>6 就可以,這裡就是全域性最優和區域性最優的區別了,全域性的話需要dp(動態規劃)的思路了,不多說

在我看來,貪心是一種很主觀的演算法,他跟我們生活很相關,做題的時候,可以自己感覺性模擬,如果是我。。我怎麼取,怎麼選擇,然後按照自己選的標準去寫**,錯不了。

面對這一類貪心問題,想ac最大的問題是關於cmp函式的書寫

貪心每次都要取當前最優解,跟cmp函式分不開關係

例如在hdu-4310 hero中

int cmp(boss a,boss b)

就是乙個dps/hp的比值問題的排序,這在生活中也常見,我們總是先會幹那些價效比高的事情,這樣才能使我們浪費的成本變低,如果只是對乙個方面考慮,則會造成較大的損失

//再有什麼好的理解再補

第一階段個人總結09

昨天幹了什麼 今天準備幹什麼 利用dbutils開源工具類庫將資料庫操作等功能封裝起來,這樣在多次呼叫的時候就簡便了許多,詢問隊友的設計模組的核心注意問題 如資料庫設計 主要是確認下 各個介面的介面等需要注意的問題 遇到什麼困難 在寫資料庫相關操作的時候是利用的svelte封裝,了解了dbutils...

第一階段個人總結07

昨天幹了什麼 今天準備幹什麼 編寫認領頁面,vlidate外掛程式的使用方法,將其插入到認領介面 實現對表單資訊的驗證,規範輸入格式 遇到什麼困難 查詢介面的搜尋方法是類似於篩選的功能,不用表單驗證,主要多為單選框,因為擔心使用者使用的時侯由於輸入的格式不一致而導致查詢結果不符合使用者需求 例如丟失...

第一階段個人總結03

昨天幹了什麼 先簡單設計了一下演算法,沒有具體實現,後寫了表單的設計,已完成基本模型,但對於各類要求還有待提高 今天準備幹什麼 打算開始搜尋演算法的編寫,具體可以在後期加以完善 主要是怎麼分各個型別的屬性之間的先後關係 遇到什麼困難 搜尋演算法還沒有確定好各個屬性之間的先後順序,所佔評分權值,所以先...