青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

coreBugZJ

此 blog 已棄。

Color,POJ 2154

Color
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 3175
Accepted: 1084

Description

Beads of N colors are connected together into a circular necklace of N beads (N<=1000000000). Your job is to calculate how many different kinds of the necklace can be produced. You should know that the necklace might not use up all the N colors, and the repetitions that are produced by rotation around the center of the circular necklace are all neglected.

You only need to output the answer module a given number P.

Input

The first line of the input is an integer X (X <= 3500) representing the number of test cases. The following X lines each contains two numbers N and P (1 <= N <= 1000000000, 1 <= P <= 30000), representing a test case.

Output

For each test case, output one line containing the answer.

Sample Input

5
1 30000
2 30000
3 30000
4 30000
5 30000

Sample Output

1
3
11
70
629

Source

POJ Monthly,Lou Tiancheng


Polya,只有旋轉,沒有反射,歐拉函數優化。


 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 #define  L  50000
 5 
 6 int nPrime, prime[ L ];
 7 
 8 void initPrime() {
 9         int i, j;
10         nPrime = 0;
11         memset( prime, 0sizeof(prime) );
12         for ( i = 2; i < L; ++i ) {
13                 if( prime[ i ] == 0 ) {
14                         prime[ nPrime++ ] = i;
15                         for ( j = i+i; j < L; j+=i ) {
16                                 prime[ j ] = 1;
17                         }
18                 }
19         }
20 }
21 
22 int phi( int n ) {
23         int i, ans = n;
24         for ( i = 0; (i<nPrime)&&(prime[i]*prime[i]<=n); ++i ) {
25                 if ( n % prime[ i ] == 0 ) {
26                         ans = ans / prime[ i ] * ( prime[ i ] - 1 );
27                         do {
28                                 n /= prime[ i ];
29                         } while ( n % prime[ i ] == 0 );
30                 }
31         }
32         if ( n != 1 ) {
33                 ans = ans / n * (n-1);
34         }
35         return ans;
36 }
37 
38 int power( int a, int b, int m ) {
39         int t = 0, ans = 1;
40         a %= m;
41         while ( (1<<t) < b ) {
42                 ++t;
43         }
44         while ( t >= 0 ) {
45                 ans = ( ans * ans ) % m;
46                 if ( (1<<t) & b ) {
47                         ans = ( ans * a ) % m;
48                 }
49                 --t;
50         }
51         return ans;
52 }
53 
54 int solve( int n, int p ) {
55         int i, ans = 0;
56         for ( i = 1; i*< n; ++i ) {
57                 if ( n % i == 0 ) {
58                         ans = ( ans + phi( i   ) % p * power( n, n/i-1, p ) ) % p;
59                         ans = ( ans + phi( n/i ) % p * power( n, i-1,   p ) ) % p;
60                 }
61         }
62         if ( i*== n ) {
63                 ans = ( ans + phi( i ) % p * power( n, i-1, p ) ) % p;
64         }
65         return ans;
66 }
67 
68 int main() {
69         int td, n, p;
70         initPrime();
71         scanf( "%d"&td );
72         while ( td-- > 0 ) {
73                 scanf( "%d%d"&n, &p );
74                 printf( "%d\n", solve( n, p ) );
75         }
76         return 0;
77 }
78 



