文章目录

  • 一、打包
  • 二、约数个数
  • 三、寻找三位数
  • 四、第二点五个不高兴的小明
  • 总结

一、打包

题目链接:
http://lx.lanqiao.cn/problem.page?gpid=T2978

解法:
连续、最小最大值,很典型的贪心+二分题。

代码:

#include <bits/stdc++.h>using namespace std;
int a[100008];
int n,m;
int result;
int check(int mid)
{int rc=0;int bao=1;//包裹数int i;for(i=1;i<=n;i++){if(rc+a[i]<=mid)rc=rc+a[i];else{rc=0;rc=rc+a[i];bao++;}}if(bao<=m)return 1;elsereturn 0;
}
void p(int l,int r)
{   int mid;while(l<=r){mid=(l+r)/2;if(check(mid)){r=mid-1;result=mid;}elsel=mid+1;}
}
int main()
{int i;cin>>n;int sum=0;int max=0;cin>>m;//m个包裹for(i=1;i<=n;i++){cin>>a[i];sum=sum+a[i];if(a[i]>max)max=a[i];}p(max,sum);printf("%d\n",result);return 0;
}

二、约数个数

题目链接:
http://lx.lanqiao.cn/problem.page?gpid=T2606

解法:
原本还想用欧拉筛,结果一看数据1e7。正确的做法是看看前面的数是后面多少个数的约数。所以,题目不要想得太复杂,尽量往简单想。

代码:

#include <bits/stdc++.h>using namespace std;int main()
{long long n;cin>>n;long long i;long long sum=0;for(i=1;i<=n;i++){sum=(sum+n/i)%1000000007;}printf("%lld\n",sum);return 0;
}

三、寻找三位数

题目链接:
http://lx.lanqiao.cn/problem.page?gpid=T2038

解法:
全排列模拟一下就可以。

代码:

#include <bits/stdc++.h>using namespace std;
int a[9];
int sum1,sum2,sum3;
void dfs(int k)
{int i;if(k>=9){sum1=a[0]*100+a[1]*10+a[2]*1;sum2=a[3]*100+a[4]*10+a[5]*1;sum3=a[6]*100+a[7]*10+a[8]*1;if(sum2==2*sum1&&sum3==3*sum1)printf("%d %d %d\n",sum1,sum2,sum3);return;}for(i=k;i<9;i++){swap(a[i],a[k]);dfs(k+1);swap(a[k],a[i]);}
}
int main()
{int i;for(i=0;i<9;i++)a[i]=i+1;dfs(0);return 0;
}

四、第二点五个不高兴的小明

题目链接:
http://lx.lanqiao.cn/problem.page?gpid=T770

解法:
我用的方法是动态规划。设i为当前所在的位置,j为当前所跳的次数,则dp[i][j]表示在i位置时,已经跳了j次的最大权值和。可列出动态规划公式:dp[i][j]=max(dp[i-1][j-1],dp[i-2][j-1],…,dp[i-p][j-1])+w[i]。答案为dp[n+1][t]。

代码:
好像写得有点麻烦,不过挺清晰,友友们可以给我提点建议。

#include <bits/stdc++.h>using namespace std;
int a[1008];
int b[1008][1008];int main()
{int n,p,t;int i,j,k;cin>>n;cin>>p;cin>>t;for(i=0;i<1008;i++){for(j=0;j<1008;j++)b[i][j]=-99999999;}b[0][0]=0;for(i=1;i<=n;i++)cin>>a[i];for(i=1;i<=n;i++){for(j=min(i,t-1);j>=1;j--){   if(i-j*p>0)break;int max=-99999999;for(k=1;k<=p;k++){if(i-k<0)break;if(b[i-k][j-1]>max){max=b[i-k][j-1];b[i][j]=max+a[i];}}}}int max=-99999999;for(k=1;k<=p;k++){   if(n+1-k<0)break;if(b[n+1-k][t-1]>max)max=b[n+1-k][t-1];b[n+1][t]=max;}printf("%d\n",b[n+1][t]);return 0;
}

总结

已经坚持二十多天了呢。接下来,需要好好巩固薄弱点以及复习知识点和错题啦!

