如何阅读问题并得到可行解
如何去阅读问题陈述
基本规则
得到纯数学模型
更短
更简单
数据的限制
实例样本:验证得到模型的整确性
查看备注note
尝试去找熟悉的模式或范式(模板等)
努力去找一些奇怪的事情,你没有预期的那种(maybe cornerstone)
将模型划分为独立的部分
书写新的描述,在纸上,用手
样例
1569. Networking the “Iset”
给定无向图,求出图的直径最短的连通图(生成树)。
如何去得到解决方案
- ”全部回忆“
回想曾经解决过的相似问题
- ”从特殊到一般“
为了解决一般的问题,我们需要解决其所有的特殊情况,并尝试将他们推广到主问题(一般问题)的解法。也就是说,如果我不知道如何去解决一个复杂的问题,那么我们应该去简化它,并找到最简单版本的解
- 如果你得到了一个树的问题,可以考虑一个变种,将树退化为路径来进行解决
- 如果一个问题有权重,那么可以考虑所有权重都有相同的值或都为1,或是只有两种有区别的权重。
- “大胆假设”
当得到假设之后,尝试去证明它(通过大量的测试)。
- “为了解决一个问题,你需要像问题一样思考”
把自己带入到问题的角色当中,想象处理输入集是自己的工作,并思考在这种情况下,自己该如何行动。可以考虑用可视化的方法来辅助理解。
- “一起想”
只有在组队打比赛的时候有用。
- “挑选一个方法”
假设问题可以通过挑选的方法解决,我们基于该方法去思考解决方案。
- “输出并查看”
- “谷歌”
- 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