蓝桥杯 2025 C++组 省 B 题解
可分解的正整数
算法:思维
因为可以有负数 所以除了1以外的任何数都可以构造
当这个数为x构造方法为
-(x-1) -(x-2) -(x-3) ....-1 0 1...x-3 x-2 x-1 x
除了x,x以前的数都会被负数抵消
#include <bits/stdc++.h>
#define ll long long
ll a[100005];
using namespace std;
int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);ll n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}ll ans=0;for(int i=1;i<=n;i++){if(a[i]!=1) ans++;}cout<<ans<<"\n";return 0;
}
产值调整
算法:思维 打表
当三个数相同时 不管怎么调整 结果不会发生改变,所以当三个数相同时break即可
根据模拟题目要求打表后发现,调整100次后 所有数都会变成相同的,所以break后不会使代码超时
#include <bits/stdc++.h>
#define ll long long
ll a[100005];
using namespace std;
int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);ll t;cin>>t;while(t--){ll a,b,c,k;cin>>a>>b>>c>>k;for(int i=1;i<=k;i++){ll na,nb,nc;na=(b+c)/2;nb=(a+c)/2;nc=(a+b)/2;a=na;b=nb;c=nc;if(a==b and b==c) break;}cout<<a<<" "<<b<<" "<<c<<" "<<"\n";}return 0;
}
画展布置
算法:前缀和
观察计算公式 需要用到的数皆为平方 提前处理 将每个数平方后 公式将被简化为 每两个数之间的差的和 贪心的思考 使得一组数相邻两个数之间差的和最小 数组有序为最优 先排序 排序后枚举开始的位置 求当前位置到当前位置+m位置的差的和 使用前缀和预处理每个位置的前缀和查询即可。
#include <bits/stdc++.h>
#define ll long long
ll a[100005],b[100005],c[100005];
using namespace std;
int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);ll n,m;cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+1+n);for(int i=1;i<n;i++){b[i]=a[i+1]*a[i+1]-a[i]*a[i];}for(int i=1;i<n;i++){c[i]=c[i-1]+b[i];}ll ans=1e18;for(int i=1;i<=n-m+1;i++){ans=min(ans,c[i+m-2]-c[i-1]);}cout<<ans<<"\n";return 0;
}
水质检测
算法:模拟
按题目要求模拟即可,唯一需要贪心的点,即为
#. .#
的情况 从左往右判断时 若要使它们联通 最优的方案为
## .#
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);string s[2];cin>>s[0]>>s[1];ll n=s[0].size();s[0]=" "+s[0];s[1]=" "+s[1];ll ans=0;ll l=0,r=0;for(int i=1;i<=n;i++){if((s[0][i]=='#' || s[1][i]=='#') && l==0){l=i;}if((s[0][i]=='#' || s[1][i]=='#')){r=i;}}ll cnt=-1;if(s[0][l]=='.' && s[1][l]=='#') cnt=1;if(s[1][l]=='.' && s[0][l]=='#') cnt=0;for(int i=l+1;i<=r;i++){if(s[0][i]=='.' && s[1][i]=='.'){ans++;}else if(s[0][i]=='#' && s[1][i]=='.'){if(cnt==1){cnt=-1;ans++;}else{cnt=0;}}else if(s[0][i]=='.' && s[1][i]=='#'){if(cnt==0){cnt=-1;ans++;}else{cnt=1;}}else{cnt=-1;}}cout<<ans<<"\n";return 0;
}
生产车间
算法:树形DP/树上DP
先考虑这道题 但没考虑出来 开始蹭分
于是输出根的权值获得(洛谷50%)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll a[1005];
int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);ll n;cin>>n;ll ans=0;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<n;i++) {ll o,p;cin>>o>>p;}cout<<a[1];return 0;
}
装修报价
方案1:DFS爆搜(30%分)
算法:DFS
为每两个数字之间遍历它们是否为异或。如果当前位置为异或,则提前计算,并储存它们异或后的数字序列。 然后遍历每个位置是‘+’还是‘-’并计算,加入答案。
#include <bits/stdc++.h>
#define ll long long
ll a[100005];
using namespace std;
const ll MOD = 1e9 + 7;
ll ans=0;ll n;
void dfs2(vector<ll> v){if(v.size()==1){ans+=v[0];ans%=MOD;return;}ll it=v[v.size()-1];v.pop_back();v[0]+=it;dfs2(v);v[0]-=it;v[0]-=it;dfs2(v);
}
void dfs(vector<ll> v,ll x){if(x>n) {dfs2(v);return;}v.push_back(a[x]);dfs(v,x+1);v.pop_back();if(v.size()){ll tp=v[v.size()-1];v[v.size()-1]^=a[x];dfs(v,x+1);v[v.size()-1];}
}
int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>n;vector<ll> d;ll now=0;for(int i=1;i<=n;i++){cin>>a[i];now^=a[i];}dfs(d,1);cout<<ans<<"\n";return 0;
}
方案2:数学 规律 打表(100%分)
时间复杂度:O(n)
每个数字后都存在‘+’和‘-’,无论之后的数字间填写什么符号,结果都会被抵消,但从第一个位置异或到第i个位置的答案会保留(1<=i<=n)。
位置1异或到3 (1组)
0⊕2⊕5=7
位置1异或到2 (2组)位置3和它之后的都被抵消
0⊕2 +5=7
0⊕2 −5=−3
位置1 (6组) 位置2和它之后的都被抵消
0 +2⊕5=7
0 −2⊕5=−70 +2−5=−3
0 −2+5=30 +2+5=7
0 −2−5=−7
所以最后的结果为
第一个数字 1组
第一个数字异或到第二个数字 2组
第二个数字异或到第三个数字 6组
第三个数字异或到第四个数字 18组
从第n-1个数字前 每个位置的组数是后一个的三倍 依次递增求和即可
#include <bits/stdc++.h>
#define ll long long
ll a[100005];
using namespace std;
const ll MOD = 1e9 + 7;
ll ans=0;ll n;
int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>n;vector<ll> d;ll now=0;for(int i=1;i<=n;i++){cin>>a[i];now^=a[i];}ll op=2;ans+=now;now^=a[n];ll tp=0;for(int i=n-1;i>=1;i--){ans+=now*op;ans%=MOD;now^=a[i];op*=3;op%=MOD;}ans%=MOD;ans+=MOD;ans%=MOD;cout<<ans<<"\n";return 0;
}相关文章:
蓝桥杯 2025 C++组 省 B 题解
可分解的正整数 算法:思维 因为可以有负数 所以除了1以外的任何数都可以构造 当这个数为x构造方法为 -(x-1) -(x-2) -(x-3) ....-1 0 1...x-3 x-2 x-1 x 除了x,x以前的数都会被负数抵消 #include <bits/stdc.h> #define ll long long ll a…...
如何让老电脑运行快些(极限榨干老电脑硬件)
要让老电脑运行更快,可以通过增加虚拟内存、优化系统设置和硬件升级等方法实现。以下是具体建议: 1. 增加虚拟内存(适合硬盘空间大的老电脑) 虚拟内存(页面文件)是硬盘上的一部分空间,用于扩展…...
博物馆小程序怎么做?从0到1打造数字化文化窗口
博物馆小程序怎么做?从0到1打造数字化文化窗口 一、行业痛点:传统博物馆的数字化困局 在数字化浪潮下,传统博物馆普遍面临三大挑战: 客流受限:线下接待能力有限,难以触达更广泛人群 互动单一…...
信息学奥赛一本通 1498:Roadblocks | 洛谷 P2865 [USACO06NOV] Roadblocks G
【题目链接】 ybt 1498:Roadblocks 洛谷 P2865 [USACO06NOV] Roadblocks G 【题目考点】 1. 图论:严格次短路径 严格次短路的路径长度必须大于最短路的路径长度。 非严格次短路的路径长度大于等于最短路的路径长度。 【解题思路】 每个交叉路口是一…...
1.5-APP的架构\微信小程序的架构
1.5-APP的架构\微信小程序的架构 APP的三种开发架构: 原生态APP类型 APP-开发架构-原生态-IDEA 演示:remusic项目源码 NP管理器: http://normalplayer.top/ HttpCanary:https://github.com/mingww64/HttpCanary-SSL-Magisk 安全影…...
【服务器端表单字符验证】
文章目录 一、实验目的二、核心代码实现三、调试关键问题四、总结 一、实验目的 掌握JSP表单验证在服务器端的实现技术,实现对用户输入字符的非空及长度为5的验证,返回对应提示信息并优化用户交互。 二、核心代码实现 前端表单 <form action"…...
【玩转全栈】—— Django 连接 vue3 保姆级教程,前后端分离式项目2025年4月最新!!!
本文基于之前的一个旅游网站,实现 Django 连接 vue3,使 vue3 能携带 CSRF Token 发送 axios 请求给后端,后端再响应数据给前端。想要源码直接滑倒底部。 目录 实现效果 解决跨域 获取 csrf-token 什么是 csrf-token ? CSRF攻击的…...
react中通过 EventEmitter 在组件间传递状态
要在 Reply 组件中通过 statusChangeEvent 发送状态值,并在 Select 组件中接收这个状态值 status,你可以按照以下步骤实现: //Event.jsimport EventEmitter from events;export const statusChangeEvent new EventEmitter();// 工单状态切换…...
数据库实验:分组查询与聚集函数的使用
目录 引言一、GROUP BY核心规则与常见错误二、高级分组选项:ROLLUP、CUBE与GROUPING SETS三、窗口函数:在原始行中显示分组聚合结果四、UNION ALL合并结果集:解决冗余查询问题五、实验体会 结语 (附上实验中表格的信息)…...
【mllm】——x64模拟htp的后端无法编译debug
mllm, qnn, x64 code:https://github.com/UbiquitousLearning/mllm 1. 问题 通过自定义qualcomm graph使用高通的htp后端进行llm推理,网络暂时只有mllm,和https://github.com/chraac/llama.cpp。qualcomm是支持x64模拟htp推理的,这样比较好d…...
计算机网络- UDP协议详解
UDP协议详解 5. UDP协议详解5.1 UDP协议基础5.1.1 UDP的基本概念5.1.2 UDP报文结构5.1.3 UDP校验和计算5.1.4 UDP在Linux内核中的实现UDP套接字的创建UDP数据的发送UDP数据的接收UDP校验和的计算 5.1.5 UDP的实际应用音视频流媒体在线游戏DNS查询VoIP通信网络时间同步 5.2 UDP编…...
Open-TeleVision源码解析——宇树摇操方案的重要参考:VR控制人形机器人采集数据
前言 本来针对Open-TeleVision的源码解析,是打算放在此文《从宇树摇操avp_teleoperate到unitree_IL_lerobot:如何基于宇树人形进行二次开发》中的,但考虑到为避免篇幅过长,故独立成此文 第一部分 Open-TeleVision的源码解析 如本…...
Embedding质量评估、空间塌缩、 Alignment Uniformity
Embedding质量的评估和空间塌缩的解决是自然语言处理(NLP)和推荐系统领域的关键问题。以下是综合多篇研究的总结: 一、Embedding质量评估方法 基准测试与任务指标 MTEB/C-MTEB:使用多语言或中文的基准测试集(如58个数据…...
[题解] Educational Codeforces Round 168 (Rated for Div. 2) E - level up
链接 思路 1 注意到在 k ∈ [ 1 , n ] k \in [1,n] k∈[1,n] 可以得到的最高等级分别为: n , n 2 , n 3 . . . . . n n n,\frac{n}{2},\frac{n}{3}.....\frac{n}{n} n,2n,3n.....nn, 总的个数是一个调和级数, s u m n ∗ ln n sumn*\ln n sumn∗lnn, 完全可以处…...
Lua 中的 table 类型详解
Lua 中的 table 类型详解 table 是 Lua 中唯一的数据结构机制,它实现了关联数组的功能,可以用来表示普通数组、序列、符号表、集合、记录、图、树等几乎所有数据结构。 基本特性 table 是 Lua 中唯一的数据结构类型可以包含任意类型的值(n…...
github进阶使用教程
目录索引 一、基本内容 repository fork star codespaces issue 在一个仓库创建话题讨论,可以由仓库主人选择开始和结束话题的讨论 pull request(也称 pr) 协同其他仓库开发,请求仓库主人拉取自己的代码合并到仓库的主分支&…...
推流265视频,网页如何支持显示265的webrtc
科技发展真快,以前在网页上(一般指谷歌浏览器),要显示265的视频流,都是很鸡肋的办法,要么转码,要么用很慢的hls,体验非常不好,而今谷歌官方最新的浏览器已经支持265的web…...
“破解”GPT-4o生图技术:万物皆可吉卜力的技术路线推测
👉目录 1 GPT-4o 的神奇魔法 2 GPT-4o 可能的技术路线推测 3 结语 最近 GPT-4o 生图模型横空出世,效果和玩法上都有突破性的进展,笔者整理了一下目前相关的技术,抛砖引玉一下,希望有更多大神分享讨论。 图源小红书恶魔…...
基于SpringBoot的电影订票系统(源码+数据库+万字文档+ppt)
504基于SpringBoot的电影订票系统,系统包含两种角色:管理员、用户主要功能如下。 【用户功能】 首页:浏览系统电影动态。 资讯信息:获取有关电影行业的新闻和资讯。 电影信息:查看电影的详细信息和排片情况。 公告信…...
07-算法打卡-链表-移除链表-leetcode(203)-第七天
1 题目地址 203. 移除链表元素 - 力扣(LeetCode)203. 移除链表元素 - 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1:[https://assets.leetc…...
[C++面试] 初始化相关面试点深究
一、入门 1、C中基础类型的初始化方式有哪些?请举例说明 默认初始化 对于全局变量和静态变量,基础类型(如int、float、double等)会被初始化为 0;而对于局部变量,其值是未定义的,包含随机…...
在线地图支持天地图和腾讯地图,仪表板和数据大屏支持发布功能,DataEase开源BI工具v2.10.7 LTS版本发布
2025年4月11日,人人可用的开源BI工具DataEase正式发布v2.10.7 LTS版本。 这一版本的功能变动包括:数据源方面,Oracle数据源支持获取和查询物化视图;图表方面,在线地图支持天地图、腾讯地图;新增子弹图&…...
粉末冶金齿轮学习笔记分享
有一段小段时间没有更新了,不知道小伙们有没有忘记我。最近总听到粉末冶金齿轮这个概念,花点时间来学习一下,总结一篇笔记分享给大家。废话不多说,直接开始: “粉末冶金”是一种制造工艺,包括在高压下压实…...
Retina:部署在神经硬件的SNN眼动追踪算法
论文链接:Retina : Low-Power Eye Tracking with Event Camera and Spiking Hardware 这是一篇发表在2024CVPRW上的文章,做了三个contribution: 将SNN放在Eye Tracking任务上。提出了Ini-30数据集部署到了Spike硬件上 还是挺有趣的。但是由于…...
OCR API识别对比
OCR 识别DEMO OCR识别 demo 文档由来 最开始想使用百度开源的 paddlepaddle大模型 研究了几天,发现表格识别会跨行,手写识别的也不很准确。最终还是得使用现成提供的api。。 文档说明 三个体验下来 腾讯的识别度比较高,不论是手写还是识别表…...
nodejs构建项目
从零到一搭建 Node.js 框架 搭建一个 Node.js 框架是理解 Web 应用架构的绝佳方式。本指南将带您完成创建一个轻量级但功能完善的 Node.js 框架的全过程,类似于 Express 或 Koa,但规模更小,便于理解。 目录 项目初始化创建核心应用类路由系…...
flutter 桌面应用之右键菜单
在 Flutter 桌面应用开发中,context_menu 和 contextual_menu 是两款常用的右键菜单插件,各有特色。以下是对它们的对比分析: context_menu 集成方式:通过 ContextMenuArea 组件包裹目标组件,定义菜单项。掘金…...
Cygwin编译安装Acise
本文记录Windows下使用Cygwin编译安装Acise的流程。 零、环境 操作系统Windows11Visual Studio CodeVisual Studio Code 1.92.0Cygwin 一、工具及依赖 1.1 Visual Studio Code 下载并安装Visual Studio Code, 同时安装以下插件, Task Explorer Output Colorizer …...
基于STM32、HAL库的IP6525S快充协议芯片简介及驱动程序设计
一、简介: IP6525S是一款高性能的同步降压DC-DC转换器芯片,具有以下特点: 输入电压范围:4.5V至32V 输出电压范围:0.8V至30V 最大输出电流:5A 效率高达95% 可编程开关频率(100kHz-1MHz) 支持PWM和PFM模式 内置过流保护、过温保护等功能 该芯片常用于工业控制、通信设备…...
RabbitMQ惰性队列的工作原理、消息持久化机制、同步刷盘的概念、延迟插件的使用方法
惰性队列工作原理 惰性队列通过尽可能多地将消息存储到磁盘上来减少内存的使用。与传统队列相比,惰性队列不会主动将消息加载到内存中,而是尽量让消息停留在磁盘上,从而降低内存占用。尽管如此,它并不保证所有操作都是同步写入磁…...
