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

免费聊天网站模板和源码农村电商网站设计与发展现状

免费聊天网站模板和源码,农村电商网站设计与发展现状,电商培训机构需要什么资质,创意网店店铺名字大全P10429 [蓝桥杯 2024 省 B] 拔河 题目描述 小明是学校里的一名老师,他带的班级共有 n n n 名同学,第 i i i 名同学力量值为 a i a_i ai​。在闲暇之余,小明决定在班级里组织一场拔河比赛。 为了保证比赛的双方实力尽可能相近&#xff0…

P10429 [蓝桥杯 2024 省 B] 拔河

题目描述

小明是学校里的一名老师,他带的班级共有 n n n 名同学,第 i i i 名同学力量值为 a i a_i ai。在闲暇之余,小明决定在班级里组织一场拔河比赛。

为了保证比赛的双方实力尽可能相近,需要在这 n n n 名同学中挑选出两个队伍,队伍内的同学编号连续 { a l 1 , a l 1 + 1 , … , a r 1 − 1 , a r 1 } \{{a_{l_1}}, a_{l_1 + 1}, \dots, a_{r_1 - 1}, a_{r_1}\} {al1,al1+1,,ar11,ar1} { a l 2 , a l 2 + 1 , … , a r 2 − 1 , a r 2 } \{{a_{l_2}}, a_{l_2 + 1}, \dots, a_{r_2 - 1}, a_{r_2}\} {al2,al2+1,,ar21,ar2},其中 l 1 ≤ r 1 < l 2 ≤ r 2 l_1 \le r_1<l_2 \le r_2 l1r1<l2r2

两个队伍的人数不必相同,但是需要让队伍内的同学们的力量值之和尽可能相近。请计算出力量值之和差距最小的挑选队伍的方式。

输入格式

输入共两行。
第一行为一个正整数 n n n
第二行为 n n n 个正整数 a 1 , a 2 , … a n a_1, a_2, \dots a_n a1,a2,an

输出格式

输出共一行,一个非负整数,表示两个队伍力量值之和的最小差距。

输入输出样例 #1

输入 #1

5
10 9 8 12 14

输出 #1

1

说明/提示

样例 1 解释

其中一种最优选择方式:

队伍 1: { a 1 , a 2 , a 3 } \{a_1, a_2, a_3\} {a1,a2,a3},队伍 2: { a 4 , a 5 } \{a_4, a_5\} {a4,a5},力量值和分别为 10 + 9 + 8 = 27 10 + 9 + 8 = 27 10+9+8=27 12 + 14 = 26 12 + 14 = 26 12+14=26,差距为 ∣ 27 − 26 ∣ = 1 |27 − 26| = 1 ∣2726∣=1

数据规模与约定

  • 20 % 20\% 20% 的数据, n ≤ 50 n \leq 50 n50
  • 对全部的测试数据,保证 1 ≤ n ≤ 1 0 3 1 \leq n \leq 10^3 1n103 1 ≤ a i ≤ 1 0 9 1 \leq a_i \leq 10^9 1ai109

思路:方法1,双指针枚举,时间复杂度为o(n^3),

使用双指针,将n个人分为两个区间,若左侧区间和<右侧区间和,那么左侧区间和+a[l–],否则右侧区间和+a[r++].然后实时更新最小值即可

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[1005];
int n; 
ll mmin=LLONG_MAX;
int main()
{	cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<n;i++){for(int j=i+1;j<=n;j++){ll suml=a[i];ll sumr=a[j];ll l=i-1;ll r=j+1;mmin=min(mmin,abs(sumr-suml));while(l>=1&&r<=n){if(suml>sumr){sumr+=a[r++];mmin=min(mmin,abs(sumr-suml));}else {suml+=a[l--];mmin=min(mmin,abs(sumr-suml));}}while(l>=1){suml+=a[l--];mmin=min(mmin,abs(sumr-suml));}while(r<=n){sumr+=a[r++];mmin=min(mmin,abs(sumr-suml));}}}cout<<mmin;return 0;
}

思路:方法2,前缀和+二分查找,时间复杂度O(n^2*logn)

求出前缀和,然后计算并存放所有的前缀和组合,枚举每一个前缀和,用库函数lower_bound()进行查找与其差值最小的数,并实时更新总体差值最小的数,需要注意的是,对于枚举查找1-i之间的前缀和,在之前需要删除所有以1开头的前缀和的组合,防止人员重复。

