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)
上一篇 2022年1月1日 下午4:00
下一篇 2022年1月1日 下午4:00


相关推荐

  • Json对象和Json字符串的区别

    Json对象和Json字符串的区别JSON 对象有时候在做项目的时候时常将这两个概念弄混淆 尤其是在使用 springmvc 的时候 后台 RequestBody 接受的是一个 json 格式的字符串 一定是一个字符串 先介绍一下 json 对象 首先说到对象的概念 对象的属性是可以用 对象 属性进行调用的 例如 varperson name tom sex 男 age 24 json 对象 console l

    2026年3月19日
    2
  • oracle日期时间函数总结

    oracle日期时间函数总结

    2021年11月29日
    37
  • 分布式——分布式面试题

    分布式——分布式面试题文章目录分布式分布式概述分布式集群微服务多线程高并发分布式系统设计理念分布式系统的目标与要素分布式系统设计两大思路 中心化和去中心化分布式与集群的区别是什么 CAP 定理 CAP 定理的证明 BASE 理论 BASE 理论的核心思想 BASE 理论三要素 1 基本可用 2 软状态 3 最终一致性分布式分布式概述分布式分布式 distributed 是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段 将一个业务拆分成不同的子业务 分布在不同的机器上执行 服务之间通过远程调用协同工作 对外提供服务 该领域需要解

    2026年3月16日
    2
  • linux离线安装docker_Unable to locate package vim

    linux离线安装docker_Unable to locate package vim首先报错Nomodulenamedpyyaml说明没有pyyaml在线安装windowslinux:pipinstallpyyaml亲测好用离线的情况下windowsPyYaml资源可以下载.whl文件然后pip安装即可离线的情况下linuxPyYaml资源可以下载.tar.gz文件然后pip安装即可pip可以直接安装.tar.gz文件#linux版样例[do…

    2022年10月9日
    6
  • java前端项目经验_web前端页面项目经验总结

    java前端项目经验_web前端页面项目经验总结项目时间 2016 年 4 月 5 日 4 月 9 日项目名称 阿七果子园 web 前端页面项目内容 1 HTML5 CSS JavaScript banner timer JQuery small banner 引入 jquery 1 4 2 min js 2 2 天完成页面架构 2 天添加特效 半天查看 检查 配兼容问题 半天总结整理 3 期间遇到问题 自己网上查资料 最终解决 4 寻找合适的 js 效果时 用时

    2026年3月26日
    1
  • Java的TreeMap和HashMap的介绍和使用

    Java的TreeMap和HashMap的介绍和使用1 TreeMap 的介绍和使用第 1 部分 TreeMap 介绍 TreeMap 简介 TreeMap 是一个有序的 key value 集合 它是通过红黑树实现的 TreeMap nbsp 继承于 AbstractMap 所以它是一个 Map 即一个 key value 集合 TreeMap 实现了 NavigableMap 接口 意味着它支持一系列的导航方法 比如返回有序的 key 集合

    2026年3月17日
    2

发表回复

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

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