博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 4447 Yuanfang, What Do You Think?
阅读量:4971 次
发布时间:2019-06-12

本文共 1846 字,大约阅读时间需要 6 分钟。

思路:

这题有个结论也可以自己归纳:

对于给定的n,其约数用pi表示

T(n)=T(p1)T(p2)……T(pn)T(n')

其中T(n')是这个式子所独有的也就是

T(n')=(x^n-1)/T(p1)/T(p2)……/T(pn)

代码如下:

 

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #define MAX 1102 8 using namespace std; 9 struct pol 10 { 11 int bit[MAX],len; 12 void init(){memset(bit,0,sizeof(bit));len=1;} 13 }p[MAX]; 14 int ans[MAX]; 15 int com(pol a,pol b) 16 { 17 if(a.len!=b.len)return a.len-b.len; 18 for(int i=a.len-1;i>=0;i--) 19 if(a.bit[i]!=b.bit[i]){ 20 if(abs(a.bit[i])!=abs(b.bit[i])) 21 return abs(a.bit[i])-abs(b.bit[i]); 22 return a.bit[i]-b.bit[i]; 23 } 24 return 0; 25 } 26 bool cmp(int a,int b) 27 { 28 return com(p[a],p[b])<0; 29 } 30 void shows(int n) 31 { 32 if(n>1) printf("x^%d",n); 33 else if(n==1) printf("x"); 34 } 35 void show(pol a) 36 { 37 int x; 38 printf("("); 39 for(int i=a.len-1;i>=0;i--){ 40 if(a.bit[i]==0) continue; 41 if(i==0){ 42 if(a.bit[i]>0) printf("+%d",a.bit[i]); 43 else printf("%d",a.bit[i]); 44 continue; 45 } 46 if(i==a.len-1){ 47 if(a.bit[i]<0) printf("-"); 48 x=abs(a.bit[i]); 49 if(x>1) printf("%d",x); 50 shows(i); 51 continue; 52 } 53 if(a.bit[i]<0) printf("-"); 54 else printf("+"); 55 x=abs(a.bit[i]); 56 if(x>1) printf("%d",x); 57 shows(i); 58 } 59 printf(")"); 60 } 61 pol Div(pol a,pol b) 62 { 63 pol c; 64 c.init(); 65 for(int i=a.len-1;i>=0;i--) 66 if(a.bit[i]){ 67 c.bit[i-b.len+1]=a.bit[i]; 68 int cnt=0,cur=a.bit[i]; 69 for(int j=b.len-1;j>=0;j--){ 70 a.bit[i-cnt]-=cur*b.bit[j]; 71 cnt++; 72 } 73 } 74 c.len=a.len; 75 while(c.len>1&&c.bit[c.len-1]==0) c.len--; 76 return c; 77 } 78 int main(){ 79 p[1].bit[0]=-1; 80 p[1].bit[1]=1; 81 p[1].len=2; 82 for(int i=2;i
View Code

 

 

 

转载于:https://www.cnblogs.com/xin-hua/p/3287058.html

你可能感兴趣的文章
VC中使用ADO操作数据库的方法
查看>>
如何判断域名是否被微信拦截 被已经被微信封了的的域名网址如何在微信中正常打开...
查看>>
分布式锁的三种实现方式
查看>>
AJAX原生JS代码
查看>>
ThinkPHP提示错误
查看>>
poj 2109 pow函数也能这么用?p的开n次方
查看>>
Oracle database link
查看>>
清北学堂2017NOIP冬令营入学测试P4749 F’s problem(f)
查看>>
POJ 1840 Eqs HASH
查看>>
python调用shell小技巧
查看>>
TL431的几种常用用法
查看>>
BZOJ 1833: [ZJOI2010]count 数字计数( dp )
查看>>
关于toString()和String()要说几句话
查看>>
bzoj 3751[NOIP2014]解方程
查看>>
CSS(二) 文字样式属性,背景和列表
查看>>
js 经典闭包题目详解
查看>>
在项目中移除CocoaPods
查看>>
面试题三 替换空格
查看>>
LeetCode104.二叉树最大深度
查看>>
linux usb驱动——Gadget代码介绍
查看>>