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

网站开发体会/宁波seo服务快速推广

网站开发体会,宁波seo服务快速推广,鞍山公司做网站,怎么做健康咨询网站做题思路 数列分段 Section IIhttps://www.luogu.com.cn/problem/P1182正如题目所说,我们需要得到一个最小的最大段的值,可能有人将注意力放在分段上,事实上,我们更多的应该关注结果。这是一道二分答案的题,你可以先确…

做题思路

数列分段 Section IIhttps://www.luogu.com.cn/problem/P1182正如题目所说,我们需要得到一个最小的最大段的值,可能有人将注意力放在分段上,事实上,我们更多的应该关注结果。这是一道二分答案的题,你可以先确认某次分段后的可能的最大段的值q,然后尽量往最大段的值方向去分段,这样,在保证了分段后的最大段的值小于等于q,再看所分的段数,如果大于限定的段数,说明不可能最大段的值是q。因为在保证所分段的值不超过q的情况下,无法减少段数使其达到要求,这时应该往大于q的范围上去找。如果小于等于限定的段数,说明可能还有更小的q。因为段数小于要求,可以将某段拆成多段来增大段数,这时可能有更小的q符合要求。而这时为了更快的找到q的值,我们可以使用二分查找的方式去找。对于n个数,最小的q就是每个一段分出n段时,n个数中的最大值,最大的q就是只分出1段时,n个数的和。

#include<stdio.h>
#include<stdlib.h>
int check(int max,int *data,int num,int limit_count){int current_sum=0,count=0;for(int i=0;i<num;i++){if(data[i]>max)return 0;if(current_sum+data[i]>max){count++;current_sum=data[i];}else current_sum+=data[i];}count++;return count<=limit_count;
}
int main() {int N, M, max = 0, sum = 0;scanf("%d %d", &N, &M);int *data = (int*)malloc(sizeof(int) * N);for (int i = 0; i < N; i++) {scanf("%d", &data[i]);sum += data[i];if (data[i] > max)max = data[i];}int left=max,right=sum;while(left<right){int mid=(left+right)/2;if(check(mid,data,N,M))right=mid;else left=mid+1;}printf("%d",left);free(data);return 0;
}

书的复制https://www.luogu.com.cn/problem/P1281 这道题的思路和上面的题一模一样,但要注意输出时的条件:行的起始编号应该从小到大排列,如果有多解,则尽可能让前面的人少抄写。

#include<stdio.h>
#include<stdlib.h>
int check(int max,int *data,int num,int limit_count){int current_sum=0,count=0;for(int i=0;i<num;i++){if(data[i]>max)return 0;if(current_sum+data[i]>max){count++;current_sum=data[i];}else current_sum+=data[i];}count++;return count<=limit_count;
}
int main() {int N, M, max = 0, sum = 0;scanf("%d %d", &N, &M);int *data = (int*)malloc(sizeof(int) * N);for (int i = 0; i < N; i++) {scanf("%d", &data[i]);sum += data[i];if (data[i] > max)max = data[i];}int left=max,right=sum;while(left<right){int mid=(left+right)/2;if(check(mid,data,N,M))right=mid;else left=mid+1;}int result[M][2],current_sum=0,count=0;result[0][1]=N,result[M-1][0]=1;for(int i=N;i>0;i--){if(current_sum+data[i-1]>left){result[count++][0]=i+1;result[count][1]=i;current_sum=data[i-1];}else current_sum+=data[i-1];}for(int i=M-1;i>=0;i--){printf("%d %d\n",result[i][0],result[i][1]);}free(data);return 0;
}
http://www.whsansanxincailiao.cn/news/31955736.html

相关文章:

  • 安徽哪家公司做网站比较好/广告联盟哪个比较好
  • 网站页脚设计/百度电脑版网页
  • 大连网站开发建站/关键词挖掘机爱站网
  • 网站规划与开发专业/安卓排名优化
  • 400网站建设推广/竞价推广员月挣多少
  • 南京大型门户网站制作/成都seo论坛
  • 网站管理 官网/百度收录规则
  • 网站没完成可以备案么/无锡百度推广开户
  • 公司企业邮箱大全/搜索引擎优化的五个方面
  • 北京建设信息咨询中心网站/定制网站开发
  • 商机互联做的网站和推广怎么样/seo资料
  • 响应式网站做mip/百度seo搜索营销新视角
  • 公司seo排名优化/优化营商环境指什么
  • 绵阳网站建设/品牌策划方案怎么做
  • wordpress本地怎么搬家/汕头seo
  • php网站后台管理模板/网络推广有哪些常见的推广方法
  • 六一儿童节网站制作/现在的网络推广怎么做
  • 上海网站建设宣传/企业推广是做什么的
  • 邢台信息港欢迎您/seo公司的选上海百首网络
  • 网站建设jiage/竞价排名采用什么计费方式
  • 上海网站开发工程师招聘网/西安网站seo厂家
  • 学网站建设工作室/百度云网盘搜索引擎
  • 杂志在线设计网站/百度seo优化规则
  • 培训网站建设方案书/自媒体平台大全
  • 国内外公司网站差异/外链是什么意思
  • 通州网站制作/百度竞价推广开户
  • 行业 网站 方案/1元购买域名
  • 啥是深圳网站建设/千锋教育可靠吗
  • 临海市网站建设/百度点击快速排名
  • 淘宝网页制作教程视频/农大南路网络营销推广优化