当前位置: 首页 > news >正文

题解:AcWing 1365 子集的和

【题目来源】

AcWing:1365. 子集的和 - AcWing题库

【题目描述】

对于很多由 \(1∼N\) 构成的连续整数集合,我们都可以将其划分为两个子集,并使得两个子集的和相等。

例如,当 \(N=3\) 时,我们可以将集合 \(\{1,2,3\}\) 划分为子集 \(\{1,2\}\)\(\{3\}\),这也是唯一的一种满足条件的划分方式。

\(N=7\) 时,共有四种满足条件的划分方式,如下所示

\(\{1,6,7\}\)\(\{2,3,4,5\}\)

\(\{2,5,7\}\)\(\{1,3,4,6\}\)

\(\{3,4,7\}\)\(\{1,2,5,6\}\)

\(\{1,2,4,7\}\)\(\{3,5,6\}\)

现在,给定 \(N\),请你计算将 \(1∼N\) 构成的连续整数集合划分为和相等的两个子集,共有多少种划分方式。

将一种划分方式的某个子集内部的元素之间进行顺序调整仍看作是同一种划分方式。

【输入】

共一行包含整数 \(N\)

【输出】

输出一个整数,表示划分方案数。

如果无法划分,则输出 \(0\)

【输入样例】

7

【输出样例】

4

【算法标签】

《AcWing 1365 子集的和》 #DP# #背包问题# #二进制# #DFS# #BFS# #哈希表#

【代码详解】

#include<iostream>
#include<cstdio>
using namespace std;#define int long long
int n, a[45], x, dp[45][1605], maxn;  // n: 数字个数,a: 数字数组,x: 总和,dp: 动态规划数组signed main()
{cin >> n;  // 读入nfor (int i = 1; i <= n; i++){a[i] = i;  // 初始化数组为1,2,3,...,nx += i;  // 计算总和}// cout<<x<<endl;  // 调试输出// 特判:如果总和是奇数,无法分成两个相等的子集if (x % 2){cout << 0;return 0;}dp[0][0] = 1;  // 用0个数字凑出和为0的方法数为1// 动态规划:01背包问题// dp[i][j]表示用前i个数字凑出和为j的方法数for (int i = 1; i <= n; i++)  // 遍历每个数字{for (int j = 0; j <= x; j++)  // 遍历所有可能的和{dp[i][j] = dp[i - 1][j];  // 不使用第i个数字if (j >= a[i])  // 如果当前和j大于等于第i个数字{dp[i][j] += dp[i - 1][j - a[i]];  // 使用第i个数字}}}// 输出结果为凑出x/2的方法数除以2// 因为每个划分方案会被计算两次(两个对称的子集)cout << dp[n][x / 2] / 2;return 0;
}

【运行结果】

7
4
http://www.jsqmd.com/news/399118/

相关文章:

  • 孩子想学人工智能:从兴趣启蒙到系统编程的机构与课程全面对比 - 品牌测评鉴赏家
  • 2026无锡紧固件生产厂家推荐,品质铸就品牌,涂胶/螺栓/非标螺丝/紧固件/标准件/螺丝/螺母,紧固件厂家联系方式 - 品牌推荐师
  • Python基于Vue的中医药健康科普信息系统-学习产生积分兑换商品 django flask pycharm
  • Python基于Vue的充电桩智能管理系统 django flask pycharm
  • 地理探测器和 GEO-SHAP 的应用场景讲解
  • 深度学习中的“dropout”(随机失活)正则化是什么意思?
  • 2026国内权威一站式专利代办网站,规模大的都在这!专利复审审查/个人专利代办/专利改写降重,专利代办网站怎么选 - 品牌推荐师
  • root@DESKTOP-PSN4LOR:~# 从 root 用户切换到你自己创建的普通用户 例如 itheima@DESKTOP-Q89USRE:~$ - Jacky
  • OpenClaw架构(2)- Agent as Resource
  • TCP交错传输多通道实现原理
  • 原生中文 + 全离线 + 极简部署,PicoClaw 让 OpenClaw/NanoBot 瞬间不香了
  • 《信号与系统》多项式拟合与傅里叶级数拟合的对比,各自的物理含义,应用场合、优缺点等
  • 题解:砝码称重
  • 深度测评一键生成论文工具 千笔 VS 灵感风暴AI
  • droop+SVPWM,基于I型NPC三电平逆变器,下垂控制与SVPWM混合控制,采用电压电流...
  • 深度学习中的“归一化”(Normalization)是什么意思?
  • 学霸同款 9个降AI率网站测评:研究生必看的降AI率工具推荐
  • 1991-2025年地市级科学家数量面板数据
  • 摆脱论文困扰! AI论文软件 千笔ai写作 VS 知文AI,MBA专属利器!
  • 实测才敢推!断层领先的降AIGC软件 —— 千笔·专业降AIGC智能体
  • 指尖上的微观革命:用Flutter打造沉浸式3D血细胞教学应用
  • 照着用就行:一键生成论文工具 千笔写作工具 VS 灵感ai 专科生专属
  • Python基于Vue的 校园防诈骗宣传网站django flask pycharm
  • 《信号与系统》有哪些靠谱的工具可以推测股票未来的股价?
  • 省心了! 自考必备的降AI率网站,千笔·专业降AIGC智能体 VS 云笔AI
  • 《信号与系统》用傅里叶变换可以预测股票的走势吗
  • Python基于Vue的 校园体育赛事管理系统django flask pycharm
  • Python基于Vue的“云享校园”校园二手交易平台的设计与实现 django flask pycharm
  • 免费少儿编程体验课横向评估:五大品牌教学结构与课程模式深度拆解 - 品牌测评鉴赏家
  • Python基于Vue的全国少数民族运动会网络安全学习系统的设计与实现 django flask pycharm