//#include <bits/stdc++.h>
//using namespace std;
//
//typedef long long ll;
//ll a[1005];
//int n;
//ll ans=LLONG_MAX;
//
//multiset<ll> s;
//
//int main(void)
//{
//	cin>>n;
//	for(int i=1;i<=n;i++)
//	{
//		cin>>a[i];
//		a[i]=a[i-1]+a[i];
//	}
//	for(int i=0;i<n;i++)
//	{
//		for(int j=i+1;j<=n;j++)
//		{
//			s.insert(a[j]-a[i]);
//		}
//	}
//	
//	long long sumr=0;
//	for(int i=1;i<=n;i++)
//	{
//		
//		//删除所有以i开头的前缀和,防止人员重复 
//		for(int j=i;j<=n;j++)
//		{
//			auto p=s.find(a[j]-a[i-1]);
//			s.erase(p);
//		}
//		//寻找前半段的值 
//		for(int j=1;j<=i;j++)
//		{
//			
//			ll k=a[i]-a[j-1];
//				
//			auto p=s.lower_bound(k);
//			//下面求	第一个大于等于k的值和k的差值 和 第一个比k小的值和k的差值 
//
//			//如果找到p,那么判断*p和k的差值与ans的大小 
//			if(p!=s.end())
//			{
//				ans=min(ans,abs(*p-k));
//			}
//			//如果p不是第一个 那么找p前一个比较 
//			if(p!=s.begin())
//			{
//				p--;
//				ans=min(ans,abs(*p-k));
//			}
//		}
//		
//	}
//	
//	cout<<ans;
//	return 0;
//}

文章转载自:

http://BZ7Tgz0t.LftpL.cn
http://ya2j1CFG.LftpL.cn
http://87L8JoRt.LftpL.cn
http://4c4LGF78.LftpL.cn
http://ohk30hCJ.LftpL.cn
http://8xpkdUU3.LftpL.cn
http://euGIljwX.LftpL.cn
http://bZGmkHmT.LftpL.cn
http://zgLaORPZ.LftpL.cn
http://Yp08GrTX.LftpL.cn
http://9HGIGXuJ.LftpL.cn
http://dMPN3wyI.LftpL.cn
http://xdtKRFkB.LftpL.cn
http://vHad2RwM.LftpL.cn
http://7redK1hX.LftpL.cn
http://YFpO4QBg.LftpL.cn
http://29dZh6C4.LftpL.cn
http://7t48ok3q.LftpL.cn
http://RtT85lob.LftpL.cn
http://R6WaX86S.LftpL.cn
http://0hWOQQ9V.LftpL.cn
http://YqWD1w6S.LftpL.cn
http://1RB1BU0B.LftpL.cn
http://dbKdB0eD.LftpL.cn
http://KQBoAbQD.LftpL.cn
http://qypa4ymB.LftpL.cn
http://gWuwCrDC.LftpL.cn
http://ysijLDEW.LftpL.cn
http://r9UDQcq8.LftpL.cn
http://VqIKDE6d.LftpL.cn
http://www.dtcms.com/wzjs/752496.html

相关文章:

  • 做旅行社网站网络整合营销4i原则是指
  • 地区性门户网站是什么意思编程零基础入门课程
  • 展会邀请函在哪个网站做前端做的网站
  • 佛山企业网站推广杭州网站制作推荐
  • 成都网站建设 erp广东省住房和城乡建设厅网站首页
  • 网站开发有侵权吗o2o网站建设咨询
  • 中小企业网站推广软件外包公司的出路
  • 社团网站建设各网站收录
  • 百度收录最好的网站全屏网站表现形式
  • 有什么网站可以做一起作业南宁网站建设哪家好
  • 网页设计培训(可0基础)网站制作优化排名
  • WordPress视频地址加密怎么看网站做没做优化
  • 网站建立免费莱芜网站优化有哪些
  • 电信网站备案做问卷调查赚钱好的21个网站
  • 哪个网站可以做艺术字大型h5手游平台
  • 铜仁建设厅官方网站山东建设厅官方网站
  • 移动app做的好的网站微网站 价格
  • 网站产品介绍页面的布局方案做的网站没法本地上传图片
  • 音乐网站的音乐怎么做音乐试听海淀专业企业网站建设
  • 好商网的网站可以做中英文切换吗打电话拉客户用网站做广告怎么做 好做吗
  • 杭州学网站建设长沙企业网站建立
  • 专业网站建设包括哪些wordpress清除多余附件
  • 必应网站首页的图片怎么做的crm软件系统的构成包括
  • 网站推广公司排名点击查看苏州知名高端网站建设企业
  • 网页设计站点规划wordpress副标题修改代码
  • 上海做网站高端清远最新闻
  • 好的手表网站云浮新增病例详情
  • 山东网站哪个网站可以帮人做ppt
  • 网站dns多久刷新个人 网站备案
  • 网站开发nodejs页游中心