题解

用\(f[i][j]\)表示考虑了前i个排名有j个人被碾压

\(f[i][j] = f[i - 1][k] \* C[k][j] \* C[N - k - 1][N - r[i] - j] \* P[i]\)

P[i]是成绩排列的方式,意义是在前面k个人里选了j个来碾压,并将人数空缺用上一次没有碾压的来填补

\(P[i]\)怎么求,对于一个i,考虑枚举B君的成绩,也就是

\(\sum_{j = 1}^{u_{i}} j^{N - r[i]}(u_{i} - j)^{r[i] - 1}\)

观察一下把\(u_{i}\)当成一个变量,这是一个n次多项式,插值就能做了,暴力插值即可

复杂度\(O(n^3)\)

代码

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <ctime>
#define pii pair<int,int>
#define fi first
#define se second
#define mo 974711
//#define ivorysi
using namespace std;
typedef long long int64;
const int MOD = 1000000007;
int N,M,K,r[105],u[105];
int64 f[105],P[105],inv[105];
int64 fpow(int64 x,int c) {
int64 res = 1,t = x;
while(c) {
if(c & 1) res = res * t % MOD;
t = t * t % MOD;
c >>= 1;
}
return res;
} void Solve() {
scanf("%d%d%d",&N,&M,&K);
for(int i = 1 ; i <= M ; ++i) scanf("%d",&u[i]);
for(int i = 1 ; i <= M ; ++i) scanf("%d",&r[i]);
for(int T = 1 ; T <= M ; ++i) {
for(int i = 1 ; i <= r[T] ; ++i) {
f[i] = 0;
for(int j = 1 ; j < i ; ++j) {
f[i] += fpow(j,n - r[T] + 1) * fpow(i - j,r[T] - 1) % MOD;
f[i] %= MOD;
}
}
for(int i = 1 ; i <= r[T] ; ++i) {
for(int j = 1 ; j <= r[T] ; ++j) {
if(i == j) continue; }
}
}
}
int main() {
#ifdef ivorysi
freopen("f1.in","r",stdin);
#endif
Solve();
}

【LOJ】#2026. 「JLOI / SHOI2016」成绩比较的更多相关文章

  1. loj #2026. 「JLOI / SHOI2016」成绩比较

    #2026. 「JLOI / SHOI2016」成绩比较   题目描述 THU 的 G 系中有许许多多的大牛,比如小 R 的室友 B 神.B 神已经厌倦了与其他的同学比较 GPA(Grade Poin ...

  2. LOJ #2026「JLOI / SHOI2016」成绩比较

    很好的锻炼推柿子能力的题目 LOJ #2026 题意 有$n$个人$ m$门学科,第$ i$门的分数为不大于$U_i$的一个正整数 定义A「打爆」B当且仅当A的每门学科的分数都不低于B的该门学科的分数 ...

  3. loj #2024. 「JLOI / SHOI2016」侦查守卫

    #2024. 「JLOI / SHOI2016」侦查守卫   题目描述 小 R 和 B 神正在玩一款游戏.这款游戏的地图由 nnn 个点和 n−1n - 1n−1 条无向边组成,每条无向边连接两个点, ...

  4. loj #2025. 「JLOI / SHOI2016」方

    #2025. 「JLOI / SHOI2016」方   题目描述 上帝说,不要圆,要方,于是便有了这道题. 由于我们应该方,而且最好能够尽量方,所以上帝派我们来找正方形.上帝把我们派到了一个有 NNN ...

  5. loj2026 「JLOI / SHOI2016」成绩比较

    orz #include <iostream> #include <cstdio> using namespace std; typedef long long ll; int ...

  6. 【LOJ】 #2025. 「JLOI / SHOI2016」方

    题解 有什么LNOI啊,最后都是JLOI罢了 一道非常--懵逼的统计题 当然是容斥,所有的方案 - 至少有一个点坏掉的正方形 + 至少有两个点坏掉的正方形 - 至少有三个点坏掉的正方形 + 至少有四个 ...

  7. 【LOJ】#2024. 「JLOI / SHOI2016」侦查守卫

    题解 童年的回忆! 想当初,这是我考的第一次省选,我当时初二,我什么都不会,然后看着这个东西,是不是能用我一个月前才会的求lca,光这个lca我就调了一个多小时= =,然后整场五个小时,我觉得其他题不 ...

  8. loj2024「JLOI / SHOI2016」侦查守卫

    too hard #include <iostream> #include <cstdio> using namespace std; int n, d, m, uu, vv, ...

  9. Loj #2495. 「AHOI / HNOI2018」转盘

    Loj #2495. 「AHOI / HNOI2018」转盘 题目描述 一次小 G 和小 H 原本准备去聚餐,但由于太麻烦了于是题面简化如下: 一个转盘上有摆成一圈的 \(n\) 个物品(编号 \(1 ...

随机推荐

  1. windows10下基于vs2015的 caffe安装教程及python接口实现

    啦啦啦:根据网上的教程前一天安装失败,第二天才安装成功.其实caffe的安装并不难,只是网上的教程不是很全面,自己写一个,留作纪念. 准备工作 Windows10 操作系统 vs2015(c++编译器 ...

  2. Hadoop生态圈-Hive的自定义函数之UDAF(User-Defined Aggregation Function)

    Hadoop生态圈-Hive的自定义函数之UDAF(User-Defined Aggregation Function) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  3. Hadoop生态圈-Hive的自定义函数之UDF(User-Defined-Function)

    Hadoop生态圈-Hive的自定义函数之UDF(User-Defined-Function) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  4. 2008ZJOI树的统计

    codevs 2460 树的统计 http://codevs.cn/problem/2460/ 2008年省队选拔赛浙江  题目等级 : 大师 Master   题目描述 Description 一棵 ...

  5. 贪心问题 POJ 2393 Yogurt factory

    题目:http://poj.org/problem?id=2393 题意:N周,每周生成牛奶(任意!),每周成本为c_i(1~5000),每周出货 y_i:出货可以使用该周生产的,也可以用之前的储存的 ...

  6. C#_事件学习

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. 全链路追踪traceId,ThreadLocal与ExecutorService

    关于全链路追踪traceId遇到线程池的问题,做过架构的估计都遇到过,现在以写个demo,总体思想就是获取父线程traceId,给子线程,子线程用完移除掉. mac上的chrome时不时崩溃,写了一大 ...

  8. 6个动作4种难度选择!家庭减肥就用hiit

    今天推荐一组课程计划,6个动作,后面会教你如何调整课程难度,以便让课程更适合自己的身体情况. 一.深蹲:8-10次 二.俯卧撑:5-8次(女生如果完成不了标准俯卧撑,可以选择跪姿俯卧撑) 三.平板支撑 ...

  9. 推荐一款超级漂亮的HTML5 CSS3的图片轮播器

    最近在学习HTML5和CSS3,印象最深的是CSS3的动画功能,不仅有浏览器原生支持,执行效率高,而且免去在js中自己管理timer. 本来想写一个图片轮播器练练手,结果在网上发现一个国人写的开源的图 ...

  10. 【BZOJ】2006: [NOI2010]超级钢琴

    [题意]给定长度为n的整数序列,求长度为[L,R]的前k大区间和的和.n,k<=500000. [算法]堆+贪心+RMQ [题解]考虑暴力是取所有长度为[L,R]的子串的前k大求和,复杂度O(n ...