摘要:
题目链接:http://codeforces.com/problemset/problem/584/A 题目的大致题意就是: 求一个n位数,这个n位数可以被t整除 这题其实是个非常水的题目,但是我的思想出错了: 我的想法是: 因为是n位数,那么我从10^(n-1) -> 10^(n) 开始遍历,如果 阅读全文
摘要:
题目链接:http://codeforces.com/problemset/problem/82/A 这道题一开始我拿到的时候,第一反应就是这道题是一道找规律的模拟题 但是我进入了一个误区:那就是我在想:如果是使某一人拿到可乐的n之间存在某种特殊的联系 然后我就进入这个坑里面再也出不来了 后来在网上 阅读全文
摘要:
首先先看一道很简单的并查集的题目:https://vjudge.net/contest/297398#problem/A 这道题就是让你判断两两城镇之间是否联通 如果不联通就要修建一条道路 就我的理解来说,如果单独使用并查集就是为了合并有相同根结点(或者理解成有相同的性质)的这样的数据 这里我们引入 阅读全文
摘要:
数论倒数,又称逆元 先讲求余的概念: (a + b) % p = (a % p + b % p) % p (对) (a - b) % p = (a % p - b % p) % p (对) (a * b) % p = (a % p * b % p) % p (对) (a / b) % p = (a 阅读全文
摘要:
扩展欧几里得extgcd算法 首先, ax+by = gcd(a, b) 这个公式肯定有解 所以 ax+by = gcd(a, b) * k 也肯定有解 所以,这个公式我们写作ax+by = d,(gcd(a, b) | d) gcd(a, b) | d,表示d能整除gcd,这个符号在数学上经常见 阅读全文
摘要:
gcd(a,b) 就是求a,b的最大公约数 lcm(a,b) 就是求a,b的最小公倍数 这里讲一个公式: a*b=gcd(a,b)*lcm(a,b) 通过这个公式,我们就可以根据gcd从而求出lcm 至于求gcd的算法 初中就已经介绍过了辗转相除法 也可以用递归的写法 那么 我们就可以求得 lcm 阅读全文
摘要:
在ACM的比赛中,我们经常会遇到指数型的数据的取模问题。 如果我们直接对数据进行取模,由于题目所给的数据的范围很大,会导致爆int 或者 long long 所以我们要采取快速幂取模 先看一组例子: 2*2*2*2*2*2*2*2*2*2*2 我们可以这样去算 原式=4*4*4*4*4*2 =8*8 阅读全文
摘要:
素数又叫做质数,即除了1和其本身之外,不存在其他的因数。 最简单的一个判断是不是素数的方法,就是从2开始一直到该数-1 如果中途出现了一个数i 可以被该数整除,那么就说明这个数不是素数 程序也很简单只需要一个for循环就可以实现 bool prime(int x) { if (x <= 1) ret 阅读全文