Problem E

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 31   Accepted Submission(s) : 6

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!"
人们纷纷来到告示前,都想知道谁才是自己的另一半.告示如下:

数字N的因子就是所有比N小又能被N整除的所有正整数,如12的因子有1,2,3,4,6.
你的缘分如何呢?

Input

输入数据的第一行是一个数字T(1<=T<=500000),它表示测试数据的组数.然后是T组测试数据,每组测试数据只有一个数字N(1<=N<=500000).

Output

对于每组的测试数据N,可计算得到N的因子和M,假设M的因子和是K,则:
如果N==M 或者 M不在[1,500000]的范围之内,则请输出“注定单身”,
否则,如果 N==K,则请输出“缘分已定”;
其他情况,则请输出“缘分未到”;

Sample Input

3
6
7
220

Sample Output

注定单身
缘分未到
缘分已定


Statistic | Submit | Back
这个题很容易让人直接用sqrt(N)*sqrt(M)*T的算法去试一试 极限情况N*M相等
复杂度大概在250000000000
显然超时 但是这是极限情况 加上OJ可能数据弱  也试着提交了一下 结果TLE 
然后试了各种减枝 发现于事无补
应该考虑新算法了
此时知道了一个叫约数和的公式
f(n)=(p1^0+p1^1+p1^2+…p1^a1)(p2^0+p2^1+p2^2+…p2^a2)…(pk^0+pk^1+pk^2+…pk^ak)
打了个素数表依旧超 求素数个数 再用公式依旧超
复杂度难以计算 所以 只有写完提交试试 
结果依旧TLE这个待思考原因
后面讲一下周神的方法
一种类筛选法
直接枚举约数 然后枚举有这约数的数即i*j 去加上这个约数
这样就预处理得到了500000以内所有因数和
复杂度等于(500000/2+500000/3+....)=500000(1/2+1/3+1/4.....1/500000)
学长告诉我当作logN就好了  查了一下百度似乎是lnN+C (C为0.57721566490153286060651209)
所以还是能完美过的
贴贴代码:
#include<stdio.h>
#define MAXN 500001
int ANS[500001];
int main()
{int i,j;for(i=1;i<=MAXN;i++){for(j=2;j*i<=MAXN;j++){ANS[j*i]+=i;}}int T,N,M,K;while(scanf("%d",&T)!=EOF){while(T--){scanf("%d",&N);M=ANS[N];if(N==M||M>500000||M==0) printf("注定单身\n");else{K=ANS[M];if(N==K) printf("缘分已定\n");else printf("缘分未到\n");} }}return 0;
}

转载于:https://www.cnblogs.com/zy691357966/p/5480476.html

新手赛(2) 第五题 因素和问题相关推荐

  1. 2022 RoboCom 世界机器人开发者大赛-本科组(省赛)-- 第五题 树与二分图 (已完结)

    其它题目 题目 RC-u5 树与二分图 设 G=(V,E) 是一个无向图,如果顶点集合 V 可分割为两个互不相交的子集 (A,B),并且每条边 (i,j)∈E 的两个端点 i 和 j 分别属于这两个不 ...

  2. 2018年第九届C/C++ A组蓝桥杯省赛真题——第五题:书号验证

    第五题:书号验证 [问题描述] 2004年起,国际ISBN中心出版了<13位国际标准书号指南>. 原有10位书号前加978作为商品分类标识:校验规则也改变. 校验位的加权算法与10位ISB ...

  3. 2022年4月23日第十三届省赛蓝桥杯真题答案_python_第五题_统计未被污染的海域

    第五题如约而至哈,和第六题差不多(但比第六题简单).好!上题目: 题目: 有一片海域划分为N*M个方格,其中有些海域已被污染(用0表示),有些海域没被污染(用1表示).请问这片N*M海域中有几块是没被 ...

  4. 每日五题 -202110

    [10月11日  周一] 1.你正在领导一个工作流自动化项目,已经收集了系统需求和确定了项目范围.如果项目的主要成功因素之一是在预算范围内完成,你会建议在这个项目中使用下列哪一种方法? A.迭代 B. ...

  5. GDUFS 2018信息学院程序设计新手赛(正式赛)题解

    紧张刺激的新手赛结束了--有惊无险啊啊啊,虽然中途OJ炸了一次--很快就修复,感谢大家耐心的等待! 谢谢大家!!! 题解开始前,先向大家道个歉,题目还是很多误导人的地方,测评机崩了,导致很多人题没过. ...

  6. GDUFS 2018信息学院程序设计新手赛(正式赛)Java版题解

    Problem A: HELLO Description <绝地求生>(PUBG) 是一款战术竞技型射击类沙盒游戏 . 该游戏中,玩家需要在游戏地图上收集各种资源,并在不断缩小的安全区域内 ...

  7. 2021年人工神经网络第四次作业-第五题:危险品识别

    简 介: 通过对于物品X射线数据集合的整理,挑选出15类体积比较大的物品,训练LeNet网络进行识别. 关键词: X射线,危险品识别,LeNet,Paddle #mermaid-svg-wZUMACG ...

  8. 新手如何有效的刷算法题(LeetCode)

    点击关注上方"五分钟学算法", 设为"置顶或星标",第一时间送达干货. 来源:五分钟学算法 前言 作为一名非科班出身的程序员,我是参加工作之后才开始接触算法,学 ...

  9. 蓝桥杯历年省赛JAVA-B组真题汇总及题目详解

    蓝桥杯 历年省赛JAVA-B组真题汇总及题目详解 题目大致介绍: 第一题到第三题以及第六题是结果填空,方法不限得到最后结果就行. 第四题和第五题是代码填空题,主要考察算法基本功和编程基本功. 第八题到 ...

最新文章

  1. 如何突破DNS报文的512字节限制
  2. 流程控制之for循环
  3. 为什么 SAP 电商云 Spartacus UI SSR 模式下的客户端应用,不会发起 product 请求
  4. jquery 操作css 选择器
  5. mysql怎么新增_mysql怎么新增用户
  6. kubernets kube-proxy原理分析
  7. 微软再现宕机事故 部分用户9天无法使用电邮
  8. http://blog.csdn.net/zbyufei/article/details/6096881
  9. Java递归下降分析器_递归下降语法分析器
  10. 【过程记录】ArcGIS Pro打开.osgb文件
  11. Python网络爬虫实训:如何下载韩寒博客文章
  12. Ti-Click:通过浏览器快速搭建 TiDB 在线实验室 | Ti-可立刻团队访谈
  13. vue中使用video插件在微信浏览器中视频无法自动播放的问题
  14. 一个程序员的成长之路(持续更新)
  15. Oracle | Oracle初级全程学习笔记
  16. 落花人独立 微雨燕双飞
  17. 制作NGUI动态字体
  18. PROE产品设计:20个机械设计知识点
  19. word显示隐藏格式清除残留格式
  20. 如何打开计算机任务管理器,电脑任务管理器怎么打开

热门文章

  1. Chromium CEF 2623 -- 支持 xp 的最后一个版本源码下载和编译步骤
  2. 61.新的开始(最小生成树)
  3. (转) vector的reserve和resize
  4. 深入php面向对象和模式
  5. 这还没毕业呢,肩膀就不舒服,唉。。。要是工作了,那该有多累啊
  6. 无法远程连接mssqlserver2005服务器的解决
  7. 如何为 SQL Server 2000 分发和安装 SQL-DMO(引用)
  8. Pandas最详细教程来了!
  9. 那天,他无意间瞟了眼程序员的桌面……
  10. STM32之内部FLASH原理