Codeforces Round #581 DIV2 E問題 - Natasha, Sasha and the Prefix Sums

Source

Codeforces Round #581 DIV2 E問題 (2500pt)
Problem description

問題概要

省略

解法

省略

cLayversion 20190820-1)のコード

C++に変換後のコードはこちら

//no-unlocked
#define MD 998244853

int N, M;
modint C[4001][2001];

inline modint f(int a, int b){
  if(a < b) return 0;
  return (a-b+1) * C[a+b][b] / (a+1);
}

{
  int i, j;
  int x1, y1, x2, y2;
  modint res;
  
  rd(N,M);

  rep(i,4001) C[i][0] = 1;
  rep(i,1,4001) rep(j,1,2001) C[i][j] = C[i-1][j-1] + C[i-1][j];

  res = 0;
  rep(i,N+M+1) for(j=i%2;j<=min(N,i);j+=2){
    x1 = j + (i-j) / 2;
    y1 = (i-j) / 2;
    if(x1 < 0 || y1 < 0 || x1 > N || y1 > M) continue;

    x2 = y2 = 0;
    if(i < N+M){
      x2 = N - x1;
      y2 = M - y1 - 1;
      if(y2 < 0) continue;
    }

    res += j * f(x1, y1) * f(y2, x2);
  }
  wt(res);
}


Current time: 2024年04月26日16時38分56秒
Last modified: 2019年08月21日05時02分58秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces CF581 CF_Div2_E
トップページに戻る

Logged in as: unknown user (not login)

ログイン: