上午小测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,在本文中我们主要 ...
随机推荐
- css对角渐变
html: <div class="hh"> </div> css: .hh{ width: 500px; height: 500px; backgroun ...
- vue项目 'node-sass'问题
Cannot find module 'node-sass' 解决办法: 运行命令:cnpm install node-sass@latest 即可解决,( 网络差的同学可以选择重新下载no-modu ...
- weblogic漏洞分析之CVE-2017-10271
weblogic漏洞分析之CVE-2017-10271 一.环境搭建 1)配置docker 这里使用vulhub的环境:CVE-2017-10271 编辑docker-compose.yml文件,加入 ...
- nohup命令的用法
在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: /usr/local/mysql/bin/my ...
- python类、对象
python类.对象 学习完本篇,你将会深入掌握 什么是类,对象 了解类和对象之间的关系 能独立创建一个People(人类),属性有姓名.性别.年龄.提供一个有参的构造方法,编写一个show方法,输出 ...
- java中链表和数组的区别?
综述:数组是线性结构,可以直接索引,即要去第i个元素,a[i]即可.链表也是线性结构,要取第i个元素,只需用指针往后遍历i次就可.貌似链表比数组还要麻烦些,而且效率低些. 想到这些相同处中的一些细微的 ...
- self this
面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能.利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意 ...
- python对象引用和垃圾回收
变量="标签" 变量a和变量b引用同一个列表: >>> a = [1, 2, 3] >>> b = a >>> a.appen ...
- 鸿蒙内核源码分析(时钟任务篇) | 触发调度谁的贡献最大 | 百篇博客分析OpenHarmony源码 | v3.05
百篇博客系列篇.本篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度谁的贡献最大 | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度 ...
- Postman快速入门
Postman是一款非常流行的支持HTTP/HTTPS协议的接口调试与测试工具,其功能非常强大,易用. 1 基础知识 1.1 下载与安装 Postman的安装步骤,本例以Windows ...