十二届蓝桥杯省赛c++(下)
1、

拿到题目一定要读懂题意,不要看到这题目就上来模拟什么闰年,一月的天数啥的。这个题目问你当天的时间,就说明年月日跟你都没关系,直接无视就好了。
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>using namespace std;#define ll long long//能开long long就开,避免爆数据 int main()
{ll n;cin >> n;n /= 1000;//先把毫秒转化为秒 ll hour = (n / 60 / 60) % 24;//求出小时数,一定要记得取模 ll minute = (n % 3600 / 60) % 60;//分钟数 ll s = n % 3600 % 60;//秒数 if (hour < 10) cout << 0;//记得处理好零的输出 cout << hour << ':';if (minute < 10) cout << 0;cout << minute << ':';if (s < 10) cout << 0;cout << s;return 0;
}
2、

(1)动态规划:
闫氏dp分析法:

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <cmath>using namespace std;#define N 1010000int f[150][N] ,n ,w[N] ,ans ,sum; int main()
{cin >> n;for (int i = 1 ;i <= n ;i ++) cin >> w[i] ,sum += w[i];//拿sum存储砝码的重量之和 f[0][0] = 1;//初始化,零个砝码测出质量为0的方案有一个 for (int i = 1 ;i <= n ;i ++){for (int j = 0 ;j <= sum ;j ++){f[i][j] = f[i - 1][j];//第i个砝码没有用 f[i][j] += f[i - 1][abs(j - w[i])];//第i个砝码放左边 f[i][j] += f[i - 1][j + w[i]];//第i个砝码放右边 }}for (int i = 1 ;i <= sum ;i ++)if (f[n][i]) ans ++;//如果有值,说明前n个砝码可以测出来重量为i的物品,答案加一 cout << ans;return 0;
}
(2)dfs暴力,拿一半分
如果这道题实在没时间做或者说想不到思路,那么我们就可以考虑暴力拿分
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <cmath>using namespace std;#define N 1010000int n ,w[N] ,ans;
bool vis[N];void dfs(int k ,int g)
{if (k > n){if (g > 0 && !vis[g]){ans ++;vis[g] = true;}return;}dfs(k + 1 ,g);dfs(k + 1 ,g + w[k]);dfs(k + 1 ,abs(g - w[k]));
}int main()
{cin >> n;for (int i = 1 ;i <= n ;i ++){cin >> w[i];}dfs(0 ,0);cout << ans; return 0;
}
3、

这一届的题目从这一题开始往后,难度就起来了。
1、先说暴力做法吧,可以拿四十分,直接预处理一千行
#include<iostream>
#include<algorithm>
#include<cstring>using namespace std;const int N = 1e3 + 10;int n = 1000;
int a[N][N];int main() {a[1][1] = 1;for (int i = 2; i <= n; i ++) // 预处理for (int j = 1; j <= i; j ++)a[i][j] = a[i - 1][j] + a[i - 1][j - 1];int x; cin >> x;int cnt = 0;for (int i = 1; i <= n; i ++) // 枚举for (int j = 1; j <= i; j ++) {cnt ++;if (a[i][j] == x) {cout << cnt;return 0;}} return 0;
}
2、正解
关于这道题我们需要明白:杨辉三角其实就是组合数!如图:

