我的问题很笼统..也不能重复。

当我们声明类似int mat[1000000][1000000];的东西时

确保矩阵大小过 Assembly 产生错误。

我在许多竞争性编程网站上看到了很多问题,在这些网站上,我们需要声明一个具有10 ^ 6行,列的2d矩阵,我知道总有一些技巧可以减小矩阵的大小。

所以我只想问一下在这种情况下我们可以使用什么方法或技巧来最小化大小。.我的意思是,通常需要哪种类型的算法来解决它,例如DP或其他任何算法?

最佳答案

  • 在DP中,如果当前行仅取决于上一行,则可以使用int mat[2][1000000];。计算完当前行后,您可以立即丢弃前一行,并切换当前行和上一行。
  • 有时,可以使用std::map代替2D数组。
  • 我在编程竞赛中遇到了很多问题,
    解决方案视情况而定,因此,如果您提到
    具体情况下,我可能会给您更好的针对性解决方案。
  • 10-08 17:52