NOIP模拟(10.24)T3 Math
来源:互联网 发布:雅尔塔体系 知乎 编辑:程序博客网 时间:2024/05/29 15:24
Math
题目背景:
10.24 NOIP模拟T3
分析:结论 + 分析
这题还是比较妙的感觉上,首先a,b如果满足条件那么a,b的奇偶性一定相同。那么我们来分情况讨论下。
1、a, b为奇数
a2 = b2 = 1(mod 8) à ab = ba = a = b (mod 8)
a4 = b4 = 1(mod 16) à ab = ba = a(b % 4) = b(a % 4)(mod16)
因为a % 8 == b % 8那么a % 4 == b % 4, 因为b % 4为奇数,那么令a % 4 = 2 * k +1, 那么a2 * k + 1 = b2 * k + 1 (mod16),因为我们可以知道两个数的奇数次方的差值都可以分解为(a - b) * (a2 * k + a2 * k - 1 * b + a2 *k - 2 * b2 + … + b2 * k),后面的每一项都是一定是奇数(底数为奇数,指数和为奇数)一共有奇数项,所以后面一定为奇数,然后因为上式(mod 16)应该为0,那么(a - b) = 0 (mod 16) à a = b (mod 16)。
那么以此类推可以知道,a = b(mod 2n)所以只存在唯一解b = a % 2n;
2、a, b为偶数
显然当b >= n时,ab = 0 (mod 2n),那么ba = 0 (mod2n)那么,我们令b = 2k * c, 那么ba = 2ka * ca, 显然,ca 为奇数与2n 互质,所以2ka =0 (mod 2n)那么,ka >= n, 那么k >= n / a所以b至少需要时2k的倍数,k为满足k * a >= n的最小的自然数,那么b >= n的贡献就非常好求啦,然后对于b < n的部分,看到没n <= 30,暴力即可······
Source:
/*created by scarlyw*/#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <cmath>#include <algorithm>#include <cctype>#include <set>#include <map>#include <vector>#include <queue>int mod, a, n, t;inline int ksm(int a, int b) {int ans = 1;for (; b; b >>= 1, a = (long long)a * (long long)a % mod)if (b & 1) ans = (long long)ans * (long long)a % mod;return ans;} inline void solve() {scanf("%d%d", &a, &n), mod = (1 << n);if (a & 1) std::cout << "1\n";else {int temp = n / a;if (temp * a < n) temp++;int ans = mod / (1 << temp) - n / (1 << temp);for (int i = 1; i <= n; ++i)if (ksm(a, i) == ksm(i, a)) ans++;std::cout << ans << '\n';}} int main() {scanf("%d", &t);while (t--) solve();return 0;}
- NOIP模拟(10.24)T3 Math
- 【NOIP模拟】 (10.24) T3 math
- 【NOIP 模拟题】[T3] 约会(lca)
- NOIP模拟(10.19)T3 放盒子
- NOIP模拟(10.20)T3 裁剪表格
- NOIP模拟(20171023)T3 拆网线
- NOIP模拟(10.22)T3 树
- NOIP模拟(10.23)T3 拆网线
- NOIP模拟(20171024)T3 数学
- NOIP模拟(20171026)T3 大逃杀
- NOIP模拟(10.26)T3 大逃杀
- NOIP模拟(10.27)T3 心灵治愈
- NOIP模拟(10.30)T3 星星
- NOIP模拟(10.31)T3 纸带
- NOIP模拟(20171030)T3 星星
- NOIP模拟(11.07)T3 图
- NOIP模拟(20171031)T3 纸带
- noip模拟11.3 T3
- Eclipse编码方式
- mmap映射详解
- 数据抓取分析(python + mongodb)Python数据抓取分析
- Win10下虚拟机VmwareWorkstation12安装CentOS7系统64位ip设置
- 对象结构型模式——组合模式(Composite Pattern)
- NOIP模拟(10.24)T3 Math
- 安卓--黑域
- OkHttpUtils
- lua 中的#和table.getn
- Android学习资源
- IDEA隐藏.iml等自动生成文件
- ios CocoaPods 的使用教程
- 线段树区间/杂谈
- [Object-C]_[初级]_[object类的对象和属性@property]