LongestIncreasingSubsequence_test.cpp 573 B

1234567891011121314151617181920212223242526272829
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef vector<int> VI;
  4. #define MAX_N 1000
  5. #include "LongestIncreasingSubsequence.cpp"
  6. void test1() {
  7. VI v = {3, 4, 7, 4, 5, 6, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  8. VI r = lis(v, true);
  9. for(int i = 0; i < r.size()-1; i++)
  10. assert(r[i] < r[i+1]);
  11. assert(r.size() == 10);
  12. }
  13. void test2() {
  14. VI v = {1, 2, 3, 4, 7, 4, 5, 6, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  15. VI r = lis(v, false);
  16. for(int i = 0; i < r.size()-1; i++)
  17. assert(r[i] <= r[i+1]);
  18. assert(r.size() == 12);
  19. }
  20. int main() {
  21. test1();
  22. test2();
  23. return 0;
  24. }