蓝桥杯练习(第二十三天)相关推荐

  1. 蓝桥杯单片机第十三届第二场

    第十三届蓝桥杯单片机第二场 文章目录 第十三届蓝桥杯单片机第二场 前言 一.赛题分析 二.程序调试步骤 三.部分源程序 主函数部分 DAC处理函数 数码管处理函数 ADC处理函数 超声波处理函数 LE ...

  2. 【蓝桥杯】第十三届蓝桥杯单片机第二次省赛 代码程序

    第十三届蓝桥杯单片机第二次省赛 题目 hex文件 代码 工程文件 B站视频 更多资料 题目 历届的省赛和国赛的题目我已经在前面的文章(点击查看)里给大家分享了(网盘资源),需要的话,直接去下载,我在这 ...

  3. 蓝桥杯单片机第十三届第二场考后归纳总结

    提示:一个第十三届蓝桥杯单片机  考生的考后总结 文章目录 前言 一.第十三届考的是什么? 二.数据代码 总结 一.第十三届考的是什么? 1.电位器RB2的电压测量,用DAC输出 2.超声波测距 3. ...

  4. 2022年蓝桥杯:第十三届蓝桥杯大赛软件赛省赛C/C++大学B组真题(考后回顾,文末附真题链接)

    目录 第十三届蓝桥杯大赛软件赛省赛C/C++大学B组真题(考后回顾) 试题 A: 九进制转十进制 试题 B: 顺子日期 试题 C: 刷题统计 试题 D: 修剪灌木 试题 E: X 进制减法 试题 F: ...

  5. 2022年蓝桥杯:第十三届蓝桥杯大赛软件赛省赛(全部正解做法代码 C/C++ B组)

    文章目录 试题 A: 九进制转十进制 问题描述 问题答案 试题 B: 顺子日期 问题描述 问题答案 试题 C: 刷题统计 问题描述 问题答案(正解) 试题 D: 修剪灌木 问题描述 问题答案(正解) ...

  6. 【蓝桥杯】第十三届蓝桥杯单片机国赛 代码程序

    第十三届蓝桥杯单片机国赛 程序 题目 hex文件 代码 工程文件 B站视频 更多资料 题目 历届的省赛和国赛的题目我已经在前面的文章(点击查看)里给大家分享了(网盘资源),需要的话,直接去下载,我在这 ...

  7. 蓝桥杯2021 第二期模拟赛

    目录: 1.二进制数 2.整倍数 3.要求序列 4.无向图的结点 5.字母距离 6.时间调整 7.平行四边形 好久不见xdm,今天写什么呢?今天被蓝桥杯模拟赛打了一顿,说难也不难 一起来看吧 1.二进 ...

  8. 2022年蓝桥杯:第十三届蓝桥杯大赛软件赛省赛(题解C/C++B组)

    目录 试题 A: 九进制转十进制 问题描述 解题思路 问题答案 试题 B: 顺子日期 问题描述 问题答案 试题 C: 刷题统计 问题描述 解题思路 问题答案 试题 D: 修剪灌木 问题描述 解题思路 ...

  9. 蓝桥杯嵌入式第十三届模拟题做题笔记

    这届的蓝桥杯电子类延期了,最近就很无聊,想做点东西但是又什么啥也不会,five一个 在小破站寻求各路大佬的帮助 不求大家的赞了,只希望大家能够分享知识,帮助一下迷茫的人   首先第一眼看到这个题确实是 ...

  10. 第十三届——蓝桥杯嵌入式第二场

    文章目录 一.应用模块 二.各点突破 1.响应刷新时间 2.E2PRON 3.三行按键 总结 #题目 一.应用模块 通过按键实现不同界面的切换,通过E2PRON实现数据的保存,通过串口实现PC端数据传 ...

最新文章

  1. GIT之git常用配置和操作
  2. js中给数组中对象去重
  3. Redis常见面试题总结
  4. 针对Python中冒号的详细解释
  5. unity 实现调用Windows窗口/对话框交互
  6. iOS app 企业内部发布及HTTPS服务器配置
  7. 用C语言写ucos中断服务程序,在ARM处理器上移植uCOS II的中断处理
  8. 双十二心动礼遇,送你3本算法好书
  9. android中工厂模式应用,抽象工厂模式在android中使用
  10. 前端开发 html第三课 列表 超链接 相对路径 图片
  11. php无版权图库api,12个无版权限制的大图特供网站_交互设计教程
  12. NotePad++ HexEditor.dll下载地址,32位,64位
  13. mac访达连接服务器后无法显示,mac在群晖nas上使用时间机器TimeMachine
  14. 机器人强化学习——Comparing Task Simplifications to Learn Closed-Loop Object Picking Using DRL(2019 RAL)
  15. 本周工作-学习计划!
  16. [HITICS] 2021大作业-程序人生
  17. 计算机安全权限不足或配置文件损坏,配置文件加载失败 - Windows Server | Microsoft Docs...
  18. iOS 14将隐私分享权还给用户,我的数据我做主?
  19. Jmeter性能测试环境安装
  20. 查看oracle 分区表大小,ORACLE查询每个表占用空间大小的方法

热门文章

  1. SUBTEXT 安装个人小总结
  2. 软件测试如何入门学习?自学软件测试入门经验分享
  3. 如何让mysql榨干电脑性能_榨干多核CPU?这个方法你必须试试!
  4. SVN服务端使用教程
  5. hypersion oracle_Oracle收购Hyperion(海波龙)带来的思考与机遇
  6. react 前端 实现打印机打印功能
  7. Redis 间歇性抖动<集群下mget的性能问题>
  8. 如何系统学习数据分析?
  9. java变量保存经纬度,java-将存储在SQLite数据库中的经度和纬度数...
  10. 驾考一点通维语版_驾考宝典维语版下载-驾考宝典维语版2020最新版 1.0.0 安卓版-我游网...