ARC102E Stop. Otherwise...
题目大意
现在有n个k面的骰子,问在i=2~2*k的情况下,任意两个骰子向上那一面的和不等于i的方案数是多少。
分析
这道题具体做法见这个博客。
至于k2的值为啥是那个自己画画图就明白了。
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
using namespace std;
const long long mod = ;
long long c[][],pw[],vis[];
inline void getc(){
long long i,j;
for(i=;i<=;i++)
c[i][]=c[i][i]=;
for(i=;i<=;i++)
for(j=;j<i;j++)
c[i][j]=(c[i-][j]+c[i-][j-])%mod;
return;
}
inline void getpw(){
pw[]=;
for(long long i=;i<=;i++)pw[i]=pw[i-]*%mod;
return;
}
inline long long work(long long i,long long n,long long k){
long long k1,k2,Ans=,wh=-,j;
k2=min(k-i/,(i-)/);
k1=k-k2*-(i+)%;
for(j=;j<=k2;j++){
wh*=-;
Ans=(Ans+wh*c[n+k1+k2-j-][k1+k2-j-]*pw[k2-j]%mod*c[k2][k2-j]%mod
+mod)%mod;
}
return Ans;
}
int main(){
long long n,k,i;
scanf("%lld%lld",&k,&n);
getc();
getpw();
for(i=;i<=*k;i++){
if(i&){
printf("%lld\n",work(i,n,k));
}else printf("%lld\n",(work(i,n,k)+work(i,n-,k))%mod);
}
return ;
}
ARC102E Stop. Otherwise...的更多相关文章
- 【ARC102E】Stop. Otherwise...(容斥原理,动态规划)
[ARC102E]Stop. Otherwise...(容斥原理,动态规划) 题面 AtCoder 有\(n\)个骰子,每个骰子有\(K\)个面,上面有\(1\)到\(K\).骰子都是一样的. 现在对 ...
- 【arc102E】Stop. Otherwise...
Portal --> arc102E Description 有\(N\)个位置,每个位置可以填一个\(1\sim K\)的数,要求对于每一个\(i\in [2,2K]\),求出任意两个位置的和 ...
- [arc102E]Stop. Otherwise...[容斥+二项式定理]
题意 给你 \(n\) 个完全相同骰子,每个骰子有 \(k\) 个面,分别标有 \(1\) 到 \(k\) 的所有整数.对于\([2,2k]\) 中的每一个数 \(x\) 求出有多少种方案满足任意两个 ...
- ARC102E - Stop. Otherwise... 组合计数
枚举 \(i\),然后可以把 \(j\) 和 \(i - j\) 绑定成一对.把一对看成一个整的元素,与别的没有被绑定的数一起来参与选择就可以了. 但是由于实际上一对中的数是可以二选一的,所以不妨令 ...
- AtCoder Regular Contest 102 (ARC102) E - Stop. Otherwise... 排列组合
原文链接https://www.cnblogs.com/zhouzhendong/p/ARD102E.html 题目传送门 - ARC102E 题意 有 $n$ 个取值为 $[1,k]$ 的骰子,对于 ...
随机推荐
- Microsoft Visual Studio 2012 Update 4 RC 3 离线安装程序
Microsoft Visual Studio 2012 Update 4 RC 3 离线安装程序 ☆ 微软官网地址:☆ http://www.microsoft.com/en-us/download ...
- brew安装php和扩展
brew install homebrew/php/php56 --with-apache 报错: checking if the location of ZLIB install directory ...
- nginx location配置与rewrite配置
注:原文出处 www.linuxidc.com/Linux/2015-06/119398.htm 1. location正则写法 一个示例: location =/{ # 精确匹配 / ,主机名后面不 ...
- ZOJ - 3201 Tree of Tree (树形背包)
题意:有一棵树,树上每个结点都有一个权值,求恰好包含k个结点的子树的最大权值. 设dp[i][j]为以结点i为根的树中包含j个结点的子树的最大权值,则可以把这个结点下的每棵子树中所包含的所有子树的大小 ...
- sort--Linux下文本处理五大神器之三
转自:http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参 ...
- C#面向对象(四):其他面向对象知识
前文链接: C#面向对象(一):明确几个简单的概念作为开胃菜 C#面向对象(二):封装和继承 C#面向对象(三):多态 今天是这个系列的收尾文章了,来谈谈其他面向对象知识. 1.嵌套类 1.1概念 在 ...
- [转载]嵌入式linux下操作GPIO
本文转自:http://blog.csdn.net/mirkerson/article/details/8464231 在嵌入式设备中对GPIO的操作是最基本的操作.一般的做法是写一个单独驱动程序,网 ...
- 获取wifi热点
https://stackoverflow.com/questions/31555640/how-to-get-wifi-ssid-in-ios9-after-captivenetwork-is-de ...
- win10/server2019 系统安装 详解
https://www.microsoft.com/zh-cn/software-download/windows10 https://go.microsoft.com/fwlink/?LinkId= ...
- ruby 异常处理
begin raise 'A test exception.' rescue Exception => e puts e.message puts e.backtrace.inspect end