[JZOJ5773]【NOIP2008模拟】简单数学题
Description
对于一个正整数N,存在一个正整数T(0<T<N),使得
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAABECAYAAADZeIbjAAADRUlEQVR4nO2aMXKjMBSGf3ZyFG8KT04AJ7DduHKbTpROs11Kd2lwmXRpt6IJnMA+gceF4S5ayQYvBqEgGYF24ZuRCzPw+JH03pP0HMrAAPnR9wv0xSh8aNgnPPbhOA782KwZi4Sn2HoOnPlHJ9YsEj7BekdBkwBuB9YsEt4to/ChMQofGqPwoVEVnm7hscyJZ0+Ot2VpRfmyd7mWNdMZVj0x/MJ7iJuHbVlADq0jIny5SklUc80NaFJ7sx4RwdnmtclslN4hCVx2D6F/XzeiRHJ/rfCIuNR1xca5EeEH6ZCIFEUmNKi8a0SDoL5raoSzBwVR1usuvb2fGykatQHWu2yEuBKhZcTOLf3CET+B2RIEe7y8FSdywq5N+VV7iEPwpc3T46TxLWLhCTBd8IfM8IuNIXyEuEpnRg6rBZqbME96OrBfguWs+T1C4XF4RP7xJutX9sgPbDL3mJ6A1cIq2fj6vWczUm0UCoSnON0M5RmWbALtX95Yr3MjQN2Iiv3vwosDrza+6MKmHtetOgorsz4JKCk7Cfafew5tzIm07M4BNG5CZGFXQrXHk2O1SycLrPhUn89xmLbr1uglsjRqInTmd264gCRUCUNb31zCGDRG4VX4JfPJh5VIIPsopP1sTY8sYSlNBRX9Dv+5Y6T+s4yrMzvItpiv4c+HqcWfRcK56GfgM/fi0TlxmpsSb8j7qBMFVYea5Q8qi4+m2NPjszXW5dRr8ognQ+bsEV6La2RtYHc44weI4RL0XTUt+56H1p/YGszZbYBo175ojrXCY597+B3MyLZUON/JDZc7vBtc9lvn3LjoZ3yiOK3TrV+/TaxL6wHyDm4XSg23mTWxRnhlT73QTCQwdoczg1g3x7vi7NX5Suh/pzywH0R/DoHBDvVR+NAYhTei82qJO6seZGilPV1VS9xZ9SBDa6jH4QEuP1LaCHr9dAB5XbdyjByHfD2eP0t8KjrVPbJW/1Z9VUuoVz3IUO/xvqolNKoeZKgL76laQvtUtAZl4f1US+hVPchQFN5XtYRm1YMMJY/QcbXEFc2qBxlqPd5xtURO2/P7TPNv1Fe1hH7Vg4xGwvuplri/6kHGuOc2NEbhQ2MUPjRG4UPjD4ped/B8yB0SAAAAAElFTkSuQmCC" alt=" " />
的值是正整数。
小X给出N,让小Y给出所有可能的T。如果小Y不回答这个神奇的大佬的简单数学题,他学神的形象就会支离破碎。所以小Y求你帮他回答小X的问题。
Input
Output
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAABECAYAAADZeIbjAAADRUlEQVR4nO2aMXKjMBSGf3ZyFG8KT04AJ7DduHKbTpROs11Kd2lwmXRpt6IJnMA+gceF4S5ayQYvBqEgGYF24ZuRCzPw+JH03pP0HMrAAPnR9wv0xSh8aNgnPPbhOA782KwZi4Sn2HoOnPlHJ9YsEj7BekdBkwBuB9YsEt4to/ChMQofGqPwoVEVnm7hscyJZ0+Ot2VpRfmyd7mWNdMZVj0x/MJ7iJuHbVlADq0jIny5SklUc80NaFJ7sx4RwdnmtclslN4hCVx2D6F/XzeiRHJ/rfCIuNR1xca5EeEH6ZCIFEUmNKi8a0SDoL5raoSzBwVR1usuvb2fGykatQHWu2yEuBKhZcTOLf3CET+B2RIEe7y8FSdywq5N+VV7iEPwpc3T46TxLWLhCTBd8IfM8IuNIXyEuEpnRg6rBZqbME96OrBfguWs+T1C4XF4RP7xJutX9sgPbDL3mJ6A1cIq2fj6vWczUm0UCoSnON0M5RmWbALtX95Yr3MjQN2Iiv3vwosDrza+6MKmHtetOgorsz4JKCk7Cfafew5tzIm07M4BNG5CZGFXQrXHk2O1SycLrPhUn89xmLbr1uglsjRqInTmd264gCRUCUNb31zCGDRG4VX4JfPJh5VIIPsopP1sTY8sYSlNBRX9Dv+5Y6T+s4yrMzvItpiv4c+HqcWfRcK56GfgM/fi0TlxmpsSb8j7qBMFVYea5Q8qi4+m2NPjszXW5dRr8ognQ+bsEV6La2RtYHc44weI4RL0XTUt+56H1p/YGszZbYBo175ojrXCY597+B3MyLZUON/JDZc7vBtc9lvn3LjoZ3yiOK3TrV+/TaxL6wHyDm4XSg23mTWxRnhlT73QTCQwdoczg1g3x7vi7NX5Suh/pzywH0R/DoHBDvVR+NAYhTei82qJO6seZGilPV1VS9xZ9SBDa6jH4QEuP1LaCHr9dAB5XbdyjByHfD2eP0t8KjrVPbJW/1Z9VUuoVz3IUO/xvqolNKoeZKgL76laQvtUtAZl4f1US+hVPchQFN5XtYRm1YMMJY/QcbXEFc2qBxlqPd5xtURO2/P7TPNv1Fe1hH7Vg4xGwvuplri/6kHGuOc2NEbhQ2MUPjRG4UPjD4ped/B8yB0SAAAAAElFTkSuQmCC" alt=" " />
是整数。
后面是M个数,每一个数代表可能的正整数T(按从小到大的顺序排列)。
Sample Input
Sample Input1:
1 Sample Input2:
3 Sample Input3
180
Sample Output
Sample Output
0 Sample Output
1 2 Sample Output
5 120 144 160 168 176
Data Constraint
对于20%的数据,N<=5.
对于40%的数据,N<=1000000
对于另外20%的数据,答案只有1个,且N为质数,保证对于前60%的数据,当N为质数的时候,答案都一定只有一个,对于这20%的数据,满足2<N。
对于80%的数据,N<=10^9.
对于100%的数据,N<=10^14.
233考场打的大暴力拿了65分。
既没有判断素数又没有打表,竟然暴力拿这么多分真是不敢相信。
放上考场yy代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <cmath>
#include <algorithm>
using namespace std;
#define int long long
inline int read() {
int res=;char c=getchar();bool f=;
while(!isdigit(c)) {if(c=='-')f=;c=getchar();}
while(isdigit(c))res=(res<<)+(res<<)+(c^),c=getchar();
return f?-res:res;
} int tmp[], cnt; signed main(){
freopen("math.in", "r", stdin);
freopen("math.out", "w", stdout); int n = read();
if (n == ) return puts(""), ;
int ans = ; if (n <= 6e7)
{
for (register int i = ; i < n ; i ++)
if ((n - i / ) % (n - i) == and (i % ) == ) tmp[++ans] = i;
printf("%lld ", ans);
for (register int j = ; j <= ans ; j ++) printf("%lld ", tmp[j]);
return ;
} int tt = n - * sqrt(n);
tt = max(tt, (int));
if (tt % == ) tt--;
for (register int i = tt ; i < n ; i += )
if ((n - i / ) % (n - i) == ) tmp[++ans] = i;
printf("%lld ", ans);
for (register int i = ; i <= ans ; i ++) printf("%lld ", tmp[i]);
return ;
}
暴力
其实它给的暴力分是40分(逃。。
然后聊聊正解233.
设...算了不写了233.
放个网址就跑题解
然后有不少细节要注意,比如枚举i的时候一定要判断是不是奇数,和最后答案是不是奇数。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
#define int long long
inline int read() {
int res=;char c=getchar();bool f=;
while(!isdigit(c)) {if(c=='-')f=;c=getchar();}
while(isdigit(c))res=(res<<)+(res<<)+(c^),c=getchar();
return f?-res:res;
} int tmp[*], cnt; signed main()
{
int n = read();
n <<= ;
int ans = ;
for (register int i = ; i <= sqrt(n) ; i ++)
{
if (n % i == )
{
if (i % == ) tmp[++ans] = n / i * max(((i - ) / ), (int));
int t = n / i;
if (i != t and t % == )
tmp[++ans] = n / t * max(((t - ) / ), (int));
}
}
int tt = ans;
sort(tmp + , tmp + + ans);
for (register int i = ; i <= tt ; i ++) if (tmp[i] % == ) tmp[i] = , ans--;
printf("%lld ", ans);
for (register int i = ; i <= tt ; i ++) if(tmp[i]) printf("%lld ", tmp[i]);
return ;
}
[JZOJ5773]【NOIP2008模拟】简单数学题的更多相关文章
- JZOJ 5773. 【NOIP2008模拟】简单数学题
5773. [NOIP2008模拟]简单数学题 (File IO): input:math.in output:math.out Time Limits: 1000 ms Memory Limits ...
- JZOJ 5791. 【NOIP2008模拟】阶乘
5791. [NOIP2008模拟]阶乘 (File IO): input:factorial.in output:factorial.out Time Limits: 1000 ms Memory ...
- NS2仿真:使用NS仿真软件模拟简单网络模型
NS2仿真实验报告1 实验名称:使用NS仿真软件模拟简单网络模型 实验日期:2015年3月2日~2015年3月7日 实验报告日期:2015年3月8日 一.实验环境(网络平台,操作系统,网络拓扑图) 运 ...
- HDU 6467 简单数学题 【递推公式 && O(1)优化乘法】(广东工业大学第十四届程序设计竞赛)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6467 简单数学题 Time Limit: 4000/2000 MS (Java/Others) M ...
- HDU 6467.简单数学题-数学题 (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)
简单数学题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submi ...
- Discrete Function(简单数学题)
Discrete Function There is a discrete function. It is specified for integer arguments from 1 to N (2 ...
- JZOJ 5777. 【NOIP2008模拟】小x玩游戏
5777. [NOIP2008模拟]小x玩游戏 (File IO): input:game.in output:game.out Time Limits: 1000 ms Memory Limits ...
- JZOJ 5809. 【NOIP2008模拟】数羊
5809. [NOIP2008模拟]数羊 (File IO): input:sheep.in output:sheep.out Time Limits: 1000 ms Memory Limits: ...
- JZOJ 5793. 【NOIP2008模拟】小S练跑步
5793. [NOIP2008模拟]小S练跑步 (File IO): input:run.in output:run.out Time Limits: 2000 ms Memory Limits: ...
随机推荐
- rpyc + plumbum 实现远程调用执行shell脚本
rpyc可以很方便实现远程方法调用, 而plumbum则可以实现在python中类似shell的方式编码: 具体实现代码如下: Server.py import rpyc from rpyc.util ...
- linux环境上anaconda的安装与卸载
首先下载linux上anaconda的安装包: $ wget https://repo.anaconda.com/archive/Anaconda3-5.1.0-Linux-x86_64.sh 然后赋 ...
- mapper 传多个参数
Mybatis的Mapper接口的参数,一般是一个对象,但如果不是对象,并且有多个参数的时候呢?我们第一个的想法是把参数封装成一个java.util.Map类型,然后在方法的注释上面写上map的key ...
- Solve Hibernate Lazy-Init issue with hibernate.enable_lazy_load_no_trans
I have been suffering from infamous hibernate exception org.hibernate.LazyInitializationException: c ...
- 删除mac开机启动项
1、开“系统偏好设置”窗口,选择“用户与群组”,进入用户与群组窗口.选择登录项选项卡,再解锁,最后删除开机启动的应用. 2、分别在以下6个目录中检查是否有与anydesk相关的plist文件 ~/ ...
- [STL] Implement "vector", ”deque“ and "list"
vector “可增的”数组 vector是一块连续分配的内存,从数据安排的角度来讲,和数组极其相似. 不同的地方就是: (1) 数组是静态分配空间,一旦分配了空间的大小,就不可再改变了: (2) v ...
- 自定义 Alamofire 的 response serializer
Alamofire 的 DataRequest 类针对二进制数据.字符串.json.属性列表提供了一系列方便解析的方法(内部实际上使用的是 Response Serializer),现在我们要针对服务 ...
- Cocos Creator实现左右跳游戏
1. 玩法说明 游戏开始后,点击屏幕左右两侧,机器人朝左上方或右上方跳一步,如果下一步有石块,成功得1分,否则游戏结束. 2. 模块介绍 游戏场景分为2个:主页场景(home).游戏场景(game) ...
- CDH6.3.0 - Cloudera Enterprise 6 Release Guide 安装准备篇
一.安装之前 Cloudera管理器的存储空间规划 ClouderaManager跟踪许多后台流程中的服务.作业和应用程序的指标.所有这些指标都需要存储.根据组织的大小,此存储可以是本地的或远程的,基 ...
- SUSE Ceph 增加节点、减少节点、 删除OSD磁盘等操作 - Storage6
一.测试环境描述 之前我们已快速部署好一套Ceph集群(3节点),现要测试在现有集群中在线方式增加节点 如下表中可以看到增加节点node004具体配置 主机名 Public网络 管理网络 集群网络 说 ...