国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

【p1031-均分紙牌】解題記錄

2019-11-08 02:42:30
字體:
供稿:網(wǎng)友

原題地址點(diǎn) 這里

這是一道應(yīng)用的貪心策略的題目。

在知道各摞紙牌數(shù)量后,可以計(jì)算出紙牌的平均高度,也就是最后均分后的高度。

然后具體的貪心算法為:

順序遍歷每一張紙牌。如果當(dāng)前紙牌高度剛好為均分后的高度,則繼續(xù)遍歷下一張。如果當(dāng)前紙牌數(shù)多余或少于均分高度,則向下一摞添加或借出差的紙牌,哪怕會(huì)令下一摞紙牌高度變成負(fù)數(shù)也這么做,然后將移動(dòng)次數(shù)加一。到最后一摞紙牌時(shí),只要題目保證有解,則此時(shí)所有紙牌高度一定等于均分高度。

但是為什么這種看似奇怪的方法能得出正確的結(jié)果呢?(以后有時(shí)間再把坑填上~)

最終代碼如下:

#include <cstdio>#include <numeric>using namespace std;const int maxn= 105;int cnt[maxn], size, ans=0;int main(){ scanf("%d", &size); for(int i=0; i<size; ++i){ scanf("%d", &cnt[i]); } int ave= accumulate(cnt, cnt+size, 0)/size; for(int i=0; i<size; ++i){ int &now= cnt[i], &next= cnt[i+1]; if(now!=ave){ next-= ave-now; ++ans; } }
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 柘城县| 伽师县| 廊坊市| 湟中县| 田阳县| 彭泽县| 郑州市| 九江市| 遂昌县| 剑川县| 巨鹿县| 桐城市| 本溪市| 霞浦县| 菏泽市| 博兴县| 上林县| 靖州| 靖远县| 阿坝县| 茶陵县| 驻马店市| 陕西省| 称多县| 漳浦县| 兴义市| 邹平县| 景东| 修文县| 荣成市| 马关县| 绥芬河市| 宿迁市| 应城市| 巴里| 简阳市| 报价| 龙山县| 仙桃市| 抚顺县| 阜城县|