poj解題報告 2586

2021-06-27 01:29:03 字數 756 閱讀 1962

這題我是用的貪心演算法,其實不用也可以,列舉也能解決,因為情況不多。因為是每連續5個月必有虧損,而一年只有1-5,2-6,3-7,4-8……8-12共8種情況。現在設盈餘為s,虧損為d,可列出以下幾種情況。

ssssdssssdss       4ssssddsssddss      3s<2d

ssdddssdddss     2s<3d

sddddsddddsd    s<4d

dddddddddddd   s>=4d

可判定:

0 <= s <1/4d                 每連續5個月種至少1個月d

1/4d <= s < 2/3d          每連續5個月種至少2個月d

2/3d <= s < 3/2d          每連續5個月種至少3個月d

3/2d <= s < 4d             每連續5個月種至少4個月d

4d <= s                         全年各月必虧損

**如下

#include

void main()

else if((s>=0.666666*d)&&(s<1.5*d))

else if((s>=0.25*d)&&(s<0.666666*d))

else if((s>=0)&&(s<0.25*d))

if(flag)

printf("deficit\n");

else

printf("%d\n",surplus);}}

Poj 2586 解題報告

乙個超市有乙個待售商品集合prod,集合中每乙個商品都有乙個最晚銷售時間,每乙個產品都需要乙個單獨的單位時間銷售 即兩件商品不能同時銷售 乙個銷售計畫是乙個有序子集sell,sell prod,根據子集中的順序,每乙個商品都能在規定時間前銷售出去。乙個銷售計畫的利潤則為sell中的所有商品的利潤和。...

poj解題報告 1328

不得不說,這題是讓我飽受折磨,畢竟第一次做貪心演算法,而且wa了好多次,幸好有學長的幫助,最終找到了問題所在,是在快排上是問題,double高位不可向int低位轉換,由於一開始強制轉換導致雖然樣例和其他的測試資料過了,但還是wa,現在改完了就對了,附上ac ps 這題通過率是22 真心不簡單 如下 ...

poj解題報告 2635

這題特別好理解,就是 坑啊。題意就是給乙個數,這個數是兩個大素數的積,再給出乙個數,如果最小的素數比給的數大,列印good,否則列印bad和最小的素數。這題用的方法是高精度求模 同餘模定理。還有素數打表,把10 6內的素數全部預打表,在求模時則列舉到小於l為止。注意打表不能只打到100w,要保證素數...