CF-1114C-Trailing Loves (or L'oeufs?)
题意:
输入n和m,求n!转换成m进制之后末尾有多少个0;
思路:
转换一下题意就可以看成,将n表示成x * (m ^ y),求y的最大值。^表示次方而不是异或;
这就比较好想了,将m分解质因数,对于每个质因数,设n!含有a个,m含有b个,则ans = min(ans, a / b);
- 自己比赛的时候写的
C - Trailing Loves (or L'oeufs?) GNU C++11 Accepted 46 ms 0 KB #include "bits/stdc++.h"
using namespace std;
typedef long long LL;
map<LL, LL> mp, num;
vector<LL> vc;
int main() {
LL n, m;
scanf("%lld%lld", &n, &m);
for (LL i = ; i * i <= m; i++) {
if (m % i == ) {
vc.push_back(i);
while (m % i == ) {
m /= i;
mp[i]++;
}
}
}
if (m != ) {
vc.push_back(m);
mp[m]++;
}
for (int i = ; i < vc.size(); i++) {
LL j = ;
while (j <= n / vc[i]) {
j *= vc[i];
num[vc[i]] += n / j;
}
}
LL ans = 1LL << ;
for (LL i = ; i < vc.size(); i++) {
ans = min(ans, num[vc[i]] / mp[vc[i]]);
}
printf("%lld\n", ans);
return ;
}其实没必要把各个因子保存下来。标程还是优很多的
- 看了标程之后改的
C - Trailing Loves (or L'oeufs?) GNU C++11 Accepted 31 ms 0 KB #include "bits/stdc++.h"
using namespace std;
typedef long long LL;
const LL INF = 1LL << ;
int main() {
LL n, m, ans = INF;
scanf("%lld%lld", &n, &m);
for (LL i = ; i <= m; i++) {
if (i * i > m) {
i = m;
}
if (m % i == ) {
int cnt = ;
while (m % i == ) {
m /= i;
cnt++;
}
LL tmp = , mul = ;
/*
for (LL mul = i; mul <= n; mul *= i)
这种写法应该更符合正常思维,但是因为n最高可以达到1e18,比较接近LL上限,mul可能乘i之前还小于n,乘完就爆LL了;
*/
while (mul <= n / i) {
mul *= i;
tmp += n / mul;
}
ans = min(ans, tmp / cnt);
}
}
printf("%lld\n", ans);
return ;
}
CF-1114C-Trailing Loves (or L'oeufs?)的更多相关文章
- Codeforces - 1114C - Trailing Loves (or L'oeufs?) - 简单数论
https://codeforces.com/contest/1114/problem/C 很有趣的一道数论,很明显是要求能组成多少个基数. 可以分解质因数,然后统计各个质因数的个数. 比如8以内,有 ...
- CF 1114 C. Trailing Loves (or L'oeufs?)
C. Trailing Loves (or L'oeufs?) 链接 题意: 问n!化成b进制后,末尾的0的个数. 分析: 考虑十进制的时候怎么求的,类比一下. 十进制转化b进制的过程中是不断mod ...
- CF#538(div 2) C. Trailing Loves (or L'oeufs?) 【经典数论 n!的素因子分解】
任意门:http://codeforces.com/contest/1114/problem/C C. Trailing Loves (or L'oeufs?) time limit per test ...
- C. Trailing Loves (or L'oeufs?) (质因数分解)
C. Trailing Loves (or L'oeufs?) 题目传送门 题意: 求n!在b进制下末尾有多少个0? 思路: 类比与5!在10进制下末尾0的个数是看2和5的个数,那么 原题就是看b进行 ...
- Trailing Loves (or L'oeufs?) CodeForces - 1114C (数论)
大意: 求n!在b进制下末尾0的个数 等价于求n!中有多少因子b, 素数分解一下, 再对求出所有素数的最小因子数就好了 ll n, b; vector<pli> A, res; void ...
- 【Codeforces 1114C】Trailing Loves (or L'oeufs?)
[链接] 我是链接,点我呀:) [题意] 问你n!的b进制下末尾的0的个数 [题解] 证明:https://blog.csdn.net/qq_40679299/article/details/8116 ...
- CF#538 C - Trailing Loves (or L'oeufs?) /// 分解质因数
题目大意: 求n!在b进制下末尾有多少个0 https://blog.csdn.net/qq_40679299/article/details/81167283 一个数在十进制下末尾0的个数取决于10 ...
- Trailing Loves (or L'oeufs?)
The number "zero" is called "love" (or "l'oeuf" to be precise, literal ...
- C. Trailing Loves (or L'oeufs?)
题目链接:http://codeforces.com/contest/1114/problem/C 题目大意:给你n和b,让你求n的阶乘,转换成b进制之后,有多少个后置零. 具体思路:首先看n和b,都 ...
- Codeforces Round #538 (Div. 2) C. Trailing Loves (or L'oeufs?) (分解质因数)
题目:http://codeforces.com/problemset/problem/1114/C 题意:给你n,m,让你求n!换算成m进制的末尾0的个数是多少(1<n<1e18 ...
随机推荐
- centos挂载磁盘
Aliyun实例为例 简单操作: 查看磁盘情况:fdisk -l 对数据盘进行分区,一般类似/dev/vdb这种为数据盘 输入fdisk /dev/vdb 对数据盘进行分区.根据提示,输入 n, p ...
- vue拖拽插件(弹框拖拽)
// =======拖拽 插件 cnpm install vuedraggableimport draggable from 'vuedraggable' <draggable v-model= ...
- 网页时不时打不开?试试阿里DNS 233.5.5.5 /233.6..6.6
最经上网都是用手机热点,但发现用谷歌浏览器时,时不时打不开网页.最后发现是DNS的问题,原来我的dns是8.8.8.8. 最后更改成阿里的DNS 233.5.5.5 /233.6..6.6,打开网页流 ...
- linux的vi编辑器中如何查找内容(关键字)
按下”/“键,这时在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了. 找到相关文字以后: (1)按下小写n,向下查找 (2)按下大写N,向上查找
- POJ 2976 Dropping tests【0/1分数规划模板】
传送门:http://poj.org/problem?id=2976 题意:给出组和,去掉对数据,使得的总和除以的总和最大. 思路:0/1分数规划 设,则(其中等于0或1) 开始假设使得上式成立,将从 ...
- Python说文解字_看起来有点儿像字典的元组(命名元祖)
1. 需要一个库 namedtuple: 所谓命名元组就是对于元组的每一个元素进行起名,看起来很像访问字典一样. 实例 from collections import namedtuple Stock ...
- 基础练习--huffman
问题描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, …, pn-},用这列数构造Huffman树的过程如下: . 找 ...
- mongodb的常见使用命令行
由于cms工程要连接mongodb所以需要在在cms服务端工程添加如下依赖:项目使用spring data mongodb操作mongodb数据库 <dependency> <gro ...
- Go语言集成开发环境之GoLand安装使用
下载Go语言开发包 大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示. 这里我们下载的是 64 位的开发包,如 ...
- drf二次封装response-APIViews视图家族-视图工具集-工具视图-路由组件
视图类传递参数给序列化类 (1).在视图类中实例化 序列化对象时,可以设置context内容. (2).在序列化类中的局部钩子.全局钩子.create.update方法中,都可以用self.conte ...