Advertisement
AmidamaruZXC

Untitled

Dec 4th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.74 KB | None | 0 0
  1. int lis(std::vector<int> nums)
  2. {
  3.     int n = nums.size();
  4.     int max = 0, i, j;
  5.     std::vector<int> buf(n, 1);
  6.     for (i = 1; i < n; i++)
  7.         for (j = 0; j < i; j++)
  8.             if (nums[i] > nums[j] && buf[i] < buf[j] + 1)
  9.                 buf[i] = buf[j] + 1;
  10.  
  11.     for (i = 0; i < n; i++)
  12.         if (max < buf[i])
  13.             max = buf[i];
  14.  
  15.     return max;
  16. }
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23. int ways(int m, int n)
  24. {
  25.     if (m == 0 || n == 0)
  26.         return 0;
  27.     int** f = new int* [m];
  28.     for (int i = 0; i < m; i++)
  29.     {
  30.         f[i] = new int[n];
  31.         f[i][0] = 1;
  32.     }
  33.     for (int j = 0; j < n; j++)
  34.         f[0][j] = 1;
  35.     for (int i = 1; i < m; i++)
  36.         for (int j = 1; j < n; j++)
  37.             f[i][j] = f[i - 1][j] + f[i][j - 1];
  38.     int res = f[m - 1][n - 1];
  39.  
  40.     for (int i = 0; i < m; i++)
  41.         delete[] f[i];
  42.     delete[] f;
  43.     return res;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement