這周依舊是做貪心的題目,不過這周題目做起來要比之前舒服很多,當時在做ride to office時,剛開始看以為是追趕問題,想著就會很麻煩,但是,在經過一段時間掙扎後,我看了看別人寫的題解,才豁然頓悟,貪心的應用如同它本意一樣,要找到最優解,而不是侷限在自己那一點思維當中,要會去深入思考。
再後來的做題中我發現列舉的應用在貪心題目中常常出現,因此這周對於列舉的應用感悟頗多,比如在特殊密碼鎖一題中,拿到這道題很是發懵,不知道從**入手,也是最後看了題解以後,發現用兩次列舉就可以解決這道問題。
還有communication system一題中,在開始做這道題時,沒有完全的讀懂題意,我以為是從每行中找出最大的頻寬,然後從這幾行中再挑選出最大的,再把這幾個行頻寬的價值加起來,但是這個思路是完全不對的,但是當時答案卻碰巧對了,但是就是ac不了,提交了好幾次都不對,最後不得不查了查題解。
附上我的錯誤**
#include
#include
#include
#include
using
namespace std;
intmain()
}for
(int i=
1;i)else
if(a[i]
.first==c)}}
b[num]
=c; p[num]
=d; num++;}
int sum=0;
for(
int i=
0;i) cout
)<<
(double
)k/sum<}}
從這道題開始的時候我是依靠翻譯器翻譯的,但是我最後理解的題意是錯誤的,因此我也發現單純依靠一些翻譯器的翻譯是沒法讓自己明白題目的真正含義的,所以我也是從這道題開始養成自己仔細讀題的習慣,哪怕是耗上個十分鐘,也比自己胡思亂想要划算來的多。
ac**如下
#include
#include
#include
#include
using
namespace std;
intmain()
}double ans=
0.0;
for(
int k=minv;k<=maxv;k++
) sum+
=minc;}if
(k*1.0
/sum>ans)
ans=k*
1.0/sum;
} cout
)<}return0;
}}
總之,這週的收穫還是很大的,以後要盡自己所能去完成每一道題目,才能把每道題的收益最大化。 一周工作小結
一連幾天都比較忙,前天和老許一起去了學校,看了看羅捷小組的專案,然後我們就在邊上偷笑,發現和我們還是有段距離的,hoho。中午在重慶雞功煲吃的,我的本意是要請羅捷吃頓的,他畢竟幫了我們滿大的乙個忙,可是怎麼拉他都不去,那也只好算了,下午又和泡泡,老許去游泳。這個泡泡真是差點氣 死我。交給我的詳細設計...
一周TDD小結
在某個專案上使用tdd方式開發,結果比較慘淡。自己來說,有些 設計決策猶豫症候群 也就是說,在寫 的時候,不知道如何處理某個問題,而卡在了那裡。這樣的問題希望能通過tdd改善,也就是所謂的,用最簡單的方式實現就好了,不要考慮擴充套件性什麼的,無論何時出現了問題,包括測試不通過,繼續寫下去的時候感覺不...
一周Qt使用小結
初創公司,沒有像大公司那樣的技術積累,很多東西需要自己從頭幹起,其中較大的一塊就是工具。想起剛剛參加工作半年的那會兒,老闆為了說服我寫工具,說讓我進工具組是培養我,寫了乙個資料校驗工具後,我就死活再也不肯開發工具了,硬要繼續寫服務端程式。現在真是輪迴,這次我是發現,我們實在是太需要工具了,於是決定自...