博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最大值最小化
阅读量:5357 次
发布时间:2019-06-15

本文共 1147 字,大约阅读时间需要 3 分钟。

1 //目标学会用猜数字(二分)的方法,换个角度来解决问题  2 #include
3 #include
4 #include
5 const int N = 100000; 6 7 int a[N],n,m,max; 8 9 void input()10 {11 scanf("%d%d",&n,&m);12 max=0;13 for(int i=0;i
?= a[i];17 }18 }19 20 bool is_part(int x)//是否能把序列划分为每个序列之和不大于x的m个子序列 21 {22 //每次往右划分,划分完后,所用的划分线不大于m-1个即可23 int t=0,s=0;24 bool ok=true;25 26 for(int i=0;i
x)33 {34 ok=false;35 break;36 }37 if(s+a[i]>x)//大于,不能再把当前元素加上了 38 {39 t++;//多用了一条横杠40 s=a[i];41 /*42 t=m时退出,即在最后一个元素之前都已经用了m条划分线,此时已把序列划分成了m+1个序列,太过分了,让其适可而止 43 */44 if(t>m-1)45 {46 ok=false;47 break;48 }49 }else50 {51 s+=a[i];//把当前元素与前面的元素连上,以便尽量往右划分,贪心到底 52 }53 }54 55 return ok;56 }57 58 int sum()59 {60 int s=0;61 for(int i=0;i

  此为转载……貌似是个高中生写的,太牛了……

转载于:https://www.cnblogs.com/hxsyl/archive/2013/04/12/3017146.html

你可能感兴趣的文章
As-If-Serial 理解
查看>>
洛谷P1005 矩阵取数游戏
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>
Ajax : load()
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
Zookeeper概述
查看>>
Linux自己安装redis扩展
查看>>
luoguP3414 SAC#1 - 组合数
查看>>
图片点击轮播(三)-----2017-04-05
查看>>
直播技术细节3
查看>>
《分布式服务架构:原理、设计于实战》总结
查看>>
java中new一个对象和对象=null有什么区别
查看>>
字母和数字键的键码值(keyCode)
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
Spring mvc初学
查看>>
VTKMY 3.3 VS 2010 Configuration 配置
查看>>