洛谷P2613有理数取余】的更多相关文章

传送门 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #define re register using namespace std; const int mod = 19260817; inline long long read() { char ch = getchar(); long long f…
原题链接 https://www.luogu.org/problemnew/show/P2613 在这里虽然是讲洛谷的题解,但用到的数论知识,归并到数论里也不为过! 进入正题: 首先看到题面:给出一个有理数c=a/b,求c mod 19260817的值. 看一下数据范围 我滴天!!!又要写高精???GG无疑!!! 咦,既然要取余,还做乘法运算,那只要写个快读在读入时取膜不就好啦,这样就爆不了long long 了. 有理数求余???搞笑呢,不是只有整数求余嘛? 我们知道有理数包含整数和分数,那么…
P2613 [模板]有理数取余 题目描述 给出一个有理数c=\frac{a}{b}c=ba​,求c\ \bmod 19260817c mod19260817的值. 输入输出格式 输入格式: 一共两行. 第一行,一个整数aa.第二行,一个整数bb. 输出格式: 一个整数,代表求余后的结果.如果无解,输出Angry! 输入输出样例 输入样例#1: 复制 233 666 输出样例#1: 复制 18595654 说明 对于所有数据,0\leq a,b \leq 10^{10001}0≤a,b≤10100…
P2613 [模板]有理数取余 读入优化预处理 $\frac {a}{b}\mod 19620817$ 也就是$a\times b^{-1}$ $a\times b^{-1}\mod 19620817=a\times b^{19620815}\mod 19620817$ 除法转化为了乘法,同余的性质... 求一个逆元即可,根据费马小定理,由于$19620817$是一个质数 #include<bits/stdc++.h> #define LL long long using namespace…
题目 P2613 [模板]有理数取余 解析 简单的数论题 发现并没有对小数取余这一说,所以我们把原式化一下, \[(c=\frac{a}{b})\equiv a\times b^{-1}(mod\ p)\] 因为\(p\)是质数,所以我们根据费马小定理\(b^{p-1}\equiv 1(mod p)\), 有\(a\times b^{-1}\times 1 \equiv c(mod\ p)\), \(=>a\times b^{-1}\times b^{p-1} \equiv c(mod\ p)\…
题目链接 我们先看这个式子: $c=\dfrac{a}{b}$ $ $ $ $ $mod$ $ $ $ $ $19260817$ 某正常高中生:这$……$ --- 对于这个 $c$ . 显然,它很可能是小数. 那么, $double$ 的取余你老师讲过么$?!!!$ 所以,我们要~~化简~~魔改一下这个式子. --- $$c=\dfrac{a}{b}=a*b^{-1}$$ 又因为是 $mod$ $ $ $p=19260817$ 的意义下的计算. 所以,现在就有了一种化小数为整数的方法:  乘法逆…
题目链接:https://www.luogu.org/problemnew/show/P1247 题意:nim取石子的题意,多了一个判断先手赢的话,输出先手第一把怎么拿,以及拿完之后每堆还剩多少. 题解:异或和为0直接lose.不为0的话,看res xor a[i]的值如果小于a[i]说明可以取该堆,也就是取a[i] - (res xor a[i])这么多.剩余的就是res xor a[i]. 证明..洛谷题解的大佬写的挺好的..QAQ 代码: #include <iostream> #inc…
题面 题目描述 给出一个有理数 c=\frac{a}{b}  ​ ,求  c mod19260817  的值. 输入输出格式 输入格式: 一共两行. 第一行,一个整数 \( a \) .第二行,一个整数 \( b \) . 输出格式: 一个整数,代表求余后的结果.如果无解,输出Angry! 说明 对于所有数据,\(  0\leq a,b \leq 10^{10001},0≤a,b≤1010001 \) 很平常的一道膜板题,求解除法取模需要利用乘法逆元的知识 直接扩展欧几里得算法求解逆元 至于数据…
题目大意:给你$a,b(a,b\leqslant10^{10001})$,求出$\dfrac a b\equiv1\pmod{19260817}$,无解输出 Angry! 题解:在读入的时候取模,若$b=0$输出无解,否则正常的求逆就行了 卡点:无 C++ Code: #include <cstdio> #include <cctype> const long long mod = 19260817; long long a, b; inline long long read()…
题目 \(c\)等于一个分数,求他的余数,分数是不能直接模的,除以一个数等于乘上这个数的逆元. 所以此题就是求一个逆元,费马小定理求逆元是很方便的,一个快速幂就解决了. 还要注意因为\(a,b\)的值都很大,在读入的时候需要取模 但是这样只能拿到\(90\)分,最后一个点过不了,什么原因?我们还没有判断这个\(b\)是否有逆元,判断这个数是否有逆元的方法,也不难,只需判断\(gcd(b, mod)\)是否为\(1\)即可. 话说我自己写过博客的我都忘了,做题的时候回来看的\(233\) 貌似博客…