2020-team2-050

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

[/wiki/2020-team2 返回]

[[Image(Rank.png,1000px)]]

[[Image(Submissions.png,1000px)]]

= 概述 =

 solved: ??/??

 rank: ??

= 流水账 =

咕

= 总结 =

=== pb: ===
~~这里是总结~~

=== Creatix: ===
~~这里是总结~~

=== yyc: ===
~~这里是总结~~

= 题解 =

 * A:

 * B:

 * C:

 * D:题意:二维平面上有一些加油站,每个加油站有一个油价,油箱有容量,两点距离为曼哈顿距离,问从1走到n,加油不超过t(<=10)次的最小花费。

 考虑对于任意一个最终路径上的点i,若 C[i] >= C[i+1],则在 i+1 位置油箱会空。

 若 C[i] < C[i + 1],则i即使加满油也必不能到i+2(否则会跳过i+1)。故在i处油箱会满。

 即,任选路径上两个点,必有一个处于油箱满或油箱空的状态。记f[i][0/1]表示在i,油箱空或满,每次转移1步或两步即可。

 * E:

 * F:

 * G:

 * H:

 * I:

 * J:

 * K:这儿有两位神仙:

 首先证明可以拆分成若干个整块连着一个出头,队伍里3人没人想写拆分,然后想一个更概括性的奇奇怪怪的DFS填充 —— oscar

 只要看到条件说每个点度不小于2,就可以随便填填就填满了 —— CJB

 呜呜呜,学不来

 这里有一个赛场上骗队友去写拆分的人想了一晚上想出来的证明:

 要证明满足条件则一定有解,不妨证明一个更强的结论:若一个连通块除了一个长为1*n(n>=2)的部分外所有点的度数都不小于2,则该连通块有解。

 归纳证明:每次把那个特殊的1*n的段向两边扩展成极长的1*m(m>=n)的段,把1*m的部分用1*2或1*3的基础图形填充,之后发现原图形被分割成了若干个独立的部分,每个部分只有和1*m相邻的部分可能出现度为1,归纳可得该子问题优解。

 * L:

 * M:

[/wiki/2020-team2 返回]

概述

solved: ??/??

rank: ??

流水账

总结

pb:

这里是总结

Creatix:

这里是总结

yyc:

这里是总结

题解

  • A:
  • B:
  • C:
  • D:题意:二维平面上有一些加油站,每个加油站有一个油价,油箱有容量,两点距离为曼哈顿距离,问从1走到n,加油不超过t(<=10)次的最小花费。

考虑对于任意一个最终路径上的点i,若 C[i] >= C[i+1],则在 i+1 位置油箱会空。

若 C[i] < C[i + 1],则i即使加满油也必不能到i+2(否则会跳过i+1)。故在i处油箱会满。

即,任选路径上两个点,必有一个处于油箱满或油箱空的状态。记f[i][0/1]表示在i,油箱空或满,每次转移1步或两步即可。

  • E:
  • F:
  • G:
  • H:
  • I:
  • J:
  • K:这儿有两位神仙:

首先证明可以拆分成若干个整块连着一个出头,队伍里3人没人想写拆分,然后想一个更概括性的奇奇怪怪的DFS填充 —— oscar

只要看到条件说每个点度不小于2,就可以随便填填就填满了 —— CJB

呜呜呜,学不来

这里有一个赛场上骗队友去写拆分的人想了一晚上想出来的证明:

要证明满足条件则一定有解,不妨证明一个更强的结论:若一个连通块除了一个长为1*n(n>=2)的部分外所有点的度数都不小于2,则该连通块有解。

归纳证明:每次把那个特殊的1*n的段向两边扩展成极长的1*m(m>=n)的段,把1*m的部分用1*2或1*3的基础图形填充,之后发现原图形被分割成了若干个独立的部分,每个部分只有和1*m相邻的部分可能出现度为1,归纳可得该子问题优解。

  • L:
  • M: