HDU 5685
一道求逆元的题目,先用O(n)的时间求出每个位置处的hash值,对于每个输入a和b. ans=hash(b)/hash(a-1);利用用扩展欧几里德,或是费马小定理,求逆元。
HDU 5428-The Factor
题意:给你N个数,让你求出这N个数最小的因子之积,但要满足一个条件,那就是这个乘积必须包含三个因子。
思路:这个乘积只需要所有数中不包含1的最小因子的乘积。既然要找出最小因子的乘积、那么可以用筛选法来求出他的所有因子、首先找到其中的一个因子,然后除尽,一直除到不能除为止。
POJ 1061-青蛙的约会
该题是扩展GCD的应用,即利用GCD的辗转相除法来解 一个二元一次 不定式,当然也是利用了回代的思想,对于一个不定方程肯定有N组解,
该题就是要找到一个满足方程的步数(其中的一个变量 x)的最小整数解,注意要用 long long int。
HDU 5698-瞬间移动
题意:只能往右下走,一次可以走很远。求从(1,1)走到(n,m)的步骤数
思路:枚举走的步数,假如为x,那么,对于行,我要从1通过x步走到n,对于列,我要从1通过x步走到m,这两个操作是独立的,所以可以相乘。
等价于,求从1到n通过x步的方案数,其实就是把n-1个一样的小球放到x个不一样的箱子中,箱子不能留空的方案数,转换为一个排列组合问题。
LightOJ 1370 Bi-shoe and Phi-shoe
题意:有n个x,然后你要求出n个数的和,这n个数对应的欧拉函数大于x。
思路:欧拉函数指的是n以内与n互质的所有数的个数。
我们知道欧拉函数有一个性质:素数p的欧拉函数值为p-1;
HDU 2710-Max Factor
题目大意:给出几个数,找出最大的素数因子,如果素数因子相同,则输出最小的那个数。
思路:素数筛选,注意:题目里面1是作为素数的。
HDU 5701-中位数统计
对于每个数字,比它大的记一个1,小的记一个-1,然后只要考虑左右相加为0的有多少即可,O(n^2)。
HDU 5656-CA Loves GCD