从图中我们可以观察出两个性质:
1、以中间的紫色分割线为界,左右两边的数值是相等的。那么右边存在的某一个值左边一定也存在,并且根据题目的排序方式来看左边相对而言更加靠前,也就是说某一个数N第一次一定是在左边先出现。因此,我们要找的结果一定是在左边部分中。
2、中间一列数从上往下是在递增的,每一横排从左往右也在递增,每一斜行从上往下也在递增。所以每个斜行都保持了单调性。
现在知道了这两个性质,我们可以想想怎么从左边中找到N。直接枚举的复杂度太高,不可取,而根据第二条中所提到的单调性,我们可以很自然的想到二分法。那么该如何二分?竖着?横着?这都不可取,因为不论是哪一种我们都无从下手。所以我们需要斜着来!每一个斜行从紫色部分开始,也就是C(k,2*k)的形式,到C(k ,n)结束(为什么从n结束?可以思考一下,倘若想不明白可以私信问我)。由于n最大1e9,C(34, 17) > 1e9, C(32, 16) < 1e9,因此只要枚举前16个斜行即可。
C(k, r)对应的顺序值为:(r + 1) * r / 2 + k + 1
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>using namespace std;#define ll long longll n;ll c(int a ,int b)
{ll res = 1;for (int i = a ,j = 1 ;j <= b ;i -- ,j ++)//求组合数的过程 {res = res * i / j;if (res > n) return res;//如果res已经大于n就不用在求了,肯定不是答案,直接返回。这样也可以避免爆数据 }return res;
}bool h(int k)
{int l = 2 * k ,r = n;while (l < r){ll mid = (l + r) / 2;if (c(mid ,k) >= n) r = mid;elsel = mid + 1;}if (c(l ,k) != n) return false;cout << 1ll * (l + 1) * l / 2 + k + 1;//如果找到了,输出位置 return true;
}int main()
{cin >> n;for (int i = 16 ; ;i --)//枚举前十六个斜行 if (h(i)) break;return 0;
}
4、

