Posts

Showing posts from December, 2020

Atcoder Educational Dp contest :: C vacation

  #include <bits/stdc++.h> using namespace std ; #define ll long long int const inf = 1e9 + 5 ; int const mod = 1e9 + 7 ; int main (){ ll n ; cin >> n ; ll a[n] , b[n] , c[n] ; for ( ll i= 0 ; i<n ; i++)cin >> a[i] >> b[i] >> c[i] ; ll dp[n][ 3 ] ; //base case dp[ 0 ][ 0 ] = a[ 0 ] ; dp[ 0 ][ 1 ] = b[ 0 ] ; dp[ 0 ][ 2 ] = c[ 0 ] ; //recursive case for ( ll i= 1 ; i<n ; i++){ dp[i][ 0 ] = a[i] + max(dp[i- 1 ][ 1 ] , dp[i- 1 ][ 2 ]) ; dp[i][ 1 ] = b[i] + max(dp[i- 1 ][ 0 ] , dp[i- 1 ][ 2 ]) ; dp[i][ 2 ] = c[i] + max(dp[i- 1 ][ 0 ] , dp[i- 1 ][ 1 ]) ; } cout << max({dp[n- 1 ][ 0 ] , dp[n- 1 ][ 1 ] , dp[n- 1 ][ 2 ]}) ; return 0 ; }

Atcoder Educational Dp contest :: B frog 2

  #include <bits/stdc++.h> using namespace std ; #define ll long long const int inf = 1e9 + 5 ; const int mod = 1e9 + 7 ; int main (){ ll n , k ; cin >> n >> k ; vector < ll > a(n) ; for ( ll i= 0 ; i<n ; i++)cin >> a [ i ] ; vector < ll > dp(n , inf) ; dp [ 0 ] = 0 ; for ( ll i= 0 ; i<n ; i++){ for ( ll j=i+ 1 ; j<=i+k ; j++){ if (j<n){ dp [ j ] = min(dp [ j ] , dp [ i ] +abs(a [ i ] - a [ j ] )) ; } } //cout<<dp[i]<<" "; } cout << dp [ n- 1 ] ; }

Atcoder Educational Dp contest :: A frog 1

  #include <bits/stdc++.h> using namespace std ; #define ll long long const int inf = 1e9 + 5 ; const int mod = 1e9 + 7 ; int main (){ ll n ; cin >> n ; vector < ll > a(n) ; for ( ll i= 0 ; i<n ; i++)cin >> a [ i ] ; vector < ll > dp(n , inf) ; dp [ 0 ] = 0 ; for ( ll i= 0 ; i<n ; i++){ for ( ll j=i+ 1 ; j<=i+ 2 ; j++){ if (j<n){ dp [ j ] = min(dp [ j ] , dp [ i ] +abs(a [ i ] - a [ j ] )) ; } } //cout<<dp[i]<<" "; } cout << dp [ n- 1 ] ; }