这是本文档旧的修订版!
2020/05/05:
第一场团队赛: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: 题意:题的大致意思为有n个地精,最多分成m个组,然后每次攻击每个地精造成一点伤害,造成伤害以后会有一道闪电劈一组地精,造成K点伤害,也就是这个组里减少k个地精,闪电一定会挑地精最多的组劈。(1 ≤ n ≤ 10⁹, 1 ≤ m, k ≤ 10⁷) 题解:本题的思路是首先选出一部分地精,组成a组,每组k个地精,然后将剩下的地精平均分到min(m,n)组里,选取每一个可行的a值,求出最大值即可。枚举a(根据数据范围推导出最多枚举m次)
G: 签到水题
H: 暂时还没过qaq
I: 贪心水题
一些反思: