分治法求数组最大值 c语言,使用分治法求最大子数组的下标。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

int max(int a[],int left,int right);

int maxcross(int a[],int left,int right,int middle);

int xyzleft,xyzright;

int main()

{

int T;

int asd;

int num[100000];

scanf("%d",&T);

while(T--)

{

scanf("%d",&asd);

getchar();

int i;

for(i=0;i

{

scanf("%d",&num[i]);

getchar();

}

printf("%d %d %d\n",max(num,0,asd),xyzleft+1,xyzright+1);

printf("\n");

}

return 0;

}

int maxcross(int a[],int left,int right,int middle)

{

int sumleft=0,maxleft=-1001;

for(int i=middle;i>=left;i--)

{

sumleft+=a[i];

if(sumleft>maxleft)

{

maxleft=sumleft;

xyzleft=i;

}

}

int sumright=0,maxright=-1001;

for(int i=middle+1;i<=right;i++)

{

sumright+=a[i];

if(sumright>maxright)

{

maxright=sumright;

xyzright=i;

}

}

return maxright+maxleft;

}

int max(int a[],int left,int right)

{

int leftmax,rightmax,crossmax;

if(left==right)

{

xyzleft=xyzright=0;

return a[left];

}

else

{

int mid=(left+right)/2;

leftmax=max(a,left,mid);

rightmax=max(a,mid+1,right);

crossmax=maxcross(a,left,right,mid);

if(leftmax>rightmax&&leftmax>crossmax)

return leftmax;

else if(rightmax>leftmax&&rightmax>crossmax)

return rightmax;

else

return crossmax;

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

eclipse下创建Maven项目

1.选择创建Maven项目&#xff0c;选择不适用骨架形式&#xff08;Creat a simple project&#xff09; 如图&#xff1a; 2.packing选择war的形式 如图&#xff1a; 由于packing是war形式&#xff0c;那么下面就出现了webapp的目录 3.由于我们要用eclipse把项目发布到tomcat…

git add remote_最全的git常用命令(建议收藏)

一、 Git 常用命令速查git branch 查看本地所有分支git status 查看当前状态git commit 提交git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释git remote add origin git192.168.1.119:ndshowgit push origin maste…

c语言链表复数实验,数据结构实验—复数计算器 大神提意见

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼// cDlg.cpp : 实现文件//#include "stdafx.h"#include "c.h"#include "cDlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的 CAb…

Windows系统启动自动运行cmd命令

添加计划任务 转载于:https://www.cnblogs.com/qingyuuu/p/4565579.html

stm32l0的停止模式怎么唤醒_Mac外接显示器的显示模式怎么设置

不少人在使用Mac笔记本的时候都会想要为电脑外接一个大一点的显示器呢&#xff01;要知道在外接显示器中可是有着四种显示模式呢&#xff01;你知道Mac外接显示器的显示模式怎么设置吗&#xff1f;想要了解有关显示模式的各种问题么&#xff1f;快来阅读下面的这篇文章来寻找答…

android 评价 星星大小,Android RatingBar 评价栏 星星 大小 样式 设置

Android系统自带RatingBar&#xff0c;无法直接指定宽高&#xff0c;不然会出现无法全部显示的情况&#xff0c;使用系统自带的两个主题?android:attr/ratingBarStyleIndicator和?android:attr/ratingBarStyleSmall也只能做到固定小版或者大版。按照以下几个步骤 可以做到自控…

Guava源码分析——Immutable Collections(4)

Immutable的集合体系&#xff0c;还有中很重要的集合没有介绍&#xff0c;就是ImmutableMap&#xff0c;通过UML图&#xff0c;可以看出ImmutableMap的结构体系。 首先来看一下ImmutableBiMap&#xff0c;因为普通ImmutableMap的实现依赖于它。ImmutableBiMap在ImmutableMap的基…

dual mysql 获取序列_MySQL获取周、月、天日期,生成排序号

常用MySQL生成时间序列--生成最近七天的日期&#xff0c;不包括当天SELECT cdate : date_add(cdate, interval - 1 day) as date FROM(SELECT cdate : date_add(date_sub(CURDATE(),interval 1 DAY), interval 1 DAY) from resource_publish) t0 LIMIT 7;2020-06-162020-06-15…

建筑电气工程设计常用图形和文字符号_怎么看懂建筑电气工程图?用最直白方式,教你基础识图!超级详细...

​如何看懂建筑电气工程图&#xff1f;我们可能知道AutoCAD&#xff0c;也可能知道在迅捷CAD图库下载建筑电气工程图纸&#xff0c;还可能会使用CAD绘制简单的图形对象。但是&#xff0c;当我们需要进行建筑识图的时候&#xff0c;你也可能连里面的经典图纸符号都不认识。如何看…

Android仿探探卡片拖拽,Vue 仿探探拖拽卡片的效果

原标题&#xff1a;Vue 仿探探拖拽卡片的效果已更新Vue3版&#xff0c;请给前端大全发送关键字vue3仿探探获取Vue3版类似 Tinder 和 探探 的卡片效果的组件&#xff0c;社区中已经非常多了。我这一版除了可以实现和他们一样的效果外。还增加了 飞卡 的效果&#xff0c;就是类似…

Codeforce 水题报告(2)

又水了一发Codeforce &#xff0c;这次继续发发题解顺便给自己PKUSC攒攒人品吧 CodeForces 438C&#xff1a;The Child and Polygon: 描述&#xff1a;给出一个多边形&#xff0c;求三角剖分的方案数&#xff08;n<200&#xff09;。 首先很明显可能是区间dp&#xff0c;我们…

itextpdf 怎么下划线_itext生成pdf设置下划线,itextpdf下划线,使用setUnderli

itext生成pdf设置下划线&#xff0c;itextpdf下划线,使用setUnderli使用setUnderline设置iText对象下划线显示我们可以使用setUnderline(float thickness, float yPosition)方法设置一个iText的Chunk对象下划线的显示样式。setUnderline方法的参数介绍&#xff1a;public Chunk…

textureview 旋转90度后平铺_C++初级编程NOIP题:11H1537: 图像旋转

时间限制: 1 Sec 内存限制: 128 MB题目描述输入一个n行m列的黑白图像&#xff0c;将它顺时针旋转90度后输出。输入第一行包含两个整数n和m&#xff0c;表示图像包含像素点的行数和列数。1 < n < 100&#xff0c;1 < m < 100。接下来n行&#xff0c;每行m个整数&…

android录音权限被占用,请问,app被用户禁止拍照和录音权限之后,拍照和录音事件应该怎么处理?...

另外android权限判断在6.0下没法直接判断然后通过代码设置&#xff0c;建议还是通过异常错误判断然后提示一下用户去手动修改权限。判断权限是否存在打开权限设置var r null;mui.plusReady(function () {document.querySelector(#btn1).addEventListener(tap,function () {r …

太阳粒子是什么东西_太阳粒子流是什么

匿名用户1级2011-06-21 回答因能量的增加而使得自身活动加强&#xff0c;从而向广袤的空间释放出大量带电粒子所形成的高速粒子流&#xff0c;科学家把这一现象比喻为太阳打“喷嚏”。由于太阳风中的气团主要内容是带电等离子体&#xff0c;并以每小时 150 万到 300 万公里的速…

qt中的qwidget如何实现自定义部件_2.3信号和槽(中)

2.3.1 在ui中编辑信号槽这一小节我们来看一下如何在ui中编辑信号槽。我们想要在ui中实现点击按钮&#xff0c;能够控制进度条的显隐。新建GUI项目SignalsAndSlots2&#xff0c;类名SignalsAndSlots2&#xff0c;基类选择QWidget。打开ui文件。在编辑界面中拖入一个Progress Bar…

html中 一条样式规则,css规则的基本格式是什么?

CSS(Cascading Styel Sheet)是控制 Web 页面外观的一系列格式设置规则,是网页设计必不可少的工具之一。下面我们就开始学习css的基本语法格式。css规则的基本格式是什么&#xff1f;层叠样式表是一个完全的纯文本文件&#xff0c;通常以“css”为扩展名作为单独的文件来使用…

css transtion不生效_CSS中transition属性不起作用的原因及解决方法

CSS中的transition属性可用于调整元素更改的时间&#xff0c;它可以像动画一样显示。虽然transition属性可以很方便的实现过渡效果&#xff0c;但是有时候可能会出现无效的情况&#xff0c;所以我们就需要来理解transition属性的写法规则。我们先来看一下CSS中transition属性不…

三白话经典算法系列 Shell排序实现

山是包插入的精髓排序排序&#xff0c;这种方法&#xff0c;也被称为窄增量排序。因为DL&#xff0e;Shell至1959提出命名。该方法的基本思想是&#xff1a;先将整个待排元素序列切割成若干个子序列&#xff08;由相隔某个“增量”的元素组成的&#xff09;分别进行直接插入排序…

python清空列表_Python之列表

Python变量没有数据类型&#xff0c;所以Python没有数组。整数&#xff1b;浮点数&#xff1b;字符串&#xff1b;对象创建一个列表&#xff1a;1.member[大鱼,123,3.14,[1,2,3]]2.empty[]向列表添加元素&#xff1a;append&#xff08;&#xff09;&#xff1a;member[大鱼,12…