3292专题

HDU 3292 No more tricks, Mr Nanguo(佩尔方程,矩阵快速幂)

题目: LINK 题意可以理解为: y^2 - n*x^2 == 1 已知n,求(x, y)的第k小的解. 这个式子可以用佩尔方程定理来解,可以把用到的前29个最小的解先打表。至于求第k小解,k比较大,可以用矩阵快速幂来做。 #include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include

poj-3292-Semi-prime H-numbers

题意: 对于4*n+1(n为自然数)组成的集合,乘法在该集合中是封闭的。现规定h-prime是这个集合的数字中只有1和本身能整除的数(不含1)。其余为h合数。从h合数中划分出一部分数字,这些数是由两个h素数相乘得到的,称之为h-semi。现要求在指定1~n范围内有多少个h-semi。 做法: 先求出h-prime(类似于筛选法求素数)。 再把所有的h-prime俩俩相乘得出来的数即为h-