MSBOP 2015 Round3 register

Ended

Participants:978

Verdict:AC | AC
Submitted:2015-05-09 15:51:11

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <map>
#include <vector>
#include <set>
#define ll long long
using namespace std;
const int N = 1e5+10;
const int K =17;
int T,n,k;
long long w[K][K],g[K][K];
int d[N];
int num[N][21];
long long dp[1 << 16];
void init(){
    memset(num, 0, sizeof(num));
    memset(w, 0, sizeof(w));
    memset(dp, 0x3f, sizeof(dp));
    memset(g,0,sizeof(g));
}
ll solve(){
    for(int i = 1; i <= n; i++)
    for(int j = 1; j <= k; j++) num[i][j] = num[i - 1][j] + (d[i] == j);
    for(int i = 1; i <= n; i++)
    for(int j = 1,a,b; j <= k; j++){
        a=d[i];
        b=b+1;
        w[a][j] += num[i][j];
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX