
poj 初级
Simmu
这个作者很懒,什么都没留下…
展开
-
poj 2635
题目大意:给你一个数,已经确定是两个素数的乘积.问你,两个素数中有没有一个数小于给定的L,如果有,就输出"BAD "+这个数.没有则输出"GOOD".思路:1.首先由于给的数据很大.所以在判断上要用大数模的运算.将这个数以字符的形式存储.并将它转化成10w进制从个位开始.列如:123456789=[1234][56789]设选定的prime为e,将[1234]%e=r;判断([56789]原创 2013-03-06 11:16:01 · 457 阅读 · 0 评论 -
poj 2115
题意:在一个for循环中.求for(int i=a;i!=b;i+=c){i%=2^d}是否能停止;思路:设循环x次(a+c*x)%(2^d)=b;((a-b)+c*x)%(2^d)=0;(a-b)+c*x=(2^d)*(-y);c*x+(2*d)*y=(b-a);则转化为求模线性方程;详细请看第31章;若已知ax+by=n中的一个解x0;d=gcd(a原创 2013-03-06 12:05:13 · 473 阅读 · 0 评论 -
poj 1845
题目大意:给你两个数,A,B.求A^B的所有因子的和.思路:先用素数筛掉A.再将可以除以的素数的个数*B.就是A^B的所有基本素数因子及其个数.1.求其所有因子的和:(假如6^3)则prime[2]=1;prime[3]=1;共同乘以3,则prime[2]=3;prime[3]=3;其因子的和为(1+2^1+2^2+2^3)*(1+3^1+3^2+3^3);2.求等比数列的积:原创 2013-03-06 11:44:49 · 932 阅读 · 0 评论 -
poj 2031
题意:给你几个cell,求最小生成树(我直接把做法说出来了);每个cell是三维的,如果相交则视为距离为0;思路:先求出每个cell之间的距离;然后再prim算法;源代码:#include#include#include#include#define INF 0xfffffffusing namespace std;struct node{ dou原创 2013-03-06 16:20:50 · 633 阅读 · 0 评论