第二週的戰鬥

2021-10-22 17:24:29 字數 2246 閱讀 6023

本週學習內容:貪心演算法

最核心的思想:以小見大,區域性看整體,以區域性的最優來求出全域性的最優解。

這種題沒有什麼標準答案,每個人都有自己的想法,我們要做的是在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,它所做出的僅僅是在某種意義上的區域性最優解。

他沒有什麼框架,只是一種思想。但這種演算法存在著一些問題,

不能保證求得的最後解是最佳的

不能用來求最大值或最小值的問題

只能求滿足某些約束條件的可行解的範圍.

1.乙個很簡單的題,

fj 的 n 頭牛 (1 + lt; n < = 10,000) 都在長一維牧場的不同地點放

牧。奶牛是非常健談的動物。每對奶牛同時進行對話(因此每頭奶牛都同時在所有其他n-1奶牛身上進行moo)。當牛imoos在牛j,這個moo的體積必須等於我和j之間的距離,為了讓j能夠聽到moo在所有。請幫助 fj 計算所有 n*(n-1) 同步 mooing 會話產生的聲音總量。

#include

#include

#include

#include

using

namespace std;

intmain()

sort

(v.begin()

,v.end()

);long

long

int x,y;

for(x=

0;xcout<<

2*zong;

return0;

}

寫完之後其實沒有ac,我看了好幾遍,自己也執行了無數次,當覺得自己的想法不可能錯(當然確實沒錯),改了又改我都有點以為是**的錯,後來我發現了錯誤,資料型別,題目中給的很大,但我沒有注意,因為給的例項中數字並不大,所以給了我這種錯覺。這是細節上的問題。

2.鋪木板問題

農民約翰有乙個問題:從農場到城鎮的土路在最近的暴雨中遭受了損失,現在包含(1 +lt;\n <=10,000)泥池。

農民約翰有乙個長度l的木板的集合,他可以用來橋這些泥

池。他可以重疊木板,末端不需要錨定在地面上。然而,他必須完全覆蓋每個游泳池。

鑑於泥池,幫助 fj 找出他所需的最小木板數量,以便完全覆蓋所有泥池。

這是我一開始寫的**

#include

#include

#include

#include

#include

using

namespace std;

intmain()

sort

(v.begin()

,v.end()

);int ban=

0,chang=0;

for(i=

0;ielse

} chang=v[a+1]

-v[i]

; ban=ban+chang/l;

if(chang%l==0)

ban=ban;

else ban++;}

cout

}

很亂,而且錯了,看到題之後我沒有好好想,直接就做,遇見情況就寫if。剛開始我是把每個洞分開看的,並且與下個洞開頭作比較,看看能不能多加板。

後來,思考過後,我發現這種方法有很大的侷限性,好多情況不行,我覺得不能把每個洞分開看,應該連成一體,就像乙個人走路一樣,這是從新寫後

#include

#include

#include

#include

#include

#include

using

namespace std;

struct node

a[10010];

bool

cmp(node a,node b)

intmain()

else

} cout

}

一些小細節

在acm中我們解決的每個問題都不可能只有一組示例,所以我們會經常用到while迴圈,

(1):while(scanf("%d,&n)!=eof)

(2):while(cin>>n)

總結做了乙個星期的題,發現這些題考驗我們的並不是專業知識,這些知識更多的只是來優化我們的**,而真正考驗我們的是一種思維,一種看問題能力,當然它不是固化的,不是單單的一種解題思路,而是讓我們在遇見各種問題是要用多為的想法去考慮,我認為這比ac乙個題更加的重要。

暑假的第二週

這周前兩天完成了小學期作業的檢驗,本來這些程式在上週就寫完了,但在老師檢驗的時候又檢查出了問題。然後老師又毫不客氣的要我回去改。我犯了乙個很大的錯誤,就是在檔案匯入的步驟時,沒有寫入檔案,這是乙個很大很低階的錯誤 另乙個就是在寫程式的時候,沒有仔細的看題目要求。沒有題目要求用類封裝,所以在寫程式的時...

第二週作業

實驗作業 1.編寫調式執行第乙個c 程式,要求輸出你的班級 姓名和學號 2.輸入課本例題1.2,除錯執行程式,並分析程式。3.分析程式中哪些是識別符號,哪些是關鍵字。4.回答什麼是程式 工程,原始檔 目標檔案 執行檔案 編譯預處理 名字空間 函式.主函式 功能 顯示輸出班級 姓名 學號 includ...

第二週作業

第一題 include stdafx.h int main int argc,char argv 第二題 include using namespace std int max int x,int y int main 好吧,老師我實在不知道錯在 啊。我都是照著書本來打的,打了幾次還是這樣。第三題 ...