文章标题 fzu 2020

Problem 2020 组合

Accept: 623 Submit: 1533

Time Limit: 1000 mSec Memory Limit : 32768 KB

Problem Description

给出组合数C(n,m), 表示从n个元素中选出m个元素的方案数。例如C(5,2) = 10, C(4,2) = 6.可是当n,m比较大的时候,C(n,m)很大!于是xiaobo希望你输出 C(n,m) mod p的值!

Input

输入数据第一行是一个正整数T,表示数据组数 (T <= 100) 接下来是T组数据,每组数据有3个正整数 n, m, p (1 <= m <= n <= 10^9, m <= 10^4, m < p < 10^9, p是素数)

Output

对于每组数据,输出一个正整数,表示C(n,m) mod p的结果。

Sample Input

2

5 2 3

5 2 61

Sample Output

1

10

Source

FOJ有奖月赛-2011年04月(校赛热身赛)

大组合数取模问题~~

如果C(n,m)中的n,m很小,可以直接杨辉三角搞

若 1<=m<=n<=1e18 && 2<=p<=1e5 并且是素数,就可以使用lucas定理:

lucas(n,m,p)=C(n%p,m%p,p)*lucas(n/p,m/p,p);

#include <iostream>
#include <stdio.h>
#include <string>
#include <string.h>
#include <algorithm>
using namespace std;
typedef long long ll;

ll quick_mod(ll a,ll b,ll mod)
{
    ll ans=1;
    while(b)
    {
       if(b&1)ans=ans*a%mod;
       b/=2;
       a=(a%mod)*(a%mod)%mod;
    }
    return ans;
}

ll C(ll n,ll m,ll p)
{
   ll ans=1;
   for(int i=1;i<=m;i++)
   {
     ans=(ans%p*((n-m+i)%p))%p;
     ans=ans*quick_mod(i,p-2,p)%p;
   }
   return ans;
}

ll lucas(ll n,ll m,ll p)
{
  if(m==0)return 1;
  return (C(n%p,m%p,p)%p*(lucas(n/p,m/p,p)%p))%p;
}

int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        ll n,m,p;
        cin>>n>>m>>p;
        printf("%lld\n",lucas(n,m,p));
    }
    return 0;
}
时间: 2024-10-10 22:42:51

文章标题 fzu 2020的相关文章

dede文章标题长度修改

dede文档标题最大长度可以在后台系统- 系统基本设置 - 其它选项中设置, 一般我都会将默认修改为120, 默认的有时候标题只显示一般看着不美观. 后台修改完文章标题最大长度之后, 确认提交. 修改的时候会看到改此参数后需要手工修改数据表. phpmyadmin,找到dede_archives表以及dede_arctype表 将其title的长度全部加大,加多大不用说把 100-200差不多了,最大255! 最后全部保存更新缓存和网站,发文章去把,绝对没问题了!

如何修改织梦dedecms文章标题的最大长度

织梦dedecms默认的文章标题的最大长度为60字节,如果文章标题超过60字节将会自动截断,导致标题显示不全,这并非是我们所希望的.那么如何将标题长度改成我们想要的?只需简单两步即可解决问题. 1.进入织梦dedecms管理后台——系统——系统基本参数——其他选项——文档标题最大长度60修改为更大的数值,如100 2.根据提示我们需要手工修改数据表,系统——SQL命令行工具,在运行SQL命令行输入以下代码并确定运行 alter table #@__archives change title ti

显示文章标题, 发帖人、 最后回复时间

-- 创建表 DROP TABLE IF EXISTS articles; CREATE TABLE articles( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(50), postuser VARCHAR(10), articles postdate DATETIME, parentid INT REFERENCES articles(id) ); -- 插入数据库 INSERT INTO articles VALUES (NULL,'第

解决国外模板h1、h2、h3...不显示中文文章标题的问题

如果你经常用国外好看的网页模版时候,会遇到不显示中文文章标题的情况,显示英文标题却正常.遇到这个情况很多人认为应该修改CSS的font-family的字体,其实这是错误的,与CSS无关. 出现这种情况的真正的原因是因为国外主题开发者喜欢使用Cufon字体,所谓Cufon字体是JS的一种特效,它的作用是将文字以图片的形式显现出来.这是为了解决主题设计者想展示的字体,而浏览器却不支持这种字体的矛盾.比如主题设计者想使用Trebuchet MS这种字体,使模板看起来好看又另类,可是浏览器不支持这种字体

dedecms在后台替换文章标题、内容、摘要、关键字

dedecms在后台替换文章标题.内容.摘要.关键字所在的字段为: 后台替换文章内容 数据表:dede_addonarticle 字段:body 后台替换文章摘要内容 数据表:dede_archives 字段:description 后台替换文章标题内容 数据表:dede_archives 字段:title 后台替换文章关键词: 数据表:dede_archives 字段: keywords

如何使用css和jquery控制文章标题字数?

如何使用css控制文章标题字数? 最佳答案 控制文章标题字数,不是动态网页的专利,如果静态页面使用CSS样式,也可以实现相同的效果! 看这个例子,你们可以复制到记事本保存为HTML文件看效果! <html> <title>css控制字数</title> <head> <style type="text/css"> .dd { border: solid 1px gray; width:180px; overflow: hidd

设置帝国cms文章标题 真正符合百度建站标准

百度建站指南中有提到内容页的标题设置,标题描述清晰最好包含主站和频道信息:内容标题_频道名称_网站名称.帝国cms文章标题一般默认是内容标题_网站名称,那么如何调用当前文章的频道名称(分类名称)呢? 帝国cms已经集成了面包屑导航功能,调用方法是在需要的地方添加标签[!--newsnav--],原本想着直接放到<title></title>,但是重新生成页面之后,查看一下源代码,发现标题变成了:<title>****_<a href="/"&g

css代码完成文章标题的美化

如果你打开浏览器的控制面板,随便输入一个JS内置的构造器函数,比如Array,控制台输出的是一个名为Array的函数体,这好像并没有什么稀奇的,但是,当你接着输入Array.prototype,控制面板输出了一堆我们经常用到的Array构造器的方法,把目光转移到最下方,有一个叫__proto__的属性,好奇的点开 集成测试经常涉及到应用基础设施,如数据库,文件系统,网络资源或网页的请求和响应.单元测试用伪造或模拟对象代替这些问题,但集成测试的目的是为了确认该系统与这些系统的预期运行一致. htt

修改DEDECMS文章标题长度,解决DEDECMS文章标题显示不全

在用dede调用列表标题出来的时候,会发现标题文字字数显示不完全,那是因为dede默认标题出来长度是30个字符,为了让标题显示完整,要做以下修改! 1.进入后台–系统–系统设置–系统基本参数–其他选项–文档标题最大程度改为你要的长度原默认是60(这里改为了200) 2.登陆数据库,改数据库表dede_archives表里面的title字段,原默认是60,(这里改为200). 1 ALTER TABLE `dede_archives` CHANGE `title` `title` VARCHAR(