カード1：
   -  Q：「ダイナミックプログラミング」と「分割と征服」の違いは何ですか？
  -A：分裂と征服では、問題は独立して解決されます。動的プログラミングでは、これらの小さなサブ問題の結果が記憶され、他のサブ問題に使用されます。

カード2：
   -  Q：動的プログラミングはどこで使用されますか？
  -A：問題がある場合に使用されます。これは、同様のサブ問題に分割できるため、結果を再利用できます。

カード3：
   -  Q：手元のサブ問題を解決する前に、動的アルゴリズムは何をしますか？
  -A：以前に解決されたサブプラームの結果を調べようとします。

カード4：
   -  Q：動的アルゴリズムはどのようにメモを使用しますか？
  -A：既に解決されたサブ問題の出力を覚えておいてください。

カード5：
   -  Q：貪欲なアルゴリズムとダイナミックアルゴリズムの違いは何ですか？
  -A：貪欲なアルゴリズムはローカルの最適化に対処します。動的アルゴリズムは、全体的な最適化によって動機付けられています。
Card 1:
  - Q: What is the difference between "dynamic programming" and "divide and conquer"?
  - A: In divide and conquer, the problems are solved independently. In dynamic programming, the results of these smaller sub-problems are remembered and used for other sub-problems.

Card 2:
  - Q: Where is dynamic programming used?
  - A: It is used where we have problems, which can be divided into similar sub-problems, so that their results can be re-used.

Card 3:
  - Q: What will a dynamic algorithm do before solving the in-hand sub-problem?
  - A: It will try to examine the results of the previously solved sub-problems.

Card 4:
  - Q: How do dynamic algorithms use Memoization?
  - A: To remember the output of already solved sub-problems.

Card 5:
  - Q: what is the difference between greedy and dynamic algorithms?
  - A: Greedy algorithms address local optimization. Dynamic algorithms are motivated by overall optimization.