P1586 四方定理

2023-10-29

Powered by:NEFU AB-IN

Link

P1586 四方定理

  • 题意

    四方定理是众所周知的:任意一个正整数n,可以分解为不超过四个整数的平方和
    给定的正整数n,编程统计它能分解的方案总数。

  • 思路

    d p [ i ] [ j ] dp[i][j] dp[i][j]代表i可用j个平方数组成的方案数,所以最后输出 d p [ n ] [ 1 − 4 ] dp[n][1-4] dp[n][14]的和即可

    由于所有数都可以使用无数次,所以采用完全背包的思想,可以理解为有1,2,3…等物品,体积为各自的平方,每个的价值都是一样的,背包体积为n,目的是问塞满背包的方案数
    得出dp方程 d p [ i ] [ j ] + = d p [ i − k ∗ k ] [ j − 1 ] dp[i][j] += dp[i - k*k][j-1] dp[i][j]+=dp[ikk][j1]

  • 代码

    /*
    * @Author: NEFU AB-IN
    * @Date: 2023-09-10 12:05:40
    * @FilePath: \Contest\C\C.cpp
    * @LastEditTime: 2023-09-16 09:18:51
    */
    #include <bits/stdc++.h>
    using namespace std;
    #define int long long
    #undef int
    
    #define SZ(X) ((int)(X).size())
    #define ALL(X) (X).begin(), (X).end()
    #define IOS                                                                                                            \
        ios::sync_with_stdio(false);                                                                                       \
        cin.tie(nullptr);                                                                                                  \
        cout.tie(nullptr)
    #define DEBUG(X) cout << #X << ": " << X << '\n'
    typedef pair<int, int> PII;
    
    const int N = 1e5 + 10, INF = 0x3f3f3f3f;
    
    int dp[N][5];
    
    signed main()
    {
        // freopen("Tests/input_1.txt", "r", stdin);
        IOS;
        int n = 32768, t;
        dp[0][0] = 1;
        for (int i = 1; i * i <= n; i++)
            for (int j = i * i; j <= n; j++)
                for (int k = 1; k <= 4; k++)
                    dp[j][k] += dp[j - i * i][k - 1];
        cin >> t;
        while (t--)
        {
            int ans = 0;
            cin >> n;
            for (int i = 1; i <= 4; i++)
                ans += dp[n][i];
            cout << ans << '\n';
        }
        return 0;
    }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

P1586 四方定理 的相关文章

  • D0002-数据类型转换与运算符

    数据类型转换 1 隐式 自动 类型转换 从数据类型小的到数据类型大的转换 都是数字型的 布尔类型不参与 byte lt short lt int lt long lt float lt double char lt int lt long
  • Netty概述

    1 Netty 概述 1 1 Netty 简介 Netty 官网上可以看到最权威的介绍 Netty 是一个异步事件驱动的网络应用程序框架 用于快速开发可维护的高性能服务器和客户端 Netty 是一个 NIO 客户机 服务器框架 它支持快速

