luoguP3414 SAC#1 - 组合数

题目背景

本题由世界上最蒟蒻最辣鸡最撒比的SOL提供。

寂月城网站是完美信息教室的官网。地址:http://191.101.11.174/mgzd 。

题目描述

辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌!

今天他萌上了组合数。现在他很想知道simga(C(n,i))是多少;其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数。

由于答案可能很大,请输出答案对6662333的余数。

输入输出格式

输入格式:

输入仅包含一个整数n。

输出格式:

输出一个整数,即为答案。

输入输出样例

输入样例#1:

3

输出样例#1:

4

说明

对于20%的数据,n <= 20;

对于50%的数据,n <= 1000;

对于100%的数据,n <= 1 000 000 000 000 000 000 (10^18)



打个表就可以知道

然后再用上一条我自己都证明不了的性质

快速幂即可!(有那条性质不快速幂也可以了?)

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 using namespace std;
 5
 6 typedef long long ll;
 7
 8 const int mod=6662333,mod_=6662332;
 9
10 ll n;
11
12 int quick(int a,int b){
13     int sum=1;
14     for(;b;b>>=1,a=1ll*a*a%mod)
15         if(b&1)  sum=1ll*sum*a%mod;
16     return sum;
17 }
18
19 int main(){
20     scanf("%lld",&n);
21     printf("%d\n",quick(2,(n-1)%mod_));
22     return 0;
23 }
时间: 2024-12-23 12:09:46

luoguP3414 SAC#1 - 组合数的相关文章

洛谷P3414 SAC#1 - 组合数

P3414 SAC#1 - 组合数 218通过 681提交 题目提供者ProjectWTA 标签 难度普及/提高- 时空限制1s / 128MB 提交  讨论  题解 最新讨论更多讨论 讨论区出bug了 题目错啦 其实是很简单的题 题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 今天他萌上了组合数.现在他很想知道simga(C(n,i))

SAC#1 - 组合数

P3414 SAC#1 - 组合数 组合数的性质,求(1<<(n-1))%mod即可.其实要快速幂. #include<bits/stdc++.h> #define MOD 6662333 using namespace std; unsigned long long n; unsigned long long p(unsigned long long x) { unsigned long long t=2; while(x%2==0) { t*=t; t%=MOD; x>&

【洛谷P3414】 SAC#1 - 组合数

题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网. 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 今天他萌上了组合数.现在他很想知道simga(C(n,i))是多少:其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数. 由于答案可能很大,请输出答案对6662333的余数. 输入输出格式 输入格式: 输入仅包含一个整数n. 输出格式: 输出一个整数,即为答案. 输入输出样例 输入样例#1: 3 输出样例#1: 4

P3414 SAC#1 - 组合数

题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 今天他萌上了组合数.现在他很想知道simga(C(n,i))是多少:其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数. 由于答案可能很大,请输出答案对6662333的余数. 输入输出格式 输入格式: 输入仅包含一个整数n. 输出格式: 输出一个整数,即

P3414 SAC#1 - 组合数 题解

https://www.luogu.org/problemnew/show/P3414(题目传送) 这道题提醒大家一定要认真审题.看清楚后发现n的数据范围稍微小于long long类型的范围(看不清被0吓到的估计都去写近百行高精度和运算符重载了吧...),又知道关于组合数的 一个定理: 卢卡斯定理:(求解C(n,m)%p)C(n,m)%p=C(n/p,m/p)*C(n%p,m%p)%p 一些公式: 这样,解题的核心就是求2^(n-1),这里可以用快速幂来做. AC代码: #include<ios

浴谷夏令营题单

这是群里一位神犇整理的,我只负责将它们做完. 一.暴力.搜索Luogu 1588 丢失的牛Luogu 1463 [SDOI2005]反素数antBzoj 1085 [SCOI2005]骑士精神Luogu 1019 单词接龙Luogu 1078 文化之旅Luogu 1312 Mayan游戏Luogu 3823 蚯蚓排队Codeforces 444B Codeforces 555DLuogu 1979 华容道 二.初等数论Poj 3292 H合成数Luogu 1890 gcd区间Luogu 1029

【组合数学入门+例题】

前言 组合数学是数论的一部分,应该算是入门,但是卡常的组合数题目真的是毒瘤 简介 (摘自知乎) 组合数学(Combinatorics)是纯数学的一个分支,主要研究离散.有限或可数的数学结构. 除了纯数学,组合数学在应用数学.理论物理.计算机科学等分支也有着很多应用.在计算机科学中,组合数学又被称作 "离散数学". 在美国数学会的学科分类中,组合数学下设五个子学科,分别为:计数组合.设计理论.图论.极值组合.代数组合. 基础知识点:组合数 从\(n\)个不同元素中,任取\(m(m≤n)\

[Shoi2017]组合数问题 BZOJ4870

这道题可以根据组合数的实际意义来理解,就是从n*k个物品中选择除k余r个物品的方案数,那么就可以得到用f[i][j]表示在前i个物品中,选择j个物品的方案数,其中j是对k取模后的结果,那么f[i][j]=f[i-1][j](在第i为不取)+f[i-1][(j-1+k)%k](在第i为取),可以发现,第i位只与i-1位有关系那么久可以用矩阵快速幂优化, 在做矩阵乘法的时候,要特别注意矩阵乘特别容易爆int,所以矩阵数组要开成long long 另外这道题还有一个坑点,就是当k=1,r=0是,转移到

组合数问题

组合数公式: 计算组合数的递推方法: C[i, j] := C[i - 1, j] + C[i - 1, j - 1]  (0 < i ≤ j ≤ m ≤ n) 与杨辉三角在形式上一致. 代码: for (int i = 1; i <= n; i++) { c[i][1] = i % k; c[i][i] = 1; // 预处理 } for (int i = 2; i <= n; i++) for (int j = 2; j <= i - 1; j++) // 递推 c[i][j]