上午小测1 T1 木板 题解
前言:
WTCL,居然折磨煎蛋的性质都忘记了,WTCL。
考场上想出来了正解,就差一点就能A掉,挺难受的。
要记住一个数n可能会有一个大于\(\sqrt{n}\)的质因子。。我忘记把它加进去了。。。。
解析:
相似三角形是很显然的。
最后式子变成\(\frac{i^2}{n},i\in[1,n-1]\) 。
求令这个式子是整数的i的个数。
显然把n分解质因数,因为上面是\(i^2\) 所以,假设n中有一个\(p^j\),那么i中至少要有\(p^{\lceil\frac{j}{2}\rceil}\).
然后。。只要把这些\(p_i^{\lceil\frac{j_i}{2}\rceil}\)都乘在一起,然后再用(n-1)除掉,就完了。
代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=10000000+10,ss=1e7+10;
ll n,ans;
bool is_not_prime[maxn];
int prime[maxn];
int cnt;
vector <int> tot,pr;
void Solve1(){
int aa=0;
for(register int i=1;i<n;++i){
ll res=1ll*i*(n-i);
if(res%n) continue;
aa++;
}
printf("%d\n",aa*8);
}
ll qpow(int x,int y){
ll base=x;
ll res=1;
while(y){
if(y&1) res=res*base;
base=base*base;
y>>=1;
}
return res;
}
void Solve2(){
pr.clear();
tot.clear();
ll xx=n;
for(int i=1;i<=cnt;++i){
if(n%prime[i]) continue;
int tool=0;
while(n%prime[i]==0){
tool++;
n/=prime[i];
}
pr.push_back(prime[i]);
tot.push_back(tool);
}
ll aa=n;
for(int i=0;i<pr.size();++i) aa*=qpow(pr[i],(tot[i]+1)>>1);
ans=(xx-1)/aa;
printf("%lld\n",ans*8);
}
void xxs(){
is_not_prime[0]=is_not_prime[1]=1;
for(int i=2;i<=10000000;++i){
if(!is_not_prime[i]) prime[++cnt]=i;
for(int j=1;j<=cnt&&i*prime[j]<=10000000;++j){
is_not_prime[i*prime[j]]=1;
if(i%prime[j]==0) break;
}
}
}
void Solve(){
xxs();
while(1){
scanf("%lld",&n);
if(n==0) return;
if(n<=ss){
Solve1();
continue;
}
Solve2();
}
}
int main(){
//freopen("tri.in","r",stdin);
//freopen("tri.out","w",stdout);
Solve();
return 0;
}
上午小测1 T1 木板 题解的更多相关文章
- 上午小测3 T1 括号序列 && luogu P5658 [CSP/S 2019 D1T2] 括号树 题解
前 言: 一直很想写这道括号树..毕竟是在去年折磨了我4个小时的题.... 上午小测3 T1 括号序列 前言: 原来这题是个dp啊...这几天出了好几道dp,我都没看出来,我竟然折磨菜. 考试的时候先 ...
- 上午小测1 B.序列 哈希表+数学
题目描述 \(EZ\) 每周一都要举行升旗仪式,国旗班会站成一整列整齐地向前行进. 郭神摄像师想要选取其中一段照下来.他想让这一段中每个人的身高成等比数列,展示出最萌身高差.但他发现这个太难办到了.于 ...
- 小测几种python web server的性能
http://blog.csdn.net/raptor/article/details/8038476 因为换了nginx就不再使用mod_wsgi来跑web.py应用了,现在用的是gevent-ws ...
- [福大软工] Z班 团队作业——随堂小测(同学录) 作业成绩
团队作业--随堂小测(同学录) 作业链接 http://www.cnblogs.com/easteast/p/7763645.html 作业情况 本次作业从原先预计的3小时,有些组打了鸡血连续肝了4. ...
- 福州大学软件工程1816 | W班 第8次作业[团队作业,随堂小测——校友录]
作业链接 团队作业,随堂小测--校友录 评分细则 本次个人项目分数由两部分组成(博客分满分40分+程序得分满分60分) 博客和程序得分表 评分统计图 千帆竞发图 总结 旅法师:实现了更新,导出,查询, ...
- MySQL课堂小测
目录 一.基本知识与操作方法 二.小测具体内容 (一)向数据库表中添加记录 (二)下载并导入world.sql (三)数据库查询与输出 (四)查询数据库并求某字段和 (五)查询数据库并取最大& ...
- 随堂小测app(nabcd)
N 现在,老师想要组织测验,需要提前印制试卷,费时费力,考勤采取传统的点名的方式,过程繁琐且结果水分大. 而随堂小测app通过在线答题,智能定位可以帮助老师掌握学生对知识的掌握程度,了解学生的到客情况 ...
- java实验(三)——课堂小测
这次的课堂小测是用以前生成的那些四则运算的代码,然后将这些题目写到一个文件中,再通过这个文件读取题目的信息,每读入一个答案的时候,遇到星号的时候,等待用户输入然后判断输入的答案是否正确,然后输出小一道 ...
- 朱晔和你聊Spring系列S1E11:小测Spring Cloud Kubernetes @ 阿里云K8S
有关Spring Cloud Kubernates(以下简称SCK)详见https://github.com/spring-cloud/spring-cloud-kubernetes,在本文中我们主要 ...
随机推荐
- JPA实现泛型baseServcie+Mybatis
在开发的过程中,我们总无法避免不同的实体类会去实现相同的操作(增删查改,分页查询等),因此在开发时,我们期望泛型将通用的方法进行包装,使我们能够专注于实体类自身的独特方法,而非一般性常用且重复性高的方 ...
- 并发编程之:ForkJoin
大家好,我是小黑,一个在互联网苟且偷生的农民工. 在JDK1.7中引入了一种新的Fork/Join线程池,它可以将一个大的任务拆分成多个小的任务并行执行并汇总执行结果. Fork/Join采用的是分而 ...
- 根据类拼凑成url参数
/// <summary> /// 根据类拼凑成url参数 /// </summary> /// <typeparam name ...
- three.js 模型常用操作
场景: THREE.Scene(); 场景辅助坐标模型: THREE.AxesHelper(20); 相机: THREE.PerspectiveCamera()// 透视相机 THREE.Or ...
- Linux python 虚拟环境管理
直接复制的内容: 原著:https://www.cnblogs.com/q767498226/p/11099884.html 报错解决:https://blog.csdn.net/weixin_467 ...
- 关于java中BigDecimal的简介
关于java中BigDecimal的简介 1.BigDecimal属于大数据,精度极高,不属于基本数据类型,属于java对象(引用数据类型), 这是sun提供的一个类,专门用在财务软件中. 2.注意: ...
- P5607-[Ynoi2013]无力回天NOI2017【线性基,线段树,树状数组】
正题 题目链接:https://www.luogu.com.cn/problem/P5607 题目大意 \(n\)个数字的序列,\(m\)次操作 区间\([l,r]\)异或上一个值\(v\) 询问区间 ...
- SpringBoot整合jdbc及整合Druid数据源
一.整合jdbc 1.创建一个springInitializr项目 勾选 web----springweb.SQL----JDBC API,MYSQL Diver 2.连接数据库 3.创建yml 4. ...
- Erase-Remove 惯用法
看到<Effective STL>条款 9 的时候想到了我以前复习的"如何正确使用迭代器删除元素",我面试时使用的也是里面的方法,看面试官的反应好像也没有什么问题,还问 ...
- 安装SpaCy出现报错:requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443):
内含安装步骤及报错解决:https://www.cnblogs.com/xiaolan-Lin/p/13286885.html