如何阅读问题并得到可行解
sixwalter Lv6

如何去阅读问题陈述

基本规则

  • 得到纯数学模型

  • 更短

  • 更简单

  • 数据的限制

  • 实例样本:验证得到模型的整确性

  • 查看备注note

  • 尝试去找熟悉的模式或范式(模板等)

  • 努力去找一些奇怪的事情,你没有预期的那种(maybe cornerstone)

  • 将模型划分为独立的部分

  • 书写新的描述,在纸上,用手

样例

1569. Networking the “Iset”

给定无向图,求出图的直径最短的连通图(生成树)。

如何去得到解决方案

  1. ”全部回忆“

回想曾经解决过的相似问题

  1. ”从特殊到一般“

为了解决一般的问题,我们需要解决其所有的特殊情况,并尝试将他们推广到主问题(一般问题)的解法。也就是说,如果我不知道如何去解决一个复杂的问题,那么我们应该去简化它,并找到最简单版本的解

  • 如果你得到了一个树的问题,可以考虑一个变种,将树退化为路径来进行解决
  • 如果一个问题有权重,那么可以考虑所有权重都有相同的值或都为1,或是只有两种有区别的权重。
  1. “大胆假设”

当得到假设之后,尝试去证明它(通过大量的测试)。

  1. “为了解决一个问题,你需要像问题一样思考”

把自己带入到问题的角色当中,想象处理输入集是自己的工作,并思考在这种情况下,自己该如何行动。可以考虑用可视化的方法来辅助理解。

  1. “一起想”

只有在组队打比赛的时候有用。

  1. “挑选一个方法”

假设问题可以通过挑选的方法解决,我们基于该方法去思考解决方案。

  1. “输出并查看”
  2. “谷歌”
  • Post title:如何阅读问题并得到可行解
  • Post author:sixwalter
  • Create time:2023-08-05 11:14:26
  • Post link:https://coelien.github.io/2023/08/05/coding-solution/code_forces_01/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
 Comments