牛客周赛 46 F 祥子拆团

2024-06-17 19:28
文章标签 牛客 周赛 46 祥子 拆团

本文主要是介绍牛客周赛 46 F 祥子拆团,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原题链接:F-祥子拆团

题目大意:多测,每次给a,b,要将a分解成b个数相乘,问有多少种分的方法。

思路:对a进行质因数分解,对每一个质数计数,然后分到b个篮子里面,允许篮子里面没有数,对全部的方案数相乘就是答案。d代表每个质数的数量,使用隔板法,如果允许篮子里面没有数的话,那么公式就是C\binom{b-1}{d+b-1},如果不允许有数可以理解成先给没个篮子放一个数,那么公式就是C\binom{b-1}{d-1}。因为允许没有数所以使用第一个公式。

//冷静,冷静,冷静
//调不出来就重构
#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll,ll> pii;
const int N=1e6+10,mod=1000000007;
ll ksm(ll a,ll b)
{ll ans=1;do{if(b&1)ans*=a;a*=a;b>>=1;a%=mod;ans%=mod;}while(b);return ans;
}
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);ll t;cin>>t;while(t--){ll a,b;cin>>a>>b;ll ans=1;for(int i=2;i<=a/i;i++){ll d=0;while(a%i==0){d++;a/=i;}ll sum=1;for(int j=b,k=1;j<=d+b-1;j++,k++){sum=sum*j;sum%=mod;sum=sum*ksm(k,mod-2)%mod;}ans*=sum;ans%=mod;}if(a>1){ll d=1,sum=1;for(int j=b,k=1;j<=d+b-1;j++,k++){sum=sum*j;sum%=mod;sum=sum*ksm(k,mod-2)%mod;}ans*=sum;ans%=mod;}cout<<ans<<endl;}return 0;
}

这篇关于牛客周赛 46 F 祥子拆团的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070335

相关文章

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

LeetCode 第414场周赛个人题解

目录 Q1. 将日期转换为二进制表示 原题链接 思路分析 AC代码 Q2. 范围内整数的最大得分 原题链接 思路分析 AC代码 Q3. 到达数组末尾的最大得分 原题链接 思路分析 AC代码 Q4. 吃掉所有兵需要的最多移动次数 原题链接 思路分析 AC代码 Q1. 将日期转换为二进制表示 原题链接 Q1. 将日期转换为二进制表示 思路分析

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II 1.题目 1.1递增子序列 题目链接:491. 非递减子序列 - 力扣(LeetCode) 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0491.%E9%80%92%E

牛客小白月赛100(A,B,C,D,E,F三元环计数)

比赛链接 官方讲解 这场比较简单,ABC都很签到,D是个不太裸需要预处理的 B F S BFS BFS 搜索,E是调和级数暴力枚举,F是三元环计数。三元环考的比较少,没见过可能会偏难。 A ACM中的A题 思路: 就是枚举每个边变成原来的两倍,然后看看两短边之和是否大于第三边即可。 不能只给最短边乘 2 2 2,比如 1 4 8 这组数据,也不能只给第二短边乘 2 2 2,比

LeetCode --- 413周赛

题目列表 3274. 检查棋盘方格颜色是否相同 3275. 第 K 近障碍物查询 3276. 选择矩阵中单元格的最大得分 3277. 查询子数组最大异或值 一、检查棋盘方格颜色是否相同 题目给定两个字符串来表示两个方格的坐标,让我们判断这两个方格的颜色是否相同,这里我们要观察棋盘的颜色特征,我们就会发现奇数行的奇数列和偶数行的偶数列是黑色,其他都是白色,所以我们可以直接计算出每个方

笔试强训,[NOIP2002普及组]过河卒牛客.游游的水果大礼包牛客.买卖股票的最好时机(二)二叉树非递归前序遍历

目录 [NOIP2002普及组]过河卒 牛客.游游的水果大礼包 牛客.买卖股票的最好时机(二) 二叉树非递归前序遍历 [NOIP2002普及组]过河卒 题里面给的提示很有用,那个马的关系,后面就注意,dp需要作为long的类型。 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息publ

天然药物化学史话:“四大光谱”在天然产物结构鉴定中的应用-文献精读46

天然药物化学史话:“四大光谱”在天然产物结构鉴定中的应用,天然产物化学及其生物合成必备基础知识~ 摘要 天然产物化学研究在药物研发中起着非常重要的作用,结构研究又是天然产物化学研究中最重要的工作之一。在天然药物化学史话系列文章的基础上,对在天然产物结构研究中起绝对主导作用的“四大光谱”分析技术,即红外光谱、紫外光谱、质谱、核磁共振波谱在天然产物结构鉴定中的应用历史进行回顾与总结,并对其发展

每日OJ_牛客_求和(递归深搜)

目录 牛客_求和(递归深搜) 解析代码 牛客_求和(递归深搜) 求和_好未来笔试题_牛客网 解析代码         递归中每次累加一个新的数,如果累加和大于等于目标,结束递归。此时如果累加和正好等于目标,则打印组合。向上回退搜索其它组合。此题本身就是一个搜索的过程,找到所有的组合。 #include <iostream>#include <cmath>#in

牛客《剑指Offer》 -- 数值的整数次方

题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 思路 特别注意负数的情况,出现负数,将其转化为正数然后求倒数。 class Solution {public:double Power(double base, int exponent) {double total = 1;bool flag = false