这是本文档旧的修订版!
2020.5.5:
第一场团队赛:Nordic Collegiate Programming Contest 2019
比赛过程:
当场过题情况:
A:思路&代码:Wzy
B:思路:Wzy 代码:Yuki
C:思路&代码:Wzy
D:思路&代码:Yuki
E:思路&代码:Yuki
F:思路:Wzy&Yuki 代码:Wzy
G:思路&代码:Famerthy
H:未通过
I:思路:Famerthy 代码:Famerthy&Yuki
题解:
A:
签到题
题意:你在说动物的名字,每次说的名字的首字母需要和上一次的末字母字样。给定上一次的动物名字和所有的动物名字,问你能不能说出这一次的动物名字,如果能,能不能让下一个人说不出名字。
解法:挨个判断就可以了
B:
题意:给出三个小矩形的长宽,求拼成的大矩形的最小面积。
题解:暴力枚举所有情况:矩形只能是1 1 1 或 2 1 排列(每个矩形两个方向)
C: 签到题 题意:有一块n*m巧克力,每次可以取出一块掰成两块,问你最少几次可以搞出若干个巧克力一共有a块。(n,m<10^6) 解法:设b=n*m-a 如果a或b是n或m的倍数 答案是1. 如果a或b能分成两个小于n,m的数的乘积,答案是2. 否则,答案是3.
D:模拟签到题
E:
题意:一棵树,每个点的权值是它子树所有点权值之和,给出部分点的权值,另一些未知,判断是否优解且解是否唯一(权值必须为正)
题解:从下往上递归判断讨论不同情况,再从上到下进行检查和填数。
因为权值必为正Min[x]表示x权值的最小值(权值确定时Min[x]=a[x]),显然Min[x]=ΣMin[u](u是x儿子)
从下往上判断时:
从上往下检查和填数:
超级大坑:输出量过大300000!!不然会TLE….呜呜呜检查了好久
F:
G:
H:
I:
一些反思: