杭州网络预赛1004 Deciphering Password
2008-11-30 00:08
316 查看
真糟糕,被%耍了一晚
多写两个就超时了……真不应该到现在才来把这题干掉
#include <iostream>
using namespace std;
#define MAXN 1001
__int64 a,b;
int prim[MAXN],pcnt;
bool is_prim[MAXN];
void prepare(){
memset(is_prim,true,sizeof(is_prim));
pcnt=0;
__int64 i,j;
for(i=2;i<MAXN;i++){
if(is_prim[i]){
for(j=i;i*j<MAXN;j++)
is_prim[i*j]=false;
prim[pcnt++]=i;
}
}
}
int main(){
__int64 i,j,k,ans,tt,T=1;
prepare();
while(scanf("%d%d",&a,&b)!=EOF){
ans=1;
b%=10007;//( j * b + 1) %10007 = ( j % 10007 * b % 10007 % 10007 + 1 ) % 10007
for(i=0;i<pcnt && prim[i]*prim[i]<=a && a!=1;i++){
for(j=0;a%prim[i]==0;j++)
a/=prim[i];
tt=(j*b+1)*(j*b+2)/2%10007;//立方和公式
tt*=tt;
ans=ans*tt%10007;
}
if(a!=1){
tt=(b+1)*(b+2)/2%10007;
tt*=tt;
ans=ans*tt%10007;
}
printf("Case %I64d: %I64d\n",T++,ans);
}
return 0;
}
请见:积性函数
多写两个就超时了……真不应该到现在才来把这题干掉
#include <iostream>
using namespace std;
#define MAXN 1001
__int64 a,b;
int prim[MAXN],pcnt;
bool is_prim[MAXN];
void prepare(){
memset(is_prim,true,sizeof(is_prim));
pcnt=0;
__int64 i,j;
for(i=2;i<MAXN;i++){
if(is_prim[i]){
for(j=i;i*j<MAXN;j++)
is_prim[i*j]=false;
prim[pcnt++]=i;
}
}
}
int main(){
__int64 i,j,k,ans,tt,T=1;
prepare();
while(scanf("%d%d",&a,&b)!=EOF){
ans=1;
b%=10007;//( j * b + 1) %10007 = ( j % 10007 * b % 10007 % 10007 + 1 ) % 10007
for(i=0;i<pcnt && prim[i]*prim[i]<=a && a!=1;i++){
for(j=0;a%prim[i]==0;j++)
a/=prim[i];
tt=(j*b+1)*(j*b+2)/2%10007;//立方和公式
tt*=tt;
ans=ans*tt%10007;
}
if(a!=1){
tt=(b+1)*(b+2)/2%10007;
tt*=tt;
ans=ans*tt%10007;
}
printf("Case %I64d: %I64d\n",T++,ans);
}
return 0;
}
请见:积性函数
相关文章推荐
- 2013杭州网络预选赛 1004 Save Labman No.004 求异面直线之间距离
- HDU 4741 Save Labman No.004 (2013杭州网络赛1004题,求三维空间异面直线的距离及最近点)
- 2013杭州网络预选赛 1004 Save Labman No.004 求异面直线之间距离
- 【Author : DS & MZ】 2012 ACM-ICPC 杭州网络预赛
- 2013杭州网络预选赛 1004 Save Labman No.004 求异面直线之间距离
- 2010杭州赛区网络预赛 1006 Fate Stay Night (DP)
- 2010杭州赛区网络预赛 1007 Tetris(DFS)
- 2016中国大学生程序设计竞赛 - 网络选拔赛 1004 Danganronpa
- 2016ACM-ICPC沈阳网络预选赛1004 Mathematician QSC
- HDU - 6197 array array array (2017 ACM-ICPC 亚洲区 (沈阳赛区) 网络赛 1004)
- 武大网络预赛 Problem 1545 - I - Twenty-four
- ACM-ICPC 2018 南京赛区网络预赛 E题
- 【ACM-ICPC 2018 沈阳赛区网络预赛 K】Supreme Number
- ACM-ICPC 2018 焦作赛区网络预赛 I题 Save the Room
- ACM学习历程—NPU 2015年陕西省程序设计竞赛网络预赛(正式赛)A题 小女警的异世界之战(dfs && 分治)
- NOJ 2015年陕西省程序设计竞赛网络预赛(正式赛)(忙碌的选课系统-拓扑排序注意重边)
- hdu 4738 Caocao's Bridges(2013杭州网络赛丶神坑)
- HDU 4738 Caocao's Bridges (2013杭州网络赛1001题,连通图,求桥)
- hdu 4738 Caocao's Bridges 2013 ACM-ICPC杭州赛区网络赛 1001 双连通分量
- 2013杭州网络赛D题HDU 4741(计算几何 解三元一次方程组)