Advertisement
GerONSo

Untitled

Apr 26th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. /*
  2. --┬-- | | --┬-- | |
  3. | |\ | | | |
  4. | | \ | | -----> | |
  5. | | \ | | | |
  6. | | \ | | | |
  7. --┴-- | \| | └---- └----
  8.  
  9. */
  10.  
  11. #define pragma
  12.  
  13. #ifdef pragma
  14. #pragma GCC optimize("Ofast")
  15. #pragma GCC optimize("no-stack-protector")
  16. #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
  17. #pragma GCC optimize("unroll-loops")
  18. #endif // pragma
  19.  
  20. #include<bits/stdc++.h>
  21.  
  22. #define ll long long
  23. #define all(x) begin(x),end(x)
  24. #define pb push_back
  25. #define INF 9223372036854775807ll;
  26. #define PI 3.14159265359d
  27. #define INPUT "input.txt"
  28. #define OUTPUT "output.txt"
  29. #define sz size
  30. #define rsz resize
  31. #define int long long
  32.  
  33. using namespace std;
  34.  
  35. typedef vector<int> vi;
  36. typedef pair<int,int> pii;
  37. typedef long double ld;
  38.  
  39. void seriy() {
  40. ios::sync_with_stdio(0);
  41. cin.tie(0);
  42. cout.tie(0);
  43. }
  44.  
  45. ll dp[2000 + 100][2000 + 100];
  46. const ll MOD = 1e9 + 7;
  47.  
  48. signed main(){
  49. seriy();
  50. int n, k;
  51. cin >> n >> k;
  52.  
  53. vector<vector<ll> > precalc(n + 100);
  54. for(int i = 1; i <= n; i++){
  55. for(int j = 1; j < sqrt(i) + 1; j++) {
  56. if(i % j == 0) precalc[i].pb(j);
  57. }
  58. }
  59. for(int i = 0; i < n; i++) {
  60. dp[1][i] = 1;
  61. }
  62. for(int i = 2; i <= k; i++) {
  63. for(int j = 1; j <= n; j++) {
  64. for(int f = 0; f < precalc[j].size(); f++) {
  65. dp[j][i] = (dp[j][i] + dp[j - 1][i / precalc[j][f]] + MOD) % MOD;
  66. }
  67. }
  68. }
  69. for(int i = 0; i <= n; i++) {
  70. cout << dp[i][k] << endl;
  71. }
  72. return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement