2019年湘潭大学程序设计竞赛(重现赛)题解

目录

 

A:Who's better?

B:Number

C:Math Problem

D:Stone

E:Watermelon

F:Black & White

G:Truthman or Fakeman

H:Chat


A:Who's better?

【题解】

暴力水题,直接比较输出即可。


B:Number

【题解】

暴力模拟题,直接模拟计数即可。


C:Math Problem

【题解】

C:Math Problem(打表找规律)


D:Stone

【题解】

任意相邻两堆石子合并成一堆求代价最小,随便在纸上写一点数据就会发现:我们要尽可能让单个石子堆付出比较少的次数的代价,显然最优情况是付出代价的石子堆只移动一次并且最大石子堆不移动,因此输出所有石子堆(除了最大堆)和即可。

        int n; scanf("%d",&n);
        for(int i=0;i<n;i++) scanf("%d",&a[i]);
        sort(a,a+n);
        ll sum=0;
        for(int i=0;i<n-1;i++) sum+=a[i];
        printf("%lld\n",sum);


E:Watermelon

【题解】

E:Watermelon(思维)


F:Black & White

【题解】

F:Black & White(思维)


G:Truthman or Fakeman

【官方题解..待补ing】

2019年湘潭大学程序设计竞赛(重现赛)题解


H:Chat

【题解】

H:Chat(分组dp)