P1771 方程的解_NOI导刊2010提高(01)
按题意用快速幂把$g(x)$求出来
发现这不就是个组合数入门题吗!
$k$个人分$g(x)$个苹果,每人最少分$1$个,有几种方法?
根据插板法,显然答案为$C(g(x)-1,k-1)$
蓝后写个高精度。(我曾经十分天真地认为$ans<=10^{50}$)
这里用压位+结构体重载高精。可以应对$ans<=10^{24*7}$的数据。
注意:存在x,P,$(x^x) \% P!=(x\% P)^{(x\% P)} \% P$
#include<iostream>
#include<cstdio>
#include<cstring>
#define re register
using namespace std;
int max(int a,int b){return a>b?a:b;}
const int W=;//压7位
int x,k;
struct bigsum{
int a[],len;
bigsum(){memset(a,,sizeof(a));len=;}
bigsum operator + (const bigsum &tmp) const{
bigsum c; int x=;
c.len=max(len,tmp.len);
for(int i=;i<=c.len;++i){
c.a[i]=a[i]+tmp.a[i]+x;
x=c.a[i]/W;c.a[i]%=W;
}
for(;x;x/=W) c.a[++c.len]=x%W;
return c;
}
void print(){//注意压位高精输出时每一位的前导0
printf("%d",a[len]);
for(int i=len-;i>=;--i){
for(int j=;a[i]*j<W;j*=) putchar();
printf("%d",a[i]);
}
}
}C[][];
int Pow(int x,int y){
int res=;
for(;y;y>>=,x=1ll*x*x%)
if(y&) res=1ll*res*x%;
return res;
}
int main(){
scanf("%d%d",&k,&x); x=Pow(x%,x);
if(!x){puts("");return ;}
for(int i=;i<x;++i)
for(int j=;j<=i;++j){
if(!j||j==i) C[i][j].a[C[i][j].len=]=;
else C[i][j]=C[i-][j]+C[i-][j-];
}//杨辉三角递推
C[x-][k-].print();
return ;
}
P1771 方程的解_NOI导刊2010提高(01)的更多相关文章
- 洛谷P1771 方程的解_NOI导刊2010提高(01)
题目描述 佳佳碰到了一个难题,请你来帮忙解决. 对于不定方程a1+a2+…+ak-1+ak=g(x),其中k≥2且k∈N,x是正整数,g(x)=x^x mod 1000(即x^x除以1000的余数), ...
- 方程的解_NOI导刊2010提高(01) 组合数
题目描述 佳佳碰到了一个难题,请你来帮忙解决. 对于不定方程a1+a2+…+ak-1+ak=g(x),其中k≥2且k∈N,x是正整数,g(x)=x^x mod 1000(即x^x除以1000的余数), ...
- 方程的解_NOI导刊2010提高
方程的解 给定x,求\(a_1+a_2+...+a_k=x^x\ mod\ 1000\)的正整数解解的组数,对于100%的数据,k≤100,x≤2^31-1. 解 显然x是可以快速幂得到答案的,而该问 ...
- 洛谷 P1777 帮助_NOI导刊2010提高(03) 解题报告
P1777 帮助_NOI导刊2010提高(03) 题目描述 Bubu的书架乱成一团了!帮他一下吧! 他的书架上一共有n本书.我们定义混乱值是连续相同高度书本的段数.例如,如果书的高度是30,30,31 ...
- 洛谷—— P1775 古代人的难题_NOI导刊2010提高(02)
P1775 古代人的难题_NOI导刊2010提高(02) 题目描述 门打开了,里面果然是个很大的厅堂.但可惜厅堂内除了中央的一张羊皮纸和一支精致的石笔,周围几具骷髅外什么也没有.难道这就是王室的遗产? ...
- P1799 数列_NOI导刊2010提高(06)
P1799 数列_NOI导刊2010提高(06)f[i][j]表示前i个数删去j个数得到的最大价值.if(i-j==x) f[i][j]=max(f[i][j],f[i-1][j]+1); else ...
- 【洛谷】【堆】P1801 黑匣子_NOI导刊2010提高(06)
[题目描述:] Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个Black Box要处理一串命令. 命令只有两 ...
- P1776 宝物筛选_NOI导刊2010提高(02)&& 多重背包二进制优化
多重背包, 要求 \(N\log N\) 复杂度 Solution 众所周和, \(1-N\) 之内的任何数可以由 \(2^{0}, 2^{1}, 2^{2} ... 2^{\log N}, N - ...
- P1801 黑匣子_NOI导刊2010提高(06)
P1801 黑匣子_NOI导刊2010提高(06) 题目描述 Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个 ...
随机推荐
- ELK之filebate收集日志传递至Logstash
软件版本查看(版本最好一致) 安装过程不详叙 本次使用filebeat监控nginx日志(已经配置json输出)收集并且传递给Logstash进行处理 filebeat配置文件/etc/filebea ...
- poj2528 Mayor's posters【线段树】
The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign h ...
- hdu4513完美队形II manacher
吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要 ...
- 使用sift特征点进行knn最近邻匹配
#include <opencv2/xfeatures2d/nonfree.hpp> #include <opencv2/features2d/features2d.hpp> ...
- hihocoder 1334 - Word Construction - [hiho一下第170周][状态压缩+DFS]
题目链接:https://hihocoder.com/problemset/problem/1334 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Given N wo ...
- 【源码】rm zip 删除文件夹中大量的小文件 百万 扫描文件时间
rm 删除文件夹中大量的小文件 百万 迟迟未删除 在扫描文件? rm删除命令源码分析 - ty_laurel的博客 - CSDN博客 https://blog.csdn.net/ty_laurel/ ...
- jmxtrans
jmxtrans more tomcat.json { "servers" : [ { "port" : "12345", ...
- 多线程情况下HashMap死循环的问题
1.多线程put操作后,get操作导致死循环. 2.多线程put非null元素后,get操作得到null值. 3.多线程put操作,导致元素丢失. 死循环场景重现 下面我用一段简单的DEMO模拟Has ...
- arcgis api for JavaScript _跨域请求
arcgis api for JavaScript 中出现跨域请求是常见问题, 通常出现类似如下错误消息类似: XMLHttpRequest cannot load http://10.32.2.7 ...
- sublime安装install package
通过 https://sublime.wbond.net/Package%20Control.sublime-package 下载packageControl文件 下载完成后,打开sublime te ...