目录

1.打包

2.约数个数

3.寻找三位数

4.第二点五个不高兴的小明


1.打包

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

 Lazy有N个礼物需要打成M个包裹,邮寄给M个人,这些礼物虽然很便宜,但是很重。Lazy希望每个人得到的礼物的编号都是连续的。为了避免支付高昂的超重费,他还希望让包裹的最大重量最小。

题解思路:二分查找答案,假设所有礼物的总重量为r ,所有礼物中最重的礼物为l ,那么答案只有能可能出[l,r] 这个区间内部,因为要求最大重量最小,那么当check mid 满足时,那么就将区间右端点更新为mid,否则将左端点更新为mid+1.

#include<bits/stdc++.h>
using namespace std;
const int N=100010;
int a[N];
int n,m;
int l,r,ans;
bool check(int x)
{int t=1;//包裹数量int sum=a[1];//重量总和for(int i=2;i<=n;i++){if(sum+a[i]<=x)//当前包裹还没到最大值则继续添加物品{sum+=a[i];}else //当前包裹到达了最大值,那么包裹数量加一,进行下一个包裹的包装{t+=1;sum=a[i];}}if(t<=m)return true;return false;
}
int main()
{cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];l=max(l,a[i]);r+=a[i];}while(l<=r){int mid=(l+r)/2;if(check(mid)){ans=mid;r=mid-1;}else l=mid+1;}cout<<ans<<endl;return 0;
}

2.约数个数

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

  我们用D(i)表示i有多少个约数。
  例如 D(1)=1 D(2)=2 D(3)=2 D(4)=3。
  给定n, 求D(1)+D(2)+D(3)+...+D(n)除以1000000007(10^9+7)的余数。

题解思路:我们考虑每个约数的贡献,约数x对总约数个数和的贡献为n/x,
换句话说1到n含约数x的有n/x个,为什么呢?
x的倍数的约数自然含x,换句话说现在就是在求n个数含多少个x的倍数,所以用n/x就行。所以我们得到了一个O(n)的算法。

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

3.寻找三位数

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

题目要求

将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成
  1:2:3的比例,试求出所有满足条件的三个三位数。
  例如:三个三位数192,384,576满足以上条件。

输出格式

  输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。

题解思路:这题就是考的一个全排列,这里我用next_permutation库函数进行解答

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

4.第二点五个不高兴的小明

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

题目要求:

有一条长为n的走廊,小明站在走廊的一端,每次可以跳过不超过p格,每格都有一个权值wi。
  小明要从一端跳到另一端,不能回跳,正好跳t次,请问他跳过的方格的权值和最大是多少?

题解思路:这题考察的是dp,f【i】【j】代表的是跳j次到了第i的位置,那么状态转移方程为

f[i][j]=max(f[i][j],f[i-k][j-1]+a[i]);

#include<bits/stdc++.h>
using namespace std;
const int  N=1010;
int a[N];
long long f[N][N];
int main()
{int n,p,t;cin>>n>>p>>t;for(int i=1;i<=n;i++){cin>>a[i];}memset(f,-0x3f,sizeof f);for(int i=1;i<=n+1&&i<=p;i++){f[i][1]=a[i];}for(int i=1;i<=n+1;i++){for(int j=2;j<=t;j++){for(int k=1;k<i&&k<=p;k++){f[i][j]=max(f[i][j],f[i-k][j-1]+a[i]);}}}cout<<f[n+1][t]<<endl;return 0;
}

