luogu 1587 [NOI2016]循环之美】的更多相关文章

LINK:NOI2016循环之美 这道题是 给出n m k 求出\(1\leq i\leq n,1\leq j\leq m\) \(\frac{i}{j}\)在k进制下是一个纯循环的. 由于数值相同的分数不能记录 所以 \((i,j)==1\) 对于是一个纯循环的数我们先从最熟悉的10进制下说起. 可以发现\(\frac{1}{7},\frac{1}{13}\)等等都是纯循环的 而\(\frac{1}{6},\frac{1}{4}\)等等非纯循环. 于是可以发现 当j和10互质的时候此时是纯循环…
传送门 首先要知道什么样的数才是"纯循环数".打表可以发现,这样的数当且仅当分母和\(k\)互质,这是因为,首先考虑除法过程,每次先给当前余数\(*k\),然后对分母做带余除法,那么出现循环就要使的某一次除完后的余数在前面出现过.并且有欧拉定理\(a^{\varphi(n)}\equiv 1 (\mod n)(\gcd(a,n)=1)\),这样可以使得在计算小数点后一位时的余数在若干次后再次出现 然后要使得数值不同,所以其实要求的是这个东西\[\sum_{i=1}^{n}\sum_{j…
[UOJ#221][BZOJ4652][Noi2016]循环之美 试题描述 牛牛是一个热爱算法设计的高中生.在他设计的算法中,常常会使用带小数的数进行计算.牛牛认为,如果在 k 进制下,一个数的小数部分是纯循环的,那么它就是美的.现在,牛牛想知道:对于已知的十进制数 n 和 m,在 k 进制下,有多少个数值上互不相等的纯循环小数,可以用分数 x/y 表示,其中 1≤x≤n,1≤y≤m,且 x,y是整数.一个数是纯循环的,当且仅当其可以写成以下形式:a.c1˙c2c3…cp-1cp˙其中,a 是一…
Description 牛牛是一个热爱算法设计的高中生.在他设计的算法中,常常会使用带小数的数进行计算.牛牛认为,如果在k进制下,一个数的小数部分是纯循环的,那么它就是美的.现在,牛牛想知道:对于已知的十进制数n和m,在k进制下,有多少个数值上互不相等的纯循环小数,可以用分数 xy 表示,其中 1≤x≤n,1≤y≤m,且 x,y是整数.一个数是纯循环的,当且仅当其可以写成以下形式:a.c1˙c2c3…cp-1cp˙其中,a 是一个整数,p≥1:对于 1≤i≤p,ci是 kk 进制下的一位数字.例…
Description 牛牛是一个热爱算法设计的高中生.在他设计的算法中,常常会使用带小数的数进行计算.牛牛认为,如果在 k  进制下,一个数的小数部分是纯循环的,那么它就是美的.现在,牛牛想知道:对于已知的十进制数 n 和 m,在  kk 进制下,有多少个数值上互不相等的纯循环小数,可以用分数 xy 表示,其中 1≤x≤n,1≤y≤m,且 x,y是整数 .一个数是纯循环的,当且仅当其可以写成以下形式:a.c1˙c2c3…cp-1cp˙其中,a 是一个整数,p≥1:对于 1 ≤i≤p,ci是 k…
Description 牛牛是一个热爱算法设计的高中生.在他设计的算法中,常常会使用带小数的数进行计算.牛牛认为,如果在 k  进制下,一个数的小数部分是纯循环的,那么它就是美的.现在,牛牛想知道:对于已知的十进制数 n 和 m,在  kk 进制下,有多少个数值上互不相等的纯循环小数,可以用分数 xy 表示,其中 1≤x≤n,1≤y≤m,且 x,y是整数 .一个数是纯循环的,当且仅当其可以写成以下形式:a.c1˙c2c3…cp-1cp˙其中,a 是一个整数,p≥1:对于 1 ≤i≤p,ci是 k…
题目链接 BZOJ 题解 orz 此题太优美了 我们令\(\frac{x}{y}\)为最简分数,则\(x \perp y\)即,\(gcd(x,y) = 1\) 先不管\(k\)进制,我们知道\(10\)进制下如果\(\frac{x}{y}\)是纯循环的,只要\(2 \perp y\)且\(5 \perp y\) 可以猜想在\(k\)进制下同样成立 证明: 若\(\frac{x}{y}\)为纯循环小数,设其循环节长度为\(l\),那么一定满足 \[\{ \frac{xk^{l}}{y} \} =…
传送门 不会,先坑着 https://kelin.blog.luogu.org/solution-p1587 //minamoto #include<cstdio> #include<cmath> #include<algorithm> using namespace std; ,E=2e6+; typedef int arr[N];typedef long long ll; struct Am{int nx,x,w;}e1[E]; struct Ans{int nx,…
知识点:莫比乌斯反演 积性函数 杜教筛 废话前言: 我是古明地恋,写这篇题解的人已经被我 请各位读者自行无视搞事的恋恋带有删除线的内容,谢谢茄子. 这道题目本身并不难,但是公式推导/代码过程中具有迷惑性的内容比较多,因此,像我这种什么都不会还眼瞎的马上就该退役回归文化课的辣鸡废柴蒟蒻/kel/kel/kk就会在debug上浪费无谓地消耗大量时间. 因此,在平时写代码时,养成良好的代码习惯(比如:确定常用的变量名,不轻易修改:即使是十分熟悉的函数,也认真写完每一行等)是非常重要的.考试时省下的10…
因为要求数值不同,不妨设gcd(x,y)=1.由提示可以知道,x/y是纯循环小数的充要条件是x·klen=x(mod y).因为x和y互质,两边同除x,得klen=1(mod y).那么当且仅当k和y互质,存在len使该式成立. 于是现在要求的就是 k是固定的,先不管后面一部分.套路地化式子: 设f(i)=[i⊥k].注意到k很小,并且显然有gcd(j,k)=gcd(j%k,k).于是O(k)的预处理出f的前缀和. 那么几乎已经做到线性了,能拿到84分,感觉非常棒. 然而要A掉还需要低于线性的做…