我也不会。。。
5、
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>using namespace std;#define ll long long
#define N 5500const int mod = 1000000007;ll f[N][N] ,len;
char s[N];ll hu()
{memset(f ,0 ,sizeof(f));f[0][0] = 1;for (int i = 1 ;i <= len ;i ++){if (s[i] == '('){for (int j = 1 ;j <= len ;j ++)f[i][j] = f[i - 1][j - 1];}else {f[i][0] = (f[i - 1][0] + f[i - 1][1]) % mod;for (int j = 1 ;j <= len ;j ++)f[i][j] = (f[i - 1][j + 1] + f[i][j - 1]) % mod;}}for (int i = 0 ;i <= len ;i ++)if (f[len][i]) return f[len][i];return -1;}int main()
{scanf("%s" ,s + 1);len = strlen(s + 1);ll l = hu();reverse(s + 1 ,s + len + 1);for (int i = 1 ;i <= len ; i ++){if (s[i] == '(') s[i] = ')';elses[i] = '(';}ll r = hu();printf("%lld" ,l * r % mod);return 0;
}
相关文章:
十二届蓝桥杯省赛c++(下)
1、 拿到题目一定要读懂题意,不要看到这题目就上来模拟什么闰年,一月的天数啥的。这个题目问你当天的时间,就说明年月日跟你都没关系,直接无视就好了。 #include <iostream> #include <cstring> #include <algori…...
数据结构与算法——堆的基本存储
目录 一、概念及其介绍 二、适用说明 三、结构图示 四、Java 实例代码 五.堆和栈的区别 一、概念及其介绍 堆(Heap)是计算机科学中一类特殊的数据结构的统称。 堆通常是一个可以被看做一棵完全二叉树的数组对象。 堆满足下列性质: 堆中某个节点的值总是不大…...
来了来了 !!!K8s指令、yaml部署
文章目录k8s资源清单一、k8s资源指令1、基础操作2、命令手册二、资源清单1、required2、optional3、other4、资源清单格式5、常用命令三、部署实例1、nginx3、eureka部署k8s资源清单 一、k8s资源指令 1、基础操作 #创建且运行一个pod #deployment、rs、pod被自动创建 kubect…...
spring-cloud-feign实战笔记
feign 配置 针对单个feign接口进行配置feign:client:config:# feignName 注意这里与contextId一致,不能写成name(FeignClientFactoryBean#configureFeign)# 不能写成 client-b (微服务名称),否则不生效helloFeignClient: # conte…...
【Pytorch】利用PyTorch实现图像识别
本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052 这是目录使用torchvision库的datasets类加载常用的数据集或自定义数据集使用torchvision库进行数据增强和变换,自定义自己的图像分类数据集并使用torchvision库加载它们使…...
在家查找下载最新《柳叶刀》The Lancet期刊文献的方法
《柳叶刀》The Lancet简介: 《柳叶刀》The Lancet是全球顶尖综合性医学期刊,每周都会发表来自世界各地顶尖科学家的研究精粹。是由托马斯威克利(Thomas Wakley)创办于1823年,由爱思唯尔(Elsevierÿ…...
当下的网络安全行业前景到底怎么样?还能否入行?
前言网络安全现在是朝阳行业,缺口是很大。不过网络安全行业就是需要技术很多的人达不到企业要求才导致人才缺口大常听到很多人不知道学习网络安全能做什么,发展前景好吗?今天我就在这里给大家介绍一下。网络安全作为目前比较火的朝阳行业&…...
SpringCloud:SpringAMQP介绍
Spring AMQP是基于RabbitMQ封装的一套模板,并且还利用SpringBoot对其实现了自动装配,使用起来非常方便。Spring AMQP官方地址 Spring AMQP提供了三个功能: 自动声明队列、交换机及其绑定关系基于注解的监听器模式,异步接收消息封…...
第十三届蓝桥杯省赛 python B组复盘
文章目录前言主要内容🦞试题 A:排列字母思路代码🦞试题 B:寻找整数思路代码🦞试题 C:纸张尺寸思路代码🦞试题 D:数位排序思路代码🦞试题 E:蜂巢思路代码&…...
SQL注入之HTTP请求头注入
Ps: 先做实验,在有操作的基础上理解原理会更清晰更深入。 一、实验 sqli-lab 1. User-Agent注入 特点:登陆后返回用户的 User-Agent --> 服务器端可能记录用户User-Agent 输入不合法数据报错 payload: and updatexml(1,concat("~&…...
Metasploit详细教程
第一步:安装和启动Metasploit 您可以从Metasploit官方网站下载适用于您操作系统的Metasploit框架。安装Metasploit框架后,您可以使用以下命令来启动Metasploit: msfconsole该命令将启动Metasploit控制台。 第二步:查找目标设备…...
【ChatGPT】Notion AI 从注册到体验:如何免费使用
欢迎关注【youcans的GPT学习笔记】原创作品,火热更新中 【ChatGPT】Notion AI 从注册到体验1. Notion AI 介绍1.1 Notion AI 简介1.2 Notion AI 的核心能力1.3 Notion AI 与 ChatGPT 的比较2. Notion AI 国内用户注册2.1 PC 端用户注册2.2 移动端用户注册3. Notion …...
每个开发人员都需要掌握的10 个基本 SQL 命令
SQL 是一种非常常见但功能强大的工具,它可以帮助从任何数据库中提取、转换和加载数据。数据查询的本质在于SQL。随着公司和组织发现自己处理的数据量迅速增加,开发人员越来越需要有效地使用数据库来处理这些数据。所以想要暗恋数据领域,SQL是…...
Vue项目预渲染
前言 Ajax 技术的出现,让我们的 Web 应用能够在不刷新的状态下显示不同页面的内容,这就是单页应用。在一个单页应用中,往往只有一个 html 文件,然后根据访问的 url 来匹配对应的路由脚本,动态地渲染页面内容。单页应用…...
可别再用BeanUtils了(性能拉胯),试试这款转换神器
老铁们是不是经常为写一些实体转换的原始代码感到头疼,尤其是实体字段特别多的时候。有的人会说,我直接使用get/set方法。没错,get/set方法的确可以解决,而且也是性能较高的处理方法,但是大家有没有想过,要…...
Transformer 杂记
Transformer输入的是token,来自语言序列的启发。卷积神经网络(CNN)是如何进行物种分类的.它实际是直接对特征进行识别,也就是卷积神经网络最基本的作用:提取图像的特征。例如:卷积神经网络判断一只狗的时候,…...
实现异步的8种方式
前言异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间,比如:「发送短信、邮件、异步更新等」,这些都是典型的可以通…...
Github隐藏功能显示自己的README,个人化你的Github主页
Github隐藏功能:显示自己的README 你可能还不知道,GitHub 悄悄上线了一个全新的个人页功能,显示一个自定义的 README.MD 在个人首页。要激活此功能,需要新建一个与自己 ID 同名的 Repository,新 Repo 里的README.MD将…...
单片机 | 51单片机原理
【金善愚】 单片机应用原理篇 笔记整理 课程视频 :https://space.bilibili.com/483942191/channel/collectiondetail?sid51090 文章目录一、引脚分布介绍1.分类2.电源引脚3.时钟引脚(2根)4.控制引脚(4根)5.端口引脚(32根)二、存储器结构及空间分布介绍1.存储器的划…...
(只需五步)注册谷歌账号详细步骤,解决“此电话号码无法验证”问题
目录 第一步:打开google浏览器 第二步:设置语言为英语(美国) 第三步:点击重新启动,重启浏览器 第四步:开始注册 第五步,成功登录google账号! 如果出现这样的原因&…...
基于GPT-5.4的本科毕业论文智能写作实战指南:从实验数据到完稿的全流程教程
摘要: 对于已完成实验并手握参考文献的大四学生而言,将 months of experiments 转化为符合学术规范的毕业论文往往是最具挑战性的环节。本教程系统介绍如何利用GPT-5.4这一先进的大语言模型,通过科学的提示词工程(Prompt Engineer…...
CM1数值模拟新手避坑指南:从namelist.input配置到并行计算实战
CM1数值模拟新手避坑指南:从namelist.input配置到并行计算实战 刚接触CM1模式的研究人员常常会在配置文件和并行计算环节踩坑——某个参数设置不当可能导致数小时的计算结果突然崩溃,或是并行效率低下浪费计算资源。本文将用真实案例拆解那些文档里没写…...
虚幻引擎蓝图调试实战:从“无访问”错误到IsValid的防御性编程
1. 当蓝图突然报错"无访问"时该怎么办 第一次在虚幻引擎里看到"‘无访问’正在尝试读取属性"这个报错时,我整个人都是懵的。明明昨天运行得好好的功能,今天突然就崩溃了。这种情况特别常见,尤其是当你修改了一些看似无关…...
别再死磕点云了!用DeepSDF和PyTorch实现高质量3D模型补全(附代码)
突破传统3D补全瓶颈:基于DeepSDF的智能修复实战指南 当你面对残缺的3D扫描数据时,是否厌倦了传统点云方法带来的锯齿状表面和模糊细节?在文物数字化修复或游戏资产重建中,我们常常遇到这样的困境:珍贵的雕塑缺失了关键…...
手把手教你用LVGL 8.x实现一个会变色的电池电量控件(附完整代码)
从零构建LVGL 8.x动态电池控件:变色逻辑与分辨率适配实战 在智能手表、医疗设备等嵌入式场景中,电池电量的可视化展示从来都不只是简单的数字堆砌。想象一下,当用户瞥见设备屏幕时,一个会随着电量降低逐渐由绿转红的电池图标&…...
Unity Input System手势识别避坑指南:为什么你的双指缩放总是不跟手?
Unity Input System手势识别避坑指南:为什么你的双指缩放总是不跟手? 当你在Unity中实现双指缩放功能时,是否遇到过这样的问题:用户手指明明在屏幕上流畅滑动,但画面却像卡顿了一样,或者缩放比例突然跳变&a…...
Windows 10终极清理指南:5步让系统飞起来的完整教程
Windows 10终极清理指南:5步让系统飞起来的完整教程 【免费下载链接】Debloat-Windows-10 A Collection of Scripts Which Disable / Remove Windows 10 Features and Apps 项目地址: https://gitcode.com/gh_mirrors/de/Debloat-Windows-10 你是否感觉Windo…...
Kronos时间序列预测模型全攻略:从技术原理到工业实践
Kronos时间序列预测模型全攻略:从技术原理到工业实践 【免费下载链接】Kronos Kronos: A Foundation Model for the Language of Financial Markets 项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos 问题:时间序列预测的行业痛点…...
终极指南:如何使用Docker Stacks与Git Hooks实现自动化代码质量检查
终极指南:如何使用Docker Stacks与Git Hooks实现自动化代码质量检查 【免费下载链接】docker-stacks Ready-to-run Docker images containing Jupyter applications 项目地址: https://gitcode.com/gh_mirrors/do/docker-stacks Docker Stacks是一个提供现成…...
解锁Mac微信潜能:WeChatExtension全功能增强方案
解锁Mac微信潜能:WeChatExtension全功能增强方案 【免费下载链接】WeChatExtension-ForMac Mac微信功能拓展/微信插件/微信小助手(A plugin for Mac WeChat) 项目地址: https://gitcode.com/gh_mirrors/we/WeChatExtension-ForMac 挖掘核心价值:突…...