posted on 2011-04-18 22:24 coreBugZJ 閱讀(401) 評論(0)  編輯 收藏 引用 所屬分類: ACM

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久亚洲精品一区二区三区 | 久久久久国产精品厨房| 性欧美videos另类喷潮| 亚洲第一在线综合网站| 亚洲精品国产系列| 国产精品福利久久久| 亚洲欧美日韩精品久久久久| 久久国产精品久久久| 在线亚洲+欧美+日本专区| aa级大片欧美三级| 永久域名在线精品| 一本色道久久综合狠狠躁篇的优点| 国产综合久久久久久| 亚洲日本电影在线| 国产在线观看91精品一区| 麻豆成人精品| 国产农村妇女毛片精品久久莱园子| 免费在线看一区| 国产精品欧美一区喷水| 欧美黄色aaaa| 欧美丰满高潮xxxx喷水动漫| 99国产精品视频免费观看| 欧美中文字幕在线观看| 亚洲午夜未删减在线观看| 久久久国产精品一区二区中文 | 久久精品国产亚洲一区二区| 久久综合国产精品| 欧美在线观看视频在线| 欧美国产欧美综合 | 久久夜色撩人精品| 国产精品视频免费观看www| 亚洲精品久久在线| 91久久久久| 在线亚洲精品| 一本一本久久a久久精品牛牛影视| 亚洲在线播放| 一区二区三区国产精品| 免费看成人av| 欧美成人一区二免费视频软件| 国产欧美一区二区在线观看| 中文有码久久| 亚洲一区视频| 免费欧美高清视频| 欧美有码在线视频| 国产精品久久久久久久久免费樱桃| 亚洲经典视频在线观看| 99国产精品久久久久久久| 欧美国产专区| 日韩西西人体444www| 日韩视频永久免费| 欧美国产专区| 99国产精品久久| 亚洲一区精彩视频| 国产精品久久久久久久7电影| 欧美gay视频| 亚洲国产高清视频| 欧美成人性生活| 亚洲国产精品va| 一级成人国产| 国产精品国产自产拍高清av| 在线午夜精品自拍| 欧美一级久久久久久久大片| 国产精品无码永久免费888| 亚洲欧美日韩精品久久久| 午夜在线a亚洲v天堂网2018| 国产亚洲精品久久久久久| 久久久久久久久久久久久久一区 | 亚洲一区日韩| 久久精品国产亚洲一区二区| 国产无一区二区| 久久香蕉国产线看观看网| 欧美国产亚洲精品久久久8v| 日韩一级网站| 国产精品一区二区a| 久久久亚洲人| 久久青草欧美一区二区三区| 国内精品99| 欧美国产日韩a欧美在线观看| 日韩视频永久免费观看| 久久久欧美一区二区| 亚洲日本无吗高清不卡| 国产精品一区二区三区免费观看| 久久久xxx| 欧美成人资源| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产一级久久| 欧美另类极品videosbest最新版本| 亚洲国产综合91精品麻豆| 午夜亚洲性色视频| 99re这里只有精品6| 国产精品多人| 免费中文日韩| 香蕉国产精品偷在线观看不卡| 欧美国产高清| 欧美一级二级三级蜜桃| 亚洲免费福利视频| 国内精品久久久久影院薰衣草| 欧美激情国产日韩| aa成人免费视频| 欧美成人一区二免费视频软件| 亚洲欧美激情四射在线日 | 99精品国产在热久久下载| 国产欧美日韩亚州综合| 欧美激情一区二区三区全黄 | 久久久亚洲一区| 午夜精品久久久久久| 99国产精品视频免费观看| 久久久久国色av免费观看性色| 亚洲视频第一页| 亚洲日本在线观看| 在线看成人片| 国产午夜精品一区二区三区欧美| 榴莲视频成人在线观看| 一区二区三区高清不卡| 亚洲欧洲免费视频| 欧美高清不卡在线| 久久综合网络一区二区| 久久久久久久性| 日韩视频永久免费| 91久久国产综合久久| 黄色影院成人| 国模私拍视频一区| 国产亚洲一区二区在线观看| 国产精品毛片a∨一区二区三区|国 | 亚洲精品1234| 亚洲精品一区二区三区婷婷月| 亚洲欧洲另类| 一区二区三区精密机械公司| 亚洲在线中文字幕| 久久激情一区| 你懂的成人av| 亚洲精品一区二区在线| 国产精品99久久不卡二区| 亚洲欧美一区二区在线观看| 欧美一站二站| 欧美a级一区二区| 欧美日韩国产影片| 国产精品一区二区你懂得| 精品盗摄一区二区三区| 日韩午夜激情av| 欧美一区二区三区婷婷月色| 久久亚裔精品欧美| 亚洲激情网站| 亚洲一区二区伦理| 久久精品一区二区国产| 欧美伦理在线观看| 国产偷久久久精品专区| 亚洲精品欧洲| 欧美一区综合| 亚洲国产一区二区三区a毛片| 亚洲午夜日本在线观看| 久久躁日日躁aaaaxxxx| 国产精品av一区二区| 亚洲国产精品成人久久综合一区| 在线视频欧美精品| 蜜桃伊人久久| 国产精品99久久久久久久久久久久| 久久国产成人| 国产精品va在线播放我和闺蜜| 在线精品一区| 久久国产手机看片| 999亚洲国产精| 免费亚洲一区二区| 国内精品福利| 午夜在线视频观看日韩17c| 亚洲国产精品一区制服丝袜| 久久国产欧美精品| 欧美日韩中文字幕日韩欧美| 在线精品高清中文字幕| 欧美在线啊v一区| 亚洲精品一区二区网址| 免费视频一区| 亚洲第一毛片| 久久在线观看视频| 亚洲欧美日韩一区在线观看| 欧美午夜精品久久久久久浪潮| 亚洲国产精品一区二区久| 久久久久国产精品午夜一区| 亚洲免费综合| 欧美小视频在线观看| 日韩视频一区二区三区在线播放| 可以免费看不卡的av网站| 亚洲一区二区三区视频| 国产精品二区在线| 亚洲午夜精品久久久久久浪潮| 亚洲国产成人av| 免费视频久久| 91久久在线| 亚洲国产精品久久人人爱蜜臀| 久久久另类综合| 禁断一区二区三区在线| 久久人人爽人人爽爽久久| 欧美在线视频网站| 国产亚洲一级高清| 久久天天躁夜夜躁狠狠躁2022| 欧美亚洲日本一区| 国产视频久久久久| 久久久夜精品| 久久青青草原一区二区| 亚洲国产成人91精品|