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

济宁有做企业网站吗网站制作难点

济宁有做企业网站吗,网站制作难点,免费教育网站建设,谷歌seo推广培训班链接 题目描述 给定 40 个数,请将其任意划分成两组,每组至少一个元素。每组的权值为组内所有元素的和。划分的权值为两组权值的乘积。请问对于以下 40 个数,划分的权值最大为多少。 5160 9191 6410 4657 7492 1531 8854 1253 4520 9231126…

链接

题目描述

给定 40 个数,请将其任意划分成两组,每组至少一个元素。每组的权值为组内所有元素的和。划分的权值为两组权值的乘积。请问对于以下 40 个数,划分的权值最大为多少。

5160 9191 6410 4657 7492 1531 8854 1253 4520 92311266 4801 3484 4323 5070 1789 2744 5959 9426 44334404 5291 2470 8533 7608 2935 8922 5273 8364 88197374 8077 5336 8495 5602 6553 3548 5267 9150 3309

输入格式

输出格式

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只需要编写一个程序输出这个整数,输出多余的内容将无法得分。

输入输出样例

思路

首先注意到有 40 个数,并且只划分成两个部分。

然后发现是背包DP。别问我怎么知道的

可以想到一个 O(全部数之和×40÷2) 的方法(绝对不会TLE),其具体实现是先枚举 40 个数,然后再用背包DP可以生成哪些和,最后再求出这个和×(总和−这个和)就可以了。

代码

#include<bits/stdc++.h>
using namespace std;
int a[41]={-1e9,5160,9191,6410,4657,7492,1531,8854,1253,4520,9231,
1266,4801,3484,4323,5070,1789,2744,5959,9426,4433,
4404,5291,2470,8533,7608,2935,8922,5273,8364,8819,
7374,8077,5336,8495,5602,6553,3548,5267,9150,3309},sum,lbj[10000010],num;
long long maxx;
signed main(){ios::sync_with_stdio(0);for(int i=1;i<=40;i++){sum+=a[i];//最大的和就是全部的总和 } bool dp[sum+1];for(int i=1;i<=sum;i++){dp[i]=0;} dp[0]=1;//初始化,啥都不加就是0 for(int i=1;i<=40;i++){for(int j=sum/2;j>=a[i];j--){//枚举到一半即可,因为肯定是一小一大/一半一半 if(dp[j-a[i]]&&!dp[j]){//新的可能值 lbj[++num]=j;dp[j]=1; }}}for(int i=1;i<=num;i++)maxx=max(maxx,1LL*lbj[i]*(sum-lbj[i]));//maxx是long long类型,后面要用1LL乘,因为答案>max intcout<<maxx;
}

其实直接打完表输出就得了,直接输出12873625444

ChatGPT的题解

题目分析
给定40个正整数,划分成两组(均非空),记两组和为X和S−X,划分价值为X·(S−X)。由于f(X)=X·(S−X)是关于X的对称二次函数,在X=S/2处达到最大,因此只需在所有可实现的子集和中,选取最接近S/2的X即可。

解题思路

  1. 计算总和S;

  2. 用位运算优化的01背包(bitset):维护长度为S+1的dpdp[i]=1表示存在子集和为i;

  3. 初始dp[0]=1,对每个数v做 dp|=dp<<v

  4. 从⌊S/2⌋向下扫描,找到第一个dp[x]=1的x,即为最优;

  5. 答案即为1LLx(S−x)。

代码

#include<bits/stdc++.h>
using namespace std;
int main(){int a[40]={5160,9191,6410,4657,7492,1531,8854,1253,4520,9231,1266,4801,3484,4323,5070,1789,2744,5959,9426,4433,4404,5291,2470,8533,7608,2935,8922,5273,8364,8819,7374,8077,5336,8495,5602,6553,3548,5267,9150,3309};int S=0;for(int i=0;i<40;i++)S+=a[i];bitset<226925>dp;dp[0]=1;for(int i=0;i<40;i++)dp|=dp<<a[i];for(int x=S/2;x>=1;x--){if(dp[x]){long long ans=1LL*x*(S-x);cout<<ans;break;}}return 0;
}

复杂度分析

  • 时间:O(N·S/word_size)≈40×226924/64≈142000次位运算

  • 空间:O(S)≈2.3×10<sup>5</sup>位,约30 KB,完全可行。


文章转载自:

http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://00000000.xrrbj.cn
http://www.dtcms.com/wzjs/613411.html

相关文章:

  • 上海礼品定制网站网络营销的缺点及建议
  • 做竞价要会做网站吗360建筑网 诚是什么意思
  • 做网站一般什么问题网站诊断分析案例
  • 做请帖的网站瑞士自助游 做的好的网站
  • 东莞市做网站的公司外贸网站建设可以吗
  • 网站建设中 提示建设行政主管部门相关网站
  • 网站建设考试多选题查国外企业信息的网站
  • 做淘客网站怎么怎么样做电影网站
  • 网站 简约网络营销心得体会300字
  • 企业网站建设策划书方案范文咸宁做网站的公司
  • 聊城那里有做网站建设网站市场分析
  • 网站设计排行榜青岛网站设计推广
  • 网站建设合同2018常州网站建设智博
  • 免费1级做爰片动漫在线观看网站如何制作网站和网页
  • 访问国外的网站很慢宠物网页设计图片
  • 网上做网站过程厦门公司注册网站
  • 申请域名后可以做自己的网站吗福州网站建设工作
  • 网站种类有哪些wordpress 在线pdf
  • 阿里云网站建设教学视频教程湖州网站设计
  • 1m的带宽做网站可以吗佛山宽屏网站建设
  • 有自建服务器做网站的吗贸易公司 网站 扶持
  • 怎么用ip访问vps网站手机网站cms有哪些
  • 中山市城乡和住房建设局网站网页设计说明书1000字
  • 做3d ppt模板下载网站优化游戏卡顿的软件
  • 网站为什么要更新成都网络营销策划公司
  • 网站用户角色树品营销拓客平台系统
  • 个人网站如何建中国门户网站有哪些
  • 做一个企业网站价格北京专业做网站的公司
  • 网页设计与网站建设大作业做字体网站
  • 网站馆店精准引流怎么推广江苏专业网站推广公司