poj 1091 跳骚


 1 /**
2 题意: 求对于小于m的n个数, 求x1*a1 + x2*a2+x3*a3........+xn*an = 1
3 即求 a1,a2,a3,。。。。an 的最大公约数为1 , a1,a2....an 可重复
4 原理 : 容斥原理 所有的 排序即 m^n ——不符合的情况 ,即为所求
5 不符合的情况: 就是 这n个数有最大公约数 不是1, 即这n个数是m 的素因子的组合。。
6 一共有 m^n张卡片,如果减去其中含有公约数的卡片剩下的就是所求的结果
7 举个例子 n=2, m=360; 360=2^3*3^2*5
8 案 = (m ^ n) - (有公因数2的n元组)- (有公因数3的n元组)- (有公因数5的n元组)+ (有公因数2,3的n元组) +(有公因数2,5的n元组) + (有公因数3,5的n元组)- (有公因数2,3,5的n元组)。
9 特殊之处: m^n - (m/2)^n-(m/3)^n........+ (m/2*3)^n+ (m/2*5)^n......-(m/2*3*5)^n
10 -------> m^n(1-1/2^n)(1-1/3^n)(1-1/5^n)......
11 好像是叫扩展欧拉函数
12
13 **/
14 #include <iostream>
15 #include <algorithm>
16 #include <cstdio>
17 using namespace std;
18
19 long long pow(long long a,long long b){
20 long long c =1;
21 while(b){
22 if(b&1)
23 c = c*a;
24 a =a*a;
25 b>>=1;
26 }
27 return c;
28 }
29
30 long long res(long long n,long long m){
31 long long sm = pow(m,n);
32 long long ans = m;
33 long long temp ;
34 for(int i=2;i*i<=ans;i++)if(m%i==0){
35 temp = pow(i,n);
36 sm = sm/temp*(temp-1);
37 while(m%i==0) m /= i;
38 }
39 if(m>1){
40 temp = pow(m,n);
41 sm = sm/temp*(temp-1);
42 }
43 return sm;
44
45 }
46 int main()
47 {
48 long long n,m;
49 cin>>n>>m;
50 long long s = res(n,m);
51 cout<<s<<endl;
52 return 0;
53 }

poj 1091 跳骚

时间: 2024-11-06 19:00:37

poj 1091 跳骚的相关文章

ACM之跳骚---ShinePans

Description Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正中央.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+1个自然数.其中最后一个是M,而前N个数都不超过M,卡片上允许有相同的数字.跳蚤每次可以从卡片上任意选择一个自然数S,然后向左,或向右跳S个单位长度.而他最终的任务是跳到距离他左边一个单位长度的地方,并捡起位于那里的礼物. 比如当N=2,M=18时,持有卡片(10, 15, 18)的跳蚤,就可以完成任务

POJ 1091 跳蚤(分解质因数 + 容斥 + 大数)

跳蚤 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 8910   Accepted: 2676 Description Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正中央.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+1个自然数.其中最后一个是M,而前N个数都不超过M,卡片上允许有相同的数字.跳蚤每次可以从卡片上任意选择一个自然数S,然后向左,或向

POJ 1091 容斥原理

链接: http://poj.org/problem?id=1091 题意: 给你两个正整数n,m,让你求长度为n+1的满足条件的一个等式:a[1]*x1+a[2]*x2+a[3]*x3+...+a[n]*xn+a[n+1]*x(n+1)=1 (0<=a[i]<=m&&a[n+1]=m) 让你求一共有多少种情况满足这个条件. 要使得 a[1]*x1+a[2]*x2+a[3]*x3+...+a[n]*xn+a[n+1]*m=1 (0<=a[i]<=m),那么a[1],

poj 1091 解多元不定方程

跳蚤 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9225   Accepted: 2762 Description Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正中央.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+1个自然数.其中最后一个是M,而前N个数都不超过M,卡片上允许有相同的数字.跳蚤每次可以从卡片上任意选择一个自然数S,然后向左,或向

POJ 1091 跳蚤

   Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9914   Accepted: 3032 Description Z 城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正中央.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤 发一张卡片.卡片上写有N+1个自然数.其中最后一个是M,而前N个数都不超过M,卡片上允许有相同的数字.跳蚤每次可以从卡片上任意选择一个自然数S, 然后向左

POJ 1091

这题确实是好. 其实是求x1*a1+x2*a2+....M*xn+1=1有解的条件.很明显,就是(a1,a2,...M)=1了.然后,可以想象,直接求有多少种,很难,所以,求出选择哪些数一起会不与M互质...好吧,思路就到这里了...T_T 经过人提示,若(a1,a2,,,,an)与M不互质,则最大公约数中必定包含M中的质数.啊,愰然大悟,这不是显而易见的吗?为什么我想不到? 所以,先求出M包含哪些质数,那么,选出其中一些包含该质数的数组成数列不就好了?这很容易就能想到容斥原理了,因为选出一些数

电子商务知识精华,屌丝完美逆袭!(转)

电子商务知识精华,屌丝完美逆袭! 何为电子商务? 电子商务源于英文ELECTRONIC COMMERCE,简写为EC.顾名思义,其内容包含两方面,一是电子方式,二是商贸活动.指商务活动的电子化.网络化,通过Internet的技术或各种商务网络平台,完成商务交易,获得产品和服务. 1)        优点:品种齐全,种类繁多,一站购物,电子支付,市场全球化,全天候服务,成本低廉化(营销.店铺大小,地理位置.生产商直销等),减少人力物力,网络代购(国外独有品牌.国外价格优势.新鲜好玩),价格比较,网

ACM 容斥原理

VJ 点击打开链接 参考 点击打开链接 非常好的译文:点击打开链接 容斥原理的想法就是求多个集合的并集.所以要先设计好集合. 组合数学问题中,正面解决会困难,常用方法是正难则反,使用容斥原理求反向在用全集减去.将对立面的限制条件分析清楚. eg 求区间互质的数的个数,则用除法等计算出一个数的倍数的方法再减去. UVa 11806 Cheerleaders 求k个石子放在n*m的矩阵里 并且第一行 最后一行 第一列 最后一列都要有石子 考虑反面 求出所有的 减去不满足的情况 容斥原理总共4个 集合

脑电波技术的前途光明吗?

自从人类知道身体的控制中枢是大脑而非心脏之后,相关的科学研究就方兴未艾.风靡全球了,但因人类大脑过于复杂,有关脑电波的研究连绵了大约60年,也没能取得突破性进展,就更不要提什么重要应用了. 在全部的研究成果中,最具审美性的只是几本不错的科幻小说和电影,比如由黑寡妇斯嘉丽主演的电影<超体>,她充分阐释人类大脑的强大,现在社会中之所以还有那么多二逼,最根本的原因在于过低的利用率,事实上,强悍如爱因斯坦的大脑开发程度也不到10%,至于马克思.孔子之类圣人可能就更低了.大脑利用率的理论还能解释我们与外