第十三届蓝桥杯省赛大学B组编程题(c++)

D.刷题统计

二分(AC):

注意:二分时右边界 right 的确定

#include<iostream>
using namespace std;
long long a,b,n;
bool check(long long x){long long t=x/7;x%=7;long long temp=0;if(x<=5) temp=x*a;else temp=5*a+(x-5)*b;long long cnt=t*(5*a+2*b)+temp;return cnt>=n;
}
int main(){cin>>a>>b>>n;long long left=0,right=n/min(a,b)+1;while(left<right){long long mid=(left+right)/2;if(check(mid)) right=mid; else left=mid+1;}cout<<left<<endl;return 0;
}

E.修剪灌木

数学思维(AC):

#include<iostream>
using namespace std;
int n;
int main(){cin>>n;for(int i=1;i<=n;i++){int left=2*(i-1);int right=2*(n-i);cout<<max(left,right)<<endl;}return 0;
}

F.X 进制减法

暴力+模拟(AC):

十年OI一场空,不开浪浪见祖宗

#include<iostream>
using namespace std;
typedef long long ll;
const int N=1e5+5;
const ll mod=1e9+7;
ll n,ma,mb,ans1,ans2,a[N],b[N],x[N],v[N];
int main(){ios::sync_with_stdio(false),cin.tie(0);cin>>n>>ma;for(int i=ma-1;i>=0;i--) cin>>a[i];cin>>mb;for(int i=mb-1;i>=0;i--) cin>>b[i];for(int i=max(ma-1,mb-1);i>=0;i--) x[i]=max((long long)2,max(a[i]+1,b[i]+1));for(int i=0;i<=max(ma,mb)-1;i++){if(i==0) v[i]=1;else{v[i]=v[i-1]*x[i-1];v[i]%=mod;}}for(int i=ma-1;i>=0;i--) ans1+=v[i]*a[i],ans1%=mod;for(int i=mb-1;i>=0;i--) ans2+=v[i]*b[i],ans2%=mod;cout<<(ans1-ans2+mod)%mod<<endl;return 0;
}

G.统计子矩阵

二维前缀和+暴力(70 points):

#include<iostream>
using namespace std;
const int N=505;
int n,m,k,a[N][N];
long long ans;
int main(){cin>>n>>m>>k;for(int i=1;i<=n;i++) {for(int j=1;j<=m;j++) {cin>>a[i][j];a[i][j]+=a[i-1][j]+a[i][j-1]-a[i-1][j-1];}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){for(int x=1;x<=i;x++){for(int y=1;y<=j;y++){if(k>=(a[i][j]+a[x-1][y-1]-a[x-1][j]-a[i][y-1])){ans++;}}}}}cout<<ans<<endl;return 0;
}

优化(AC):

#include<iostream>
using namespace std;
const int N=505;
int n,m,k,a[N][N];
long long ans;
int main(){cin>>n>>m>>k;for(int i=1;i<=n;i++) {for(int j=1;j<=m;j++) {cin>>a[i][j];a[i][j]+=a[i-1][j]+a[i][j-1]-a[i-1][j-1];}}for(int i=1;i<=n;i++){for(int j=i;j<=n;j++){for(int l=1,r=1;r<=m;r++){while(l<=r&&k<(a[j][r]+a[i-1][l-1]-a[j][l-1]-a[i-1][r])){l++;}ans+=r-l+1;}}}cout<<ans<<endl;return 0;
}

这题暴力70足以...... 

H.积木画

递推与递归(AC):

#include<iostream>
using namespace std;
const long long mod=1e9+7;
const int N=1e7+5;
int n,f[N];
int main(){cin>>n;f[1]=1,f[2]=2,f[3]=5;if(n>=4){for(int i=4;i<=n;i++){f[i]=2*f[i-1]%mod+f[i-3]%mod;f[i]%=mod;}}cout<<f[n]<<endl;return 0;
}

思路和洛谷题单算法1-4递推与递归 P1990 覆盖墙壁 一模一样......

I.李白打酒加强版

动态规划+记忆化搜索(AC):

#include<iostream>
#include<cstring>
using namespace std;
const int N=105;
const int mod=1e9+7;
int n,m,dp[N][N][N];//当前酒量,剩余遇见店的次数,剩余遇见花的次数
int dfs(int x,int y,int z) {//出现负数不合法if(x<0||y<0||z<0) return 0;//当前酒量不可能大于剩余遇见花的次数"if(x>z) return 0;//最后一次必须遇见花并且酒量只剩1if(z==1) return y==0&&x==1;//记忆化if(dp[x][y][z]!=-1) return dp[x][y][z];//逢店加倍,遇花减一dp[x][y][z]=(dfs(x*2,y-1,z)+dfs(x-1,y,z-1))%mod;return dp[x][y][z];
}
int main(){memset(dp,-1,sizeof(dp));cin>>n>>m;cout<<dfs(2,n,m)<<endl;return 0;
}