随机推荐

  • 判断正整数的正则表达式

    正数的正则表达式 包括0 小数保留两位 0 1 d 1 2 1 9 d 1 d 1 2 1 9 d 0 正数的正则表达式 不包括0 小数保留两位 0 1 d 1 2 1 9 d 1 d 1 2 1 9 d 正整数的正则表达式 包括0 0 1
  • OSI和TCP/IP

    1 OSI和TCP IP 1 1 模型对比 OSI七层 TCP IP五层 TCP IP四层 应用层 应用层 应用层 表示层 会话层 传输层 传输层 传输层 网络层 网络层 网络层 数据链路层 数据链路层 网络接口层 物理层 物理层 1 2
  • i5十代不能装win7系统_戴尔台式机i5十代CPU,3991或3881,Win10改win7方法

    戴尔台式机3991或3881 Win10改win7方法如下为精简步聚 希望能给大家有所帮助 电脑的配置为i5 10500十代CPU DDR4代内存 一 WinPE要求 小兵PE2020版 里面有注入USB3 X及NVME驱动和小兵系统安装软
  • C语言中有符号和无符号的区别(signed与unsigned)

    include
  • Maven构建与管理项目(三)

    Maven构建与管理项目 三 Maven与Eclipse整合 安装Maven插件 下载下来的maven插件如下图所示 插件存放的路径是 E MavenProject Maven2EclipsePlugin 进入到eclipse中的dropi
  • 使用langchain+chatGPT搭建自有知识库问答机器人

    前言 自去年年底OpenAI发布ChatGPT以来 大型语言模型在人工智能领域掀起了一股热潮 随后 各家公司纷纷推出自己的大型语言模型 如百度的文心一言 讯飞的星火大模型等 在这个过程中 文本转图片和文本转视频等相关领域也备受关注 然而 很
  • C++泛型编程——模板,容器实现

    泛型编程 模板技术 模板实例化 模板的使用 模板参数 模板特化 函数模板特化 类模板特化 容器适配器 分离编译模式 泛型编程 泛型编程是编写和类型无关的逻辑代码 是代码复用的另一种手段 模板是实现泛型编程的一种技术 以往要编写一个通用的函数
  • mysql常用语句总结(一)

    连接数据库 mysql uroot padmin 使用数据库 use 库名 查看数据库列表 show databases 创建数据库 create database 数据库名称 删除数据库 drop database 数据库名称 查看当前数
  • javaEE和javaweb的区别

    JavaEE JavaEE 概念 Java EE Java 平台企业版 Java Platform Enterprise Edition 之前称为Java 2 Platform Enterprise Edition J2EE 2018年3月
  • OSI七层参考模型与5G协议

    计算机网络参考模型与5G协议 目录 计算机网络参考模型与5G协议 分层思想 OSI七层参考模型 OSI模型vsTCP IP模型 TCP IP协议组成 数据通信4要素 ARP工作原理 ICMP 数据封装过程 解封装过程 客户端和服务器的关系
  • 关于warning: #1295-D: Deprecated declaration (某函数) - give arg type的解决

    问题 使用keil5编写STM32单片机程序时 在头文件中声明了一个无参数的函数 并且没有返回值 出现warning 解决 在声明函数的括号中添加void 警告消除
  • Python异步请求:深入理解异步编程模型

    Python异步请求 深入理解异步编程模型 引言 随着现代应用程序对性能和响应速度的要求越来越高 异步任务请求成为了Python开发中重要的技术之一 本文将深入探讨Python中的异步任务请求的原理和用法 并提供详细的代码示例 帮助读者更好
  • 多元函数的极值matlab,利用MATLAB求多元函数的极值(2)

    利用MATLAB求多元函数的极值分两种情况 1 无约束条件 2 有约束条件 2 有约束条件下求极小值的方法 假设多变量非线性函数的数学模型为 min f x c x lt 0 ceq x 0 A x lt b Aeq x lt x lt b
  • python学习2.1列表

    一 初试列表 与C中的数组类似 1 列表的定义和输出 约定俗成 用 引起列表 eg 输入 band the beatles oasis eagles print band 输出 the beatles oasis eagles 2 列表元素
  • 【unity发布webgl】遇到的问题和解决办法

    1 发布部署出来的链接放到手机上测试 ios 20秒读条然后闪退 vivo 9秒读条闪退 小米 15秒进入 然鹅 资料只有130kb的图片 2 报这个警告 修改Build文件夹里的UnityLoader js取消 移动端展示弹出提示框 点击
  • 转移指令及延迟槽最详细讲解(转载)

    文章转自于 可以配合视频一起看 gt 计算机组成 视频 转移指令由于其自身的特殊性 总是会给我们带来一些麻烦 那对于流水线处理器来说 更是如此 转移指令会带来更多不良的影响 那我们应该如何应对和解决呢 这一节我们就来探索这个问题 我们先来看
  • 《HTTP权威指南》摘要

    目录 前言 第一章 HTTP 概述 第二章 URL 与资源 第三章 HTTP 报文 报文流 状态码 100 199 信息提示 200 299 成功 300 399 重定向 400 499 客户端错误 500 599 服务器错误 首部 通用首
  • latex自动生成中文目录_1分钟自动生成300页Word的目录,无需任何插件、代码!一看就会...

    一些特别的Word文档 尤其是篇幅特别长的文档 我们需要为其生成一个目录 以便于之后的查看 但是很多人都不知道如何在Word中生成目录 其实在Word中生成目录 并不难 今天小编就给大家分享一个1分钟能自动生成300页Word的目录的方法吧
  • 提高D3js力导向图加载速度(转)

    过去一段时间曾两次使用了 D3 力导向图来描绘族群关系 http bl ocks org mbostock 1062288 第一次用的时候不求甚解 交差了事 当时点也不多 很顺利完成了任务 这一次确不同 每个图里要渲染的有成千上万个点 每次
  • P1586 四方定理

    Powered by NEFU AB IN Link 文章目录 P1586 四方定理 题意 思路 代码 P1586 四方定理 题意 四方定理是众所周知的 任意一个正整数n 可以分解为不超过四个整数的平方和 给定的正整数n 编程统计它能分解的