Wannafly挑战赛11
就做了两个数学题
链接:https://www.nowcoder.com/acm/contest/73/A
来源:牛客网
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
白兔学会了分身术。
一开始有一只白兔,接下来会进行k轮操作,每一轮中每一只白兔都会变成p只白兔。
要求k轮后白兔的总数恰好为n。
要求找到两个正整数p,k,最大化p+k
输入描述:
输入一个正整数n(2<=n<=1018)
输出描述:
输出一个整数,p+k的最大值
输入例子:
2
输出例子:
3
-->
输入
2
输出
3
说明
p=2,k=1
我们都知道指数递增最快,这个还要求恰好,所以就一次直接到好了 n+1
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
cin>>n;
cout<<n+;
return ;
}
链接:https://www.nowcoder.com/acm/contest/73/B
来源:牛客网
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
有T组询问,每次给出a,b,n,m,求f[n][m] mod (998244353)
输入描述:
第一行为一个整数T,表示询问个数。
接下来一共T行,每行四个整数a,b,n,m。
输出描述:
一共T行,每行一个整数,表示f[n][m] mod (998244353)
输入例子:
2
2 3 3 3
3 1 4 1
输出例子:
9
27
-->
输入
2
2 3 3 3
3 1 4 1
输出
9
27
备注:
T<=100000
1<=m<=n<=100000
0<=a,b<=109
B这个递推式一看就是组合数的递推式,也就是杨辉三角
然后进一步找其递推式,在左边就会乘上a,右边第几个就会是b^(m-1),需要乘多少次a不难发现是n-m次
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MD=998244353LL,N=1e5+;
ll la(ll a,ll b)
{
a%=MD;
ll ans=;while(b>0)
{
if(b&)ans=ans*a%MD;
b>>=;
a=a*a%MD;
}
return ans;
}
ll f[N],v[N];
ll C(ll n,ll m)
{
if(m<||m>n) return ;
return 1LL*f[n]*v[m]%MD*v[n-m]%MD;
}
int main()
{
f[]=;
for (ll i=; i<N; i++) f[i]=1LL*f[i-]*i%MD;
v[N-]=la(f[N-],MD-);
for (ll i=N-; i>=; i--) v[i]=v[i+]*(i+1LL)%MD;
ll T;
scanf("%lld",&T);
while (T--)
{
ll a,b,n,m;
scanf("%lld%lld%lld%lld",&a,&b,&n,&m);
printf("%lld\n",C(n-,m-)*la(a,n-m)%MD*la(b,m-)%MD);
}
return ;
}
Wannafly挑战赛11的更多相关文章
- 牛客网 Wannafly挑战赛11 B.白兔的式子-组合数阶乘逆元快速幂
链接:https://www.nowcoder.com/acm/contest/73/B来源:牛客网 B.白兔的式子 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K, ...
- 牛客网 Wannafly挑战赛11 A.白兔的分身术
水一水博客. 链接:https://www.nowcoder.com/acm/contest/73/A来源:牛客网 A.白兔的分身术 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C ...
- Wannafly挑战赛11 D 题 字符串hash + 卡常
题目链接 https://ac.nowcoder.com/acm/contest/73#question map与order_map https://blog.csdn.net/BillCYJ/art ...
- Wannafly挑战赛5 A珂朵莉与宇宙 前缀和+枚举平方数
Wannafly挑战赛5 A珂朵莉与宇宙 前缀和+枚举平方数 题目描述 给你一个长为n的序列a,有n*(n+1)/2个子区间,问这些子区间里面和为完全平方数的子区间个数 输入描述: 第一行一个数n 第 ...
- Wannafly挑战赛25游记
Wannafly挑战赛25游记 A - 因子 题目大意: 令\(x=n!(n\le10^{12})\),给定一大于\(1\)的正整数\(p(p\le10000)\)求一个\(k\)使得\(p^k|x\ ...
- Wannafly挑战赛27
Wannafly挑战赛27 我打的第一场$Wannafly$是第25场,$T2$竟然出了一个几何题?而且还把我好不容易升上绿的$Rating$又降回了蓝名...之后再不敢打$Wannafly$了. 由 ...
- Wannafly 挑战赛 19 参考题解
这一次的 Wannafly 挑战赛题目是我出的,除了第一题,剩余的题目好像对大部分算法竞赛者来说好像都不是特别友好,但是个人感觉题目质量还是过得去的,下面是题目链接以及题解. [题目链接] Wanna ...
- Wannafly挑战赛21A
题目链接 Wannafly挑战赛21A 题解 代码 #include <cstdio> #include <cmath> #define MAX 1000005 #define ...
- Wannafly挑战赛24游记
Wannafly挑战赛24游记 A - 石子游戏 题目大意: A和B两人玩游戏,总共有\(n(n\le10^4)\)堆石子,轮流进行一些操作,不能进行下去的人则输掉这局游戏.操作包含以下两种: 把石子 ...
随机推荐
- 数据库迁移后报错提示MySQL Error:Can''t find file errno: 13 - Permission denied的解决方法
用户MYSQL数据库迁移后,遇到报错MySQL Error:Can't find file (errno: 13 - Permission denied)使用以下指令重新设置所有者和权限,依然不能解决 ...
- linux下杀毒工具clamav
ClamAV 杀毒是Linux平台最受欢迎的杀毒软件,ClamAV属于免费开源产品,支持多种平台,如:Linux/Unix.MAC OS X.Windows.OpenVMS.ClamAV是基于病毒扫描 ...
- BZOJ 2725: [Violet 6]故乡的梦 最短路+线段树
2725: [Violet 6]故乡的梦 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 678 Solved: 204[Submit][Status ...
- codeforce Gym 100685F Flood (topo排序)
如果直接模拟水向周围流会TLE,因为某些个结点被重复扩展了多次, 科学做法是topo排序,每次只把入度为0的点放入队列,这样就严格保证了每个结点只被扩展一次. #include<bits/std ...
- MySQL基础教程——创建数据库并插入数据
本节将介绍 MySQL 新建数据库,新建表,插入数据以及基本数据类型的相关知识.本节实验将创建一个名为 mysql_shiyan 的数据库,其中有两张表 employee和 department. 1 ...
- key directories in the linux file system
Key directories in the file system: */: Root directory (base of file system) /bin: Executable progra ...
- thinkphp 为什么访问路径错误,还可以访问
在学习中访问入口文件,实际上应该访问public\index\index\ 但其实也可以访问application.admin.controller\index,同样可以在网页下显示 原理:pub ...
- linux之切换用户su(switch user)
1.切换至root su 或 su root然后输入密码 这种只切换身份,不切换home工作目录 su - 或 su - root然后输入密码 这种不仅切换身份,而且切换home工作目录 2.切换至普 ...
- Objective-C实现一个简单的栈
栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表.它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出 ...
- 巧用 Odoo act_window 的 flags实现一些个性化的视图控制
转自:http://www.khcloud.net:4082/?thread-58.htm 'flags': { 'sidebar': False, //是否显示sidebar区域(主要为action ...