J.砍竹子

unorder_set特点:无序不重复的集合
//头文件:
#include<unordered_set>
//常用函数:
unorder_set.empty();  //判断容器是否为空,空为true,反之为false
unorder_set.size();   //返回容器大小
unorder_set.begin();  //返回迭代器开始
unorder_set.end();    //返回迭代器结束
unorder_set.find(x);  //返回x在迭代器的位置
unorder_set.count(x); //返回x在容器的个数
unorder_set.insert(x);//将x插入到容器中
unorder_set.erase(x); //删除x,成功返回1,反之返回0
unorder_set.clear();  //清空容器

解释样例:

#include<iostream>
#include<unordered_set>
#include<cmath>
typedef long long ll;
using namespace std;
ll ans;            //累计不同的数的个数
unordered_set<ll>s;//保存上次出现过的数
int main() {int n;cin>>n;for(int i=1;i<=n;i++) {ll temp;cin>>temp;unordered_set<ll>cur;  //每次读取一个数时,用来记录当前数的所有中间结果while(temp!=1) {cur.insert(temp);  //将当前数加入当前集合if (s.find(temp)==s.end()) ans++;//如果当前数不在之前的集合内,ans自增temp = sqrtl(temp/2+1);          //计算下一个数}s=cur; //更新保存所有出现过的数的集合}cout<<ans<<endl;return 0;
}

这题真难想...... 

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

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

相关文章

MySOL之旅--------MySQL数据库基础( 2 )

本篇碎碎念:尽自己最大的努力,直到筋疲力尽为止,加油 今日份励志文案: 别人都在前进,我为什么要停下 目录 补上一条博客缺失的内容 常用数据类型 数值类型&#xff1a; 字符串类型&#xff1a; 日期/时间类型&#xff1a; 二进制类型&#xff1a; 其他类型&#xff1a; …

抖音小店入驻有什么条件?资金少,没经验的普通人做得起吗?

大家好&#xff0c;我是电商花花。 在直播电商的推动下&#xff0c;抖音小店独特的电商模式下吸引着众多的商家&#xff0c;吸引着一波又一波的创业者入驻&#xff0c;想要在抖音小店上开垦出属于自己的电商净土。 想要入驻抖音小店还需要一些条件&#xff0c;然后才能入驻成…

Python机器学习学习线路

随着人工智能技术的飞速发展&#xff0c;机器学习已经成为计算机科学领域的热门话题。Python&#xff0c;作为一门功能强大且易于上手的编程语言&#xff0c;成为学习机器学习的理想选择。本文将为您介绍一条Python机器学习的学习线路&#xff0c;帮助您逐步掌握机器学习的基础…

ARM/X86+FPGA轨道交通/工程车辆行业的解决方案

深圳推出首条无人驾驶地铁—深圳地铁20号线&#xff0c;可以说是深圳地铁的一次开创性的突破。智能交通不断突破的背后&#xff0c;需要很严格的硬件软件等控制系 统&#xff1b;地铁无人驾驶意味着信号系统、通信系统、综合监控系统、站台屏蔽门工程等项目必须严格执行验收。…

ping命令返回无法访问目标主机和请求超时浅析

在日常经常用ping命令测试网络是否通信正常&#xff0c;使用ping命令时也经常会遇到这两种情况&#xff0c;那么表示网络出现了问题。 1、请求超时的原因 可以看到“请求超时”没有收到任何回复。要知道&#xff0c;IP数据报是有生存时间的&#xff0c;当其生存时间为零时就会…

goproxy一键安装脚本(稳定易用的proxy软件)

goproxy 官网 https://goproxy.cn/ go语言开发的简单易用高性能proxy 软件 #!/bin/bash # time: 2021-05-11 17:47:39 # by: Chen ##执行脚本需要传入网络设备名 ##例&#xff1a;sh goproxy-install.sh eth0# 0.安装必须要的依赖 yum install wget -y || apt install wget -y…

vue简单使用二(循环)

目录 属性绑定 if判断&#xff1a; for循环&#xff1a; 属性绑定 代码的形式来说明 三元表达式的写法&#xff1a; if判断&#xff1a; for循环&#xff1a; 完整代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"…

ActiveMQ + MQTT 集群搭建(虚机版本) + Springboot使用配置

文章目录 前言一、ActiveMQ、 MQTT是什么&#xff1f;1.ActiveMQ介绍2.MQTT介绍 二、集群搭建步骤1.下载apache-activemq-5.15.12-bin.tar.gz2.上传apache-activemq-5.15.12-bin.tar.gz到服务器并解压文件到文件夹clusters、master、slave三个文件夹下面形成三个节点&#xff0…

Win10下安装Anaconda

Anaconda是可以便捷获取包且对包能够进行管理&#xff0c;同时对环境可以统一管理的发行版本&#xff0c;它包含了conda、Python在内的超过180个科学包及其依赖项。 安装Anaconda Anaconda官方下载网址&#xff1a;https://www.anaconda.com/download 官网页面中&#xff0c…

Docker日志查看神器

探索Dozzle&#xff1a;简单实用的Docker日志查看工具 在容器化应用程序的开发和部署中&#xff0c;日志管理是至关重要的一环。为了便于查看和监控Docker容器的日志信息&#xff0c;开发人员和运维团队需要便捷的工具。Dozzle 就是这样一款简单实用的Docker日志查看工具&…

2024 Mathorcup高校数学建模挑战赛(A题)| PCI冲突问题 | 建模秘籍文章代码思路大全

铛铛&#xff01;小秘籍来咯&#xff01; 小秘籍团队独辟蹊径&#xff0c;以整数规划&#xff0c;多元回归等强大工具&#xff0c;构建了解决复杂问题的独特方案。深度学习, 混沌模型的妙用&#xff0c;为降低非法野生动物贸易提供新视角。通过综合分析&#xff0c;描绘出概率、…

基于springboot实现知识管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现知识管理系统演示 摘要 随着信息互联网信息的飞速发展&#xff0c;无纸化作业变成了一种趋势&#xff0c;针对这个问题开发一个专门适应师生作业交流形式的网站。本文介绍了知识管理系统的开发全过程。通过分析企业对于知识管理系统的需求&#xff0c;创建了…

日出6万单!美区“开塞露”卖疯了,保健赛道正式起飞!

质疑养生&#xff0c;理解养生&#xff0c;加入养生&#xff01; 从保温杯里泡枸杞&#xff0c;到桌上摆满保健品&#xff0c;"养生"已经从一种模糊的概念转变为了生活中的刚需。在加班、熬夜、脱发这些"亚健康"标签的围绕下&#xff0c;年轻人开始重视自…

k8s基础入门

前言 开始学习K8S了&#xff0c;下面就是笔记整理 简介 k8s是谷歌开源得容器管理系统&#xff0c;主要功能包括 基于容器得应用部署&#xff0c;维护和滚动升级负载均衡和服务发现跨机器和跨地区得集群调度自动伸缩无状态服务和有状态服务广泛得Volume支持插件保持扩展性 …

ELFK的部署

目录 一、ELFK&#xff08;FilebeatELK&#xff09; 1. Filebeat的作用 2. ELFK工作流程 3. ELFK的部署 3.1 服务器配置 3.2 服务器环境 3.3 安装filebeat 3.4 修改filebeat主配置文件 3.5 在logstash组件所在节点&#xff08;apache节点&#xff09;上新建一个logstas…

如何管好地铁站见新质生产力 | 图扑数字孪生

智慧车站建设是现代交通领域的重要发展方向&#xff0c;旨在通过集成先进的信息技术&#xff0c;提升车站的运营效率、安全性及乘客体验。基于既有的综合监控技术&#xff0c;通过集成多种传感器和数据采集设备&#xff0c;实现对车站设备、环境、客流、人员等对象群的智能感知…

这样画箱线图,为你的SCI论文增色!

高级箱线图的绘制 下面的箱线图比较美观&#xff0c;非常适合数据量不大、且分布明显的时候使用。 在论文撰写中&#xff0c;图表的清晰和吸引人的展示方式是至关重要的。箱线图&#xff08;Whisker Plot&#xff09;是一种展示数据分布的经典工具&#xff0c;它不仅可以清楚地…

第十一届蓝桥杯大赛第二场省赛试题 CC++ 研究生组-七段码

#include<iostream> using namespace std; const int N 10, M 7; int e[N][N] {0}, f[N], open[N];//e[i][j]表示i和j之间是否连通&#xff1b;f[i]表示结点i的父节点&#xff1b;open[i] 1表示结点i打开&#xff0c;0表示关闭 long long ans 0;int find(int x){if(…

【ROS2笔记一】ROS2的基本组件

1.ROS2的基本组件 与ROS1类似的&#xff0c;ROS2也具有node&#xff0c;topic&#xff0c;service&#xff0c;action之类的组件&#xff0c;并且也具有rqt等工具。 可以像使用ROS1的命令行的方式&#xff08;参这里【ROS学习笔记7】ROS中的常用命令行&#xff09;&#xff0…

Mysql内存表及使用场景(12/16)

内存表&#xff08;Memory引擎&#xff09; InnoDB引擎使用B树作为主键索引&#xff0c;数据按照索引顺序存储&#xff0c;称为索引组织表&#xff08;Index Organized Table&#xff09;。 Memory引擎的数据和索引分开存储&#xff0c;数据以数组形式存放&#xff0c;主键索…