• 数学入门题——《算法竞赛入门经典-训练指南》


    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=94017#overview

    代码链接:https://github.com/YvetteYue/ACM/tree/master/math%E5%85%A5%E9%97%A8

    A题:UVA11388 GCD LCM

    这道题求得是已知GCD和LCM 求最小的a情况下的a和b

    很明显,最小的a就是GCD

    B题:UVA11889 Benefit

    LCM(a,b)=c已知a和c求最小的b
    解题方法:如果c%a!=0那么没有b
    否则:计算c/a与a的做大公约数,不断让a/gcd然后求公约数,
    直到gcd=1时说明找到了a和b的gcd使得上等式成立。

    C题:UVA10943 How do you add?

    题意:数a分成n个数相加,总共可以有几种算式?
    利用组合数学的知识可知:答案为C(a+n-1,n-1);
    这道题等价于n个相同的球放入m个不同的盒子中,且盒子可以为空。
    因为数据范围很小,所以直接打表

    D题:UAV10780 Again Prime? No Time.

    题意:求n!%m^k=0中的最大k值。

    很明显,这道题的思路应该是将m因式分解然后判断,里面有多少个该质因子。

    难点在于如何判断该质因子在n!中的个数!思路是:n/i+n/i*i+n/(i*i*i)....利用这个不断判断出n!里面有多少个是该质因子数。知道n/(i*i*...)=0为止

     注意:易错点:不要加while(scanf("%d",&n)!=EOF)

     E题:UVA10892 The Super Powers

    题意:LCM(a,b)=n,已知n,求(a,b)对数。

    解题方法:1.将n因式分解,将所以将n=p1^r1*p2^r2*...*pn^rn形式

         2.a和b分别为与上算式类似,只是指数不同,但是ri=max{ai,bi}就是ri就是n的质因子数的幂

         3.所以当ai取ri时,bi可以取0~ri-1,共ri种,类似bi取ri时,ri种,同时为ri时,1种,所以一共有ki=2*ri+1种。

         4.所以一共的可能为ans=k1*k2*k3*....*kn,但是要去除相同的种类,所以为(ans+1)/2等价为ans/2+1;

    F题:UVA11752 The Super Powers

    唉。。真心觉得越写越觉得自己笨,还数学入门题。。。

    题意:就是求1~2^64-1中有多少可以至少可以是两个不同的正整数的幂。

    解题方法:真心靠技巧啊!

        1.既然a^i=b^i=n,那么最大的幂次一定是合数,即可以拆分成两个数。

        2.因为数据氛围是1~2^64-1,所以幂次最大为64,因此只需要找到1~64中所有合数。

        3.幂是合数但是底不一定是素数,但是一定是素数的乘积。

     注意:要考虑合数的特点,就是相邻合数只差<=1.

  • 相关阅读:
    开源的Linux QQ
    如何从VS2003升级到VS2008
    LINQ在开发中的地位?
    SQL Server 2005 Analysis Services
    .NET framework源代码开放了
    WebForms和MVC这2个模型都很棒,由相关讨论想到的
    IIS 7.0相关文章收集
    探究基于声明的身份标识
    微软为“离线”做好准备:推出同步框架
    通用日志
  • 原文地址:https://www.cnblogs.com/Yvettey-me/p/4857959.html
Copyright © 2020-2023  润新知