首页 > TAG信息列表 > JLOI2016

[JLOI2016]方[题解]

方 题目大意 给出一个 \(n\) 行 \(m\) 列的矩阵,每行的格点从上到下依次编号为 \(0\) 到 \(n\) ,每列的格点从左到右依次编号为 \(0\) 到 \(m\) 。 选出四个不同的格点,可以组成一个四边形,问有多少种不同的选法,能够组成一个正方形。 由于出题人太害怕你做出这道题,于是他从这个矩阵中

Luogu P3270 [JLOI2016]成绩比较

Link 设\(f_{i,j}\)表示前\(i\)门课有\(j\)个人被碾压的方案数。 那么\(f_{i,j}=\sum\limits_{k=j}^n{k\choose j}{n-k-1\choose n-r_i-j}f_{i-1,k}g_i\),其中\(g_i\)表示第\(i\)门课的成绩的方案数。 显然\(g_i=\sum\limits_{x=1}^{U_i}x^{n-r_i}(U_i-x)^{r_i-1}\),Stirling数拆幂

BZOJ 4559: [JLoi2016]成绩比较 容斥+组合

很不错的一道数数题.  code:  #include <cstdio> #include <algorithm> #define N 203 #define ll long long #define mod 1000000007 #define setIO(s) freopen(s".in","r",stdin) using namespace std; int n,m,kth; int ui[N],ri[N],f[N],

BZOJ 4559 [JLoi2016]成绩比较 (DP+拉格朗日插值)

题意 BZOJ4559 题解 看这,写得真好。 CODE #include <bits/stdc++.h> using namespace std; const int MAXN = 105; const int mod = 1e9 + 7; int n, M, K, U[MAXN], R[MAXN], c[MAXN][MAXN], f[MAXN][MAXN]; inline int qpow(int a, int b) { int re = 1; while(b) {