陕西师范大学第七届程序设计竞赛网络同步赛 J 黑猫的小老弟【数论/法拉数列/欧拉函数】...
链接:https://www.nowcoder.com/acm/contest/121/J
来源:牛客网
题目描述
大家知道,黑猫有很多的迷弟迷妹,当然也有相亲相爱的基友,这其中就有一些二五仔是黑猫的小老弟。小老弟是如何产生的呢?聪明的iko告诉黑猫,其实是有规律的(她怎么知道???)!
一开始,有两个原始二五仔,代号0/1和1/1,
从原始二五仔到第n代小老弟,每代相邻两个小老弟a/b和c/d,产生一个新的小老弟(a+c)/(b+d),成为下一代新成员。将每一代的小老弟代号约分(包括0/1,1/1),进行约分简化,则每一代的代号(包括0/1,1/1),不会出现两个相同的分数。若分子或者分母大于n,则去掉该代号,将剩下的分数,从小到大排序,得到小老弟名单数列F。
输入描述:
先输入一个数t,然后t组数据,每行一个数字n(n<10000)
输出描述:
输出第n代名单有多少人。
输入
2 1 4
输出
2 7
输入
3 8803 9017 8370
输出
23559251 24718873 21296477
【分析】:可以发现,这棵树从中间分开,就是法里数列!法里数列长度f[n]=f[n-1]+φ(n)
法里数列:
Farey数列Fn对于每个n( n>=2 ),如果0<a<b<=n 且 ab互质即a/b为不可约有理数,那么就在Fn集合中且以递增序列排序。
F2 ={1/2}
F3 = {1/3, 1/2, 2/3}
F4 = {1/4, 1/3, 1/2, 2/3, 3/4}
F5 = {1/5, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5}
欧拉函数:
在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。
#include<bits/stdc++.h> #include<cstdio> #include<string> #include<cstdlib> #include<cmath> #include<iostream> #include<cstring> #include<set> #include<queue> #include<algorithm> #include<vector> #include<map> #include<cctype> #include<stack> #include<sstream> #include<list> #include<assert.h> #include<bitset> #include<numeric> #define debug() puts("++++") #define gcd(a,b) __gcd(a,b) #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #define fi first #define se second #define pb push_back #define sqr(x) ((x)*(x)) #define ms(a,b) memset(a,b,sizeof(a)) #define sz size() #define be begin() #define pu push_up #define pd push_down #define cl clear() #define lowbit(x) -x&x #define all 1,n,1 #define rep(i,n,x) for(int i=(x); i<(n); i++) #define in freopen("in.in","r",stdin) #define out freopen("out.out","w",stdout) using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> P; const int INF = 0x3f3f3f3f; const LL LNF = 1e18; const int maxn = 1e3 + 20; const int maxm = 1e6 + 10; const double PI = acos(-1.0); const double eps = 1e-8; const int dx[] = {-1,1,0,0,1,1,-1,-1}; const int dy[] = {0,0,1,-1,1,-1,1,-1}; const int mon[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; const int monn[] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int n,k,t; int e[maxm]; int sum[maxm],res = 0; void init() {ms(e,0);e[1]=1;for(int i=2;i<=maxm;i++){if(!e[i])for(int j=i;j<=maxm;j+=i){if(!e[j]) e[j]=j;e[j]=e[j]/i*(i-1);}} } int main() {init();sum[1]=2;for(int i=2;i<=maxm;i++)sum[i]=sum[i-1]+e[i]; //可以发现,这棵树从中间分开,就是法里数列~法里数列长度f[n]=f[n-1]+φ(n) cin>>t;while(t--){cin>>n;cout<<sum[n]<<endl;} }
转载于:https://www.cnblogs.com/Roni-i/p/9038066.html
陕西师范大学第七届程序设计竞赛网络同步赛 J 黑猫的小老弟【数论/法拉数列/欧拉函数】...相关推荐
- 陕西师范大学第七届程序设计竞赛网络同步赛题解
心累,昨天一天3个比赛,全部炸掉,这个陕西师范的比赛我真的读不懂题目,只搞出来7题,难受 A,B,F签到题,不讲了,只讲C,D,I,K 链接:https://www.nowcoder.com/acm/ ...
- 陕西师范大学第七届程序设计竞赛 C题 iko和她的糖
链接: https://www.nowcoder.com/acm/contest/121/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言26 ...
- 华中农业大学第六届程序设计大赛网络同步赛 J.幻化(思维)
幻化 传送门 晚上chipizz同学突然问我这道题,然后我口胡了一下先把aaa数组的i" role="presentation" style="position ...
- 2022年 文远知行杯 GDUT 第十六届程序设计竞赛(同步赛) 部分题解
今年做出来的题还没去年多,看来是题目质量高了(我又变菜了). 同步赛地址:文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJB B ...
- “东信杯”广西大学第一届程序设计竞赛(同步赛)D、数论只会GCD 【博弈 分类讨论】...
传送门:https://ac.nowcoder.com/acm/contest/283/D 题目描述 小西买了一堆肥宅快乐水和肥宅快乐茶,准备和室友比谁更肥宅. 快乐水有A瓶,快乐茶B瓶. 小西和室友 ...
- 2017年西南民族大学程序设计竞赛-网络同步赛-(A~K)
今天下午自己做的比赛,离AK最近的一次,其他题都非常顺利,C,E两题没做出来,E题明显的快速幂,我也知道是longlong溢出了,就是没能解决,其实就是先将n%mod再去算乘方,就少了一小行代码啊有木 ...
- 次短路问题(陕西师范大学第九届ACM程序设计竞赛-F 新冠病毒要回家)
求到顶点v的次短路时,有两种情况,要么是到其他某个顶点u的最短路再加上u->v的边,要么是到某个顶点u的次短路再加上u->v的边. 一般我们用Dijkstra求得最短路(无负权边),由此我 ...
- E-捡贝壳 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)
E-捡贝壳 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛) 小明来到一片海滩上,他很喜欢捡贝壳,但他只喜欢质量为x的倍数的贝壳. 贝壳被排列成一条直线,下标从1到n编号,小明打算从编号 ...
- 2020年广东工业大学第十届文远知行杯新生程序设计竞赛(同步赛)G.排解忧伤
2020年广东工业大学第十届文远知行杯新生程序设计竞赛(同步赛)G.排解忧伤 题目链接 题目描述 猪猪参加小米赞助的icpc比赛之后惨遭打铁,为了排解忧伤,他开始观察嘉宾席. 嘉宾席是间隔为1,一字排 ...
最新文章
- 基于CENTOS7 Linux高可用集群LVS+Keepalived配置
- python 协程并发
- show line numbers
- SPOJ - VLATTICE
- 【RK PX30】 瑞芯微四核64位工业级芯片PX30 | 安卓核心板
- 大数据实效_全流程监督 让大数据督查取得实效
- LeetCode 396. 旋转函数(数学)
- Python编程各种推导式详解
- 微信自定义菜单扩容?
- centos 7安装zabbix 3.0
- python开根号函数图像_使用matplotlib / python的平方根刻度
- ip地址规划工具_ROS、Simulink、Carsim的互联与规划、控制算法的验证
- 串口隔离内外网的通信协议设计
- 不确定性原理的前世今生(转载)
- 阿里云的ECS服务器1M宽带等于多少入网kbps和出网kbps
- jsp_servle(3)
- OrCAD Capture CIS 17.2导入Altium Designer原理图
- python与其他的数据分析有什么区别_学好python和数据分析有什么关系?
- 大陆人往往认为要想混得好,必须认…
- 百度地图开发-检索功能