zoukankan      html  css  js  c++  java
  • lougu P5520 [yLOI2019] 青原樱 |组合数学

    题目描述

    扶苏是一个非常喜欢边听古风鸽边写数学题的人,因此这道题其实是个五三原题。

    扶苏希望重现青原上樱花盛开的景色,于是他准备了很多互不相同樱花树幼苗,准备种成一行。

    这一行中,一共有 nn 个位置可以种下樱花,而扶苏准备了 mm 支幼苗。由于樱花盛放时对左右空间需求非常大,所以樱花不能紧挨着种植,也就是任意两支幼苗之间必须至少存在一个不种花的空位置。

    按照这种方式种花并不难,但是令扶苏感到好奇的是一共有多少合法的方案让他把这 mm 支幼苗都种下去。一个方案是合法的当且仅当他满足上一段中叙述的要求。如果我们将花按照 1,~2,~3~dots~m1, 2, 3 … m 编号,两种方案不同当且仅当被选择种花的位置不同或从左向右数花的编号序列不同。

    为了避免输出过大,答案对一个参数 pp 取模。

    输入格式

    每个输入文件中有且仅有一组测试数据。

    测试数据只有一行四个整数,依次代表 type,~n,~m,~ptype, n, m, p,其中 typetype 是一个帮助你判断测试点类型的参数,会在数据范围中说明。

    输出格式

    输出一行一个整数,代表答案对 pp 取模的结果。


    #include<cstdio>
    #include<cstring>
    #include<iostream>
    using namespace std;
    int n,m,p;
    signed main(){
    	cin>>n>>n>>m>>p;
    	long long ans=1;
    	for(int i=n-2*m+2;i<=n-m+1;i++){
    		ans=ans*i%p;
    	}
    	cout<<ans<<endl;
    }
    
  • 相关阅读:
    BZOJ_2588_Spoj 10628. Count on a tree_树剖+主席树
    BZOJ_1901_Zju2112 Dynamic Rankings_树状数组+主席树
    单例模式
    JDBC连接数据库查询信息的步骤(提取成配置文件方式)
    JDBC访问数据库查询信息的步骤(硬编码格式)
    大数据
    accp
    递归
    struts2中Action到底是什么,怎么理解
    转发和重定向的区别(简单解释)
  • 原文地址:https://www.cnblogs.com/naruto-mzx/p/12461725.html
Copyright © 2011-2022 走看看