用户工具

站点工具


2020-2021:teams:famerwzyyuki:训练记录--比赛记录

这是本文档旧的修订版!


2020.5.5:
第一场团队赛:Nordic Collegiate Programming Contest 2019
比赛过程:
当场过题情况:
A:思路&代码:Wzy
B:思路:Wzy 代码:Yuki
C:(这是谁写的自己补上)
D:思路&代码:Yuki
E:思路&代码:Yuki
F:思路:Wzy&Yuki 代码:Wzy
G:思路&代码:Famerthy
H:未通过
I:思路:Famerthy 代码:Famerthy&Yuki

题解:
A:

B:
题意:给出三个小矩形的长宽,求拼成的大矩形的最小面积。
题解:暴力枚举所有情况:矩形只能是1 1 1 或 2 1 排列(每个矩形两个方向)

C:

D:模拟签到题

E:
题意:一棵树,每个点的权值是它子树所有点权值之和,给出部分点的权值,另一些未知,判断是否优解且解是否唯一(权值必须为正)
题解:从下往上递归判断讨论不同情况,再从上到下进行检查和填数。
因为权值必为正Min[x]表示x权值的最小值(权值确定时Min[x]=a[x]),显然Min[x]=ΣMin[u](u是x儿子)
从下往上判断时:

  • 当前节点权值确定:
    • Min[x]>a[x]:无解
    • Min[x]==a[x]:x的儿子的权值可以全部确定,显然a[u]=Min[u]
    • Min[x]<a[x]:
      • 儿子的值全部确定:无解
      • 儿子的值只有一个不确定:继续向上递归,这个儿子的权值确定
      • 儿子的值有超过两个不确定:多解
  • 当前节点权值不确定:
    • 所有儿子权值确定:当前节点数值确定
    • 否则继续向上递归,最终判断不确定

从上往下检查和填数:

  • 由于从上往下填数,若访问到当前节点,该节点权值仍不确定:无解
  • 当前节点权值确定:
    • sMin==a[x]:x的儿子的权值可以全部确定,显然a[u]=Min[u](sMin=ΣMin[u])
      再判断一次是因为从下往上时a[x]可能暂时还不确定
    • sMin!=a[x]且超过1个儿子节点不确定:多解
    • 只有一个儿子不确定:这个儿子的值确定

超级大坑:输出量过大300000!!不然会TLE….呜呜呜检查了好久

F:

G:

H:

I:

一些反思:

2020-2021/teams/famerwzyyuki/训练记录--比赛记录.1588867360.txt.gz · 最后更改: 2020/05/08 00:02 由 yuki