hdu 4944 FSF’s game(数论)

hdu 4944 FSF’s game(数论)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

题目链接:hdu 4944 FSF’s game

题目大意:给定N,能够用不大于N的长a和宽b。组成N(N1)2种不同的矩形,对于每一个矩形ab要计算它的值,K为矩形a,b能够拆分成若干个KK的正方形。abgcd(a/k,b/k),输出全部矩形值的和。

解题思路:如果有边a和b。那么k肯定即使a的因子也是b的因子。

定义f(n)为矩形最长边等于n的情况下全部矩形值的和。那么f(n)=val(1n)+val(2n)++val(nn),枚举n的因子作为k,如今如果有因子k,使得n=ka:
g(k)=1knk+2knk++aknk

=1n+2n++an

=(1+a)a2n

f(n)=g(k)(k为n的因子)
然后用类似素数筛选法的方式处理处f(i)的值。相应再累加即使答案。

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;
typedef unsigned long long ll;
const ll MOD = 1LL<<32;
const int maxn = 500000;

ll f[maxn+5], s[maxn+5];

void init () {
    memset(f, 0, sizeof(f));

    s[0] = f[1] = 0;
    for (int i = 1; i <= maxn; i++) {

        for (int k = 1; k * i <= maxn; k++) {
            f[k*i] += (1LL + k) * k / 2;
            f[k*i] %= MOD;
        }
        f[i] = f[i] * i % MOD;
    }

    for (ll i = 1; i <= maxn; i++)
        s[i] = (s[i-1] + f[i]) % MOD;
}

int main () {
    init();
    int cas, n;
    scanf("%d", &cas);
    for (int kcas = 1; kcas <= cas; kcas++) {
        scanf("%d", &n);
        printf("Case #%d: %I64u\n", kcas, s[n]);
        //printf("Case #%d: %lld\n", kcas, s[n]);
    }
    return 0;
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117711.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WinRAR去除广告

    WinRAR去除广告WinRAR5.40去除广告方法,屏蔽广告弹窗方法,亲测有效winrar5.50去广告教程(仅供学习使用)[Windows]自己动手winRAR去广告删代码

    2022年4月30日
    36
  • 黑盒测试用例设计 一[通俗易懂]

    黑盒测试用例设计 一[通俗易懂]简介: 总结黑盒测试用例的常用设计方法等价类划分一、方法简介1.定义把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例2.划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。等价类划分可有两种不同的情况:有效等价类和无效等价类。(1)有效等价类是指对于程序的规格说明来说是…

    2022年6月12日
    32
  • eclipse安装教程与使用教程「建议收藏」

    eclipse安装教程与使用教程「建议收藏」第一首先在电脑的浏览器中输入“eclipse官网”。 然后在网页中点击进入eclipse的官方下载网站。 2 第二然后再点击页面右边的“download”。 在弹出的页面下面点击“downloadpackages”。 3 第三然后在下面找到“eclipseIDEforjavadevelopers”的选项。 在选项右边有一个“3…

    2022年5月8日
    48
  • jdk16下载与安装教程win10(如何安装window7系统)

    在JDK1.8之后的下一个稳定版本就是JDK11,所以下面教大家安装JDK11

    2022年4月13日
    39
  • Android面试题之Service

    Android面试题之Service1.service是否在mainthread中执行,service里面是否能执行耗时的操作?默认情况,如果没有service所运行的进程,Service和Activity是运行在当前app所在进程中的mainthread里面service里面不能执行耗时的操作(网络请求,拷贝数据库,大文件)特殊情况,可以在清单文件中配置service所在的进程,让service在另外的进程中执行。

    2022年5月21日
    24
  • python编程100例_python进阶路线图

    python编程100例_python进阶路线图异常模块下面介绍python常用的异常模块AttributeError异常AttributeError试图访问一个类中不存在的成员(包括:成员变量、属性和成员方法)而引发的异常Attribut

    2022年7月28日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号