摘要: A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; int read() { int 阅读全文
posted @ 2018-09-16 22:39 Gloid 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 显然1的位置确定了整个矩阵,每一段连续的数即是对该位置的限制。化一下式子可以发现是一段区间或一段区间的补集,最后要求的是他们的交。看起来不太好求,于是转为求补集的并,那么排个序就完了。 阅读全文
posted @ 2018-09-16 18:33 Gloid 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 11……1(n个)=99……9(n个)/9=(10n-1)/9。 那么显然就是求离散对数了,BSGS即可。 阅读全文
posted @ 2018-09-16 17:12 Gloid 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 由于n!是m!的倍数,而对于每个与m!互质且小于m!的数x,x+m!、x+2*m!……也与其互质,所以答案即为(n!/m!)*φ(m!)。 φ(m!)=m!*∏(1-1/pi)。其中的pi即为1~m中所有质数。那么这个前缀积就可以预处理了。 当n、m大于p的时候是可能有问题的,数据里没有就懒得讨论了 阅读全文
posted @ 2018-09-16 16:14 Gloid 阅读(116) 评论(0) 推荐(0) 编辑