Блог пользователя moonrise07

Автор moonrise07, история, 5 лет назад, По-английски
  1. You have to convert base 2 number into base 6 constraint : length of array <1000

  2. You have to find sum of product of cool subset : cool subset is having number of odd element even total size of subset is k constraint size of array <1000;

  3. you have to find number of numbers of exact digit n whose digit sum is compact number. compact number is the number which is made by the given x, y for ex if x and y are 2 and 3 respectively then 22, 33, 23, 32 are compact numbers. x<=9 y<=9 n<=1000
  • Проголосовать: нравится
  • +27
  • Проголосовать: не нравится

»
5 лет назад, скрыть # |
Rev. 4  
Проголосовать: нравится +8 Проголосовать: не нравится

For question 2 consider this solution

#include <bits/stdc++.h>
using namespace std;
#define ld long double
#define ll long long
#define REP(i, a, b) for (ll i = a; i < b; i++)
#define REPI(i, a, b) for (ll i = b - 1; i >= a; i--)
#define i_os ios::sync_with_stdio(0);  cin.tie(0);  cout.tie(0);
#define INF (ll)1e18 + 100
#define endl "\n"

int main()
{
        i_os;
	ll n, k;
	cin >> n >> k;
	ll arr[n+1];
	REP(i,1,n+1){
		cin >> arr[i];
	}
	ll dp[2][k+1][n+1];
	memset(dp, -1e9, sizeof(dp));
	int mod = 1e9 + 7;

	REP(i,0,n+1){
		dp[0][0][i] = 0;
	}
	REP(i,1,n+1){
		REP(j,1,k+1){
			dp[0][j][i] = dp[0][j][i-1];
			dp[1][j][i] = dp[1][j][i-1];
			if(arr[i] % 2){
				dp[1][j][i] += dp[0][j-1][i-1] * arr[i];
				dp[0][j][i] += dp[1][j-1][i-1] * arr[i];
			}
			else {
				dp[1][j][i] += dp[1][j-1][i-1] * arr[i];
				dp[0][j][i] += dp[0][j-1][i-1] * arr[i];
			}
			dp[0][j][i] %= mod;
			dp[1][j][i] %= mod;
		}
		if(arr[i] % 2){
			dp[1][1][i] += arr[i];
			dp[1][1][i] %= mod;
		}
		else {
			dp[0][1][i] += arr[i];
			dp[0][1][i] %= mod;
		}
	}
	cout << dp[0][k][n] << "\n";
	return 0;	
}

»
5 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится -6 Проголосовать: не нравится
problem 2 in O(2*n*k)
problem 3 in O(81*n*n)
»
5 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Is the 3rd problem of digit dp? What to what major topic does 2nd problem belong to- DP SOS?

»
5 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится
Problem 1 in O(n*n)
»
5 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

I guess the constraint in problem 1 was (length of array < 100)

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +16 Проголосовать: не нравится

Will uber hire me if i can drive well?

»
5 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Consider this for 2nd problem,

Code