题意

有一块矩形(也可能是正方形)的飞毯。

给定飞毯的面积\(n\)和最小可能的边长\(a\),求可能有多少种不同边长的飞毯。(\(1<=a<=n<=1e12\))

如面积\(n=6\)时,\(\{2,3\}\)和\(\{3,2\}\)算一种。

题解

本来想\(sqrt(n)\)的复杂度直接枚举\(n\)的所有因数,发现\(TLE\)了。

正解是把\(n\)质因数分解成\(n=a_1^{b_1}a_2^{b_2}...a_n^{b_n}\),然后\(n\)的因子的个数就是\((1+b_1)*(1+b_2)...(1+b_n)\)。

我自做聪明的把上面得出的结果加上\(1\)(考虑到因子有\(1\)的情况),结果WA了一晚上。

得出\(n\)的因子个数之后,再暴力枚举小于\(b\)的数,如果是\(n\)的因数就减掉。

从理论上来说,两种方法的复杂度应该是相同的吧。后面的就能过,显然数据不靠谱。

代码

#include <bits/stdc++.h>#define FOPI freopen("in.txt", "r", stdin)
#define FOPO freopen("out.txt", "w", stdout)
#define FOR(i,x,y) for (int i = x; i <= y; i++)
#define ROF(i,x,y) for (int i = x; i >= y; i--)using namespace std;
typedef long long LL;
const int N = 1e6 + 10;int Prime[N+100];void getPrime(int N)
{memset(Prime, 0, sizeof(Prime));FOR(i, 2, N){if (!Prime[i]) Prime[++Prime[0]] = i;for (int j = 1; j <= Prime[0] && Prime[j] <= N/i; j++){Prime[Prime[j]*i] = 1;if (i % Prime[j] == 0) break;}}
}int factor[N+100][2];int facCnt;
LL Factor(LL x)
{facCnt = 0;LL tmp = x;for (int i = 1; Prime[i] <= tmp/Prime[i]; i++){factor[facCnt][1] = 0;if (tmp % Prime[i] == 0){factor[facCnt][0] = Prime[i];while(tmp % Prime[i] == 0){factor[facCnt][1]++;tmp /= Prime[i];}facCnt++;}}if (tmp != 1){factor[facCnt][0] = tmp;factor[facCnt++][1] = 1;}LL res = 1;FOR(i, 0, facCnt-1)res *= (1+factor[i][1]);return res;
}LL n, b;
int t;int main()
{getPrime(N);scanf("%d", &t);FOR(ca, 1, t){scanf("%lld %lld", &n, &b);if (n < b*b){printf("Case %d: 0\n", ca);continue;}LL Sum1 = Factor(n) / 2;FOR(i, 1, b-1)if (n % i == 0) Sum1--;printf("Case %d: %lld\n", ca, Sum1);}
}

转载于:https://www.cnblogs.com/ruthank/p/10910535.html

LightOJ - 1341 Aladdin and the Flying Carpet(数论)相关推荐

  1. Aladdin and the Flying Carpet (素数打表+正整数的唯一分解定理,找因数对)

    题目大意:给两个数a,b,求满足c*d==a且c>=b且d>=b的c,d二元组对数,(c,d)和(d,c)属于同一种情况 题目分析:根据唯一分解定理先将a唯一分解,则a的所有正约数的个数为 ...

  2. Aladdin and the Flying Carpet(唯一分解定理)

    传送门 It's said that Aladdin had to solve seven mysteries before getting the Magical Lamp which summon ...

  3. C - Aladdin and the Flying Carpet(数论结论+思维)

    这道题应该是我的反思题. 千万自己要注意,如果一个数n没有被完全分解,答案千万要记得ans*=2因为还有一个比1e6更大的素数存在作为他的因子!! 我明明找到了a的约数个数/2-a在b一下的约数个数= ...

  4. LightOJ 1348 Aladdin and the Return Journey

    题意: 给出N个节点的一棵树,每个节点有一个权值. 有两种操作: 1)      0 i j, 问节点i->节点j的路上的总权值. 2)      1 i v, 把节点i的权值改变成v. 思路: ...

  5. 【light 1341Aladdin and the Flying Carpet】

    给你矩形的面积(矩形的边长都是正整数),让你求最小的边大于等于b的矩形的个数. 肯定是和面积的因子有关系了,边长都是面积值的 因子. 那么就可以算出面积值得所有因子,因为是让求得矩形得个数,当然是要& ...

  6. “kuangbin带你飞”专题计划——专题十四:数论基础

    写在前面 1.目前还没啥写的.开始时间:2021-05-13(其实博客上看得到该博客创建时间的) 2.上一个专题刷的是网络流(博客总结),属于第一次接触.本来想的是一周特别高效,然后一周略划水,结果是 ...

  7. kuangbin带你飞专题合集

    题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...

  8. 算法学习经典例题整理

    陆续会对本篇博客进行更新! 搜索:https://vjudge.net/contest/292597 区间DP:https://vjudge.net/contest/293892 树状背包:https ...

  9. kuangbin带你飞 专题1-23 题单

    kuangbin大神,对于打过ACM比赛的ACMer,无人不知无人不晓. 在此,附上vjudge平台上一位大神整理的[kuangbin带你飞]专题目录链接. [kuangbin带你飞专题目录1-23] ...

最新文章

  1. 《LeetCode力扣练习》剑指 Offer 09. 用两个栈实现队列 Java
  2. 【转载】MySQL Show命令总结
  3. matlab微分的语句格式,偏微分差分四种格式的matlab程序.doc
  4. 15.4:泛型化方法
  5. vue修饰符和条件指令
  6. leetcode 769. Max Chunks To Make Sorted | 769. 最多能完成排序的块(Java)
  7. SAP云平台ABAP编程环境免费账号使用过程中的一些问题
  8. 多IDC GSLB的部署
  9. MDOP套装之app-v安装使用及功能说明
  10. Eclipse如何新建TOMCAT并配置Server Locations和Publishing属性
  11. linux下内存的统计和内存泄露问题的定位-转
  12. 计算机木马不会主动传播什么疾病,研究如何制作自动运行的木马病毒以及如何传播...
  13. HTML5物流大数据服务平台后台模板
  14. C盘Administrator中 .m2/repository里面是什么
  15. 【计算机网络技术】IP 地址共分哪几类?怎样确定一个IP地址它是属于哪一类的?
  16. 怎样设置CCProxy
  17. android开发发送短信,Android开发入门之发送短信
  18. OpenGL绘制一个圆锥
  19. 多御安全浏览器安卓版迎来重大更新:新增分享二维码功能
  20. Ubuntu16.04 rc.local不生效,启动过程中报“Failed to start /etc/rc.local Compatibility”错误

热门文章

  1. 查看Linux 系统可用大小/docker 查询明细
  2. jupyter notebook新建python3空白_jupyter notebook打开空白
  3. 美国主机高级安全配置有哪些
  4. 防止无协议脱欧 工党或支持英国推迟脱欧提案
  5. Layui获取ID,点击加载表格
  6. EF实体生成关系导致相互循环取数据出现异常Self referencing loop detected for property ...
  7. 改进YOLOv5、YOLOv7系列:7.改进DIoU-NMS,SIoU-NMS,EIoU-NMS,CIoU-NMS,GIoU-NMS改进
  8. 夏季 畅快淋漓_在夏季编程
  9. Js获取input文本框值的几种方法
  10. 全国计算机信息高新考试教程,全国计算机信息高新术考试详解.ppt