[蓝桥杯]最后十天,冲刺进国赛相关推荐

  1. 2019 蓝桥杯 C/C++实现 B组国赛

    2019 蓝桥杯 C/C++实现 B组国赛 题目列表 A:平方序列 B:质数拆分 C:拼接 D:求值 E:路径计数 F:最优包含 G:排列数 H:解谜游戏 I:第八大奇迹 J:燃烧权杖 A:平方序列 ...

  2. 【蓝桥杯】第10届Scratch国赛第6题程序2 -- 捉迷藏

    [导读]:蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事.蓝桥杯大赛首席专家倪光南院士说:"蓝桥杯以考促学,塑造了领跑全国的人才培养选拨模式,并获得了行业的深度认可.&q ...

  3. 蓝桥杯青少年创意编程 C++组 国赛(第11届、第12届、第13届)

    蓝桥杯青少年组第十一届C++全国赛高级组讲解视频 蓝桥杯青少年组第十一届C++全国赛高级组讲解视频_哔哩哔哩_bilibili 蓝桥杯青少年组第十一届C++全国赛高级组讲解视频 蓝桥杯青少年组第十一届 ...

  4. 【蓝桥杯】 《3W字数总结》 蓝桥杯Java必备基础知识以及国赛真题解析

    本文会持续更新,如果对您有帮助的话可以点点关注,双击 本人2021年蓝桥杯C++B组国二,今年转战Java,并整理此文,希望能够对大家有所帮助,第一次写这么长的文章,可能有的地方写的不是很好,还请大家 ...

  5. 【蓝桥杯】第10届Scratch国赛第6题程序1 -- 捉迷藏

    [导读]:蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事.蓝桥杯大赛首席专家倪光南院士说:"蓝桥杯以考促学,塑造了领跑全国的人才培养选拨模式,并获得了行业的深度认可.&q ...

  6. 【蓝桥真题3】蓝桥改革变难,想进国赛这些能力你可缺一不可

    ⭐️引言⭐️ 大家好,我是执梗.蓝桥杯省赛的倒计时也就剩下一个月的时间了,如果练过近七八年的真题的小伙伴,很明显地能感觉到蓝桥杯的难度越来越大,虽然遥遥还比不上ACM,但它的平均难度正以明显地速度增加 ...

  7. 3a三次方h c语言表达式,希尔伯特曲线——第八届蓝桥杯C语言B组(国赛)第三题...

    原创 标题:希尔伯特曲线 希尔伯特曲线是以下一系列分形曲线 Hn 的极限.我们可以把 Hn 看作一条覆盖 2^n × 2^n 方格矩阵的曲线,曲线上一共有 2^n × 2^n 个顶点(包括左下角起点和 ...

  8. c语言一行黑白相间的瓷砖,磁砖样式——第八届蓝桥杯C语言B组(国赛)第二题...

    原创 标题:磁砖样式 小明家的一面装饰墙原来是 3*10 的小方格. 现在手头有一批刚好能盖住2个小方格的长方形瓷砖. 瓷砖只有两种颜色:黄色和橙色. 小明想知道,对于这么简陋的原料,可以贴出多少种不 ...

  9. 【蓝桥真题4】练练填空就想进国赛?拿下大题才能让你真正有底气(蓝桥31日冲刺打卡)

    ⭐️引言⭐️ 大家好啊,我是执梗.上次出的蓝桥真题三系列受到了很多同学的喜爱,大家问了我许多关于蓝桥杯的问题,我也一一解答了.但我发现起码一半以上的同学存在一个误区--我光靠选择题能拿个省一进国赛吗? ...

最新文章

  1. 机器人焊枪动作与编程实验_机器人编程实验报告.pdf
  2. usg2130 虚拟服务器,usg2130防火墙怎么样设置
  3. 网络安全防护部署,升级支持IPv6
  4. python 模块 包 库_模块(包、库)
  5. android开发仿原生联系人,android 仿IOS联系人列表
  6. (1)封装 (2)static关键字 (3)继承
  7. 23007 2017-2018-2 《程序设计与数据结构》第2周学习总结
  8. Soft Actor Critic算法论文公式详解
  9. css视差滑动(阅读网站案例)
  10. Padding Oracle攻击(POODLE)技术分析
  11. 从Oho到Siri (语言心理学简介)
  12. 笔记记录软件:NoteRecorder
  13. 基于Python通过Chrome的Cookie登录百度账户
  14. 2天,我把MySQL索引、锁、事务、分库分表撸干净了!
  15. 交流充电桩电路图_详细剖析交流充电桩上电源和RS485隔离原理
  16. 软件质量测试大作业示例
  17. dos2unix和unix2dos
  18. linux和android比较大小写,不区分大小写的串比较---Windows下的stricmp和Linux下的strcasecmp, 遇到了, 所以记录一下!...
  19. Linux获取以毫秒为单位的当前时间
  20. 爬取雪球股票网站数据

热门文章

  1. java计算机毕业设计在线水果超市源码+系统+mysql数据库+lw文档
  2. Java中间件-Elasticsearch
  3. Prometheus监控搭建(4)PrometheusAlert 配置
  4. Windows cmd命令 GeTu0529
  5. 2022-2028年中国休闲食品行业市场调查研究及发展前景规划报告
  6. 图文并茂raid技术详解(raid大全)
  7. 修改Anaconda默认的启动路径--亲测有效【附anaconda云盘链接】
  8. AI+RPA技术在反洗钱中的应用
  9. 单连通图(算法导论22.3-12)
  10. Python opencv进行圆形识别(圆检测)