当前位置: 首页 > article >正文

东华复试OJ二刷复盘16

进阶23设 F(N) 表示正整数 1 到正整数 N 中,数字 1,2 总共出现了多少次。例如 N 10 时:1, 2, 3, 4, 5, 6, 7, 8, 9, 10 这 10 个数中,数字 1 出现了两次,数字 2 出现了 1 次,所以数字 1, 2 总共出现了 3 次,因此 F (10) 3。现在给你正整数 N ,请你求出 F(N) 的值。由于 F(N) 可能很大,你仅需输出 F(N) 除以 20123 的余数。用遍历的形式实现复杂度过高。标准答案为动态规划#include bits/stdc.h using namespace std; int ans0; void Count12(vectorintcur){ for(auto it:cur){ if(it 1 || it2 )ans; } } void AddOne(vectorintcur){ int jin0; cur[0]; for(auto it:cur){ itjin; jinit/10; it%10; if(jin0)return; } } bool IsContinue(vectorintcur,strings1){//是否继续 for(int i0;is1.size();i){ if(cur[i] ! (s1[i] - 0))return true; } return false; } int main(){ string s1;cins1; reverse(s1.begin(),s1.end()); vectorint cur(s1.size(),0); cur[0]1; while(IsContinue(cur,s1)){ Count12(cur); AddOne(cur);//自增 } Count12(cur);//相等时退出循环再记录一次 coutansendl; system(pause); }进阶24个锁上面看起来有 N 个数字,它们排成一排,并且每个数字都在 0 到 2 之间。你发现你可以通过锁上的机关来交换相邻两个数字的顺序。这个锁在上面存在某连续四个数字是“2012”的时候会自动打开。现在,你需要计算一下,你至少需要进行多少次交换操作才能打开这把锁?如果无论如何都没有希望打开这把锁,输出 -1。广度优先遍历。除了遍历的情况还需要注意写上不需要遍历和遍历得不到结果的初始边界情况。#include bits/stdc.h using namespace std; string s; struct node{ string curS; int step0; }; int ans0; unordered_setstring visited; void bfs(queuenodeq,stringtarget){ while(!q.empty()){//循环入队出队 node cur q.front();q.pop(); //边界条件检查 if(cur.curS.find(target) ! -1){ ans cur.step;return; } //否则继续广度遍历 for(int i0;icur.curS.size()-1;i){ node nextN cur; swap(nextN.curS[i],nextN.curS[i1]);//遍历与右侧元素交换 nextN.step; if(visited.find(nextN.curS) visited.end()){ visited.insert(nextN.curS); q.push(nextN); } else continue; } } } int main(){ int len;cinlens; string target 2012; if(s.find(target) ! -1){ coutansendl;return 0; } queuenode q; node newNode; newNode.curS s; newNode.step 0; q.push(newNode); bfs(q,target); if(ans!0)coutansendl; else cout-1endl; system(pause); }基础123大小为N的棋盘游戏包括N个白棋子N个黑棋子还有有2N1个格子的木盒子。这里是3-棋盘游戏的解包括初始状态中间状态和目标状态WWW BBBWW WBBBWWBW BBWWBWB BWWB BWBW BWBWBWBWBWBBW WBWBBWBW WBBWBWBWBWBWB WBWB BWWB BWBWWBB WBWWBBBW WWBBB WWW在这个游戏里有两种移动方法是允许的1. 你可以把一个棋子移到与它相邻的空格2. 你可以把一个棋子跳过一个(仅一个)与它不同色的棋子到达空格。请编一个程序解大小为N的棋盘游戏(1 N 12)。要求用最少的移动步数实现。错误1string cur q.pop() 出队不会返回队首元素而是需要front来访问pop做删除。错误2parent.find(news) parent.end()如果使用parent[ans]来比较会因为[] 访问会自动创建一个空字符串键值对所以用find查键下面回溯也是同理。#include bits/stdc.h using namespace std; unordered_mapstring, string parent; string target; void InsertParent(stringnews,stringps,queuestringq){ if(parent.find(news) parent.end()){ q.push(news); parent.insert({news,ps}); } } void BFS(queuestringq){ while(!q.empty()){ string cur q.front();q.pop(); //边界 if(cur target)return; //通过map来回溯步骤 //入队遍历 int ZeroIndex cur.find( ); if(ZeroIndex!0){ string newS cur; swap(newS[ZeroIndex-1],newS[ZeroIndex]); InsertParent(newS,cur,q); } if(ZeroIndex!cur.size()-1){ string newS cur; swap(newS[ZeroIndex1],newS[ZeroIndex]); InsertParent(newS,cur,q); } if(ZeroIndex2){ string newS cur;//异色 if(newS[ZeroIndex-2] ! newS[ZeroIndex-1]){ swap(newS[ZeroIndex],newS[ZeroIndex-2]); InsertParent(newS,cur,q); } } if(ZeroIndexcur.size()-3){ string newS cur;//异色 if(newS[ZeroIndex2] ! newS[ZeroIndex1]){ swap(newS[ZeroIndex],newS[ZeroIndex2]); InsertParent(newS,cur,q); } } } } int main(){ int len;cinlen; string s; for(int i0;i2*len1;i){ if(ilen){ s.push_back(W); target.push_back(B); } else if(ilen){ s.push_back( ); target.push_back( ); } else{ s.push_back(B); target.push_back(W); } } string start s; // couttargetendl; // coutsendl; queuestring q; q.push(s); BFS(q); vectorint ansSpace; string ans target; while(ans ! s) { ansSpace.push_back(ans.find( )1); ans parent[ans]; } //parent[ans]用 [] 访问会自动创建一个空字符串键值对 //导致 parent 多出一个无用条目导致死循环或错误。 reverse(ansSpace.begin(),ansSpace.end()); for(auto it:ansSpace){ coutit ; } system(pause); }Federated learning is a distributed machine learning approach that aims to train models while preserving user data privacy. In traditional machine learning methods, data is usually centralized on servers for training. However, in many real-world scenarios, data is private and sensitive, making it difficult to share directly. Federated learning addresses this problem by training models locally on devices and only uploading model parameters or gradient information to a central server. In this way, collaborative learning can be achieved without exposing raw data. Federated learning has attracted increasing attention in fields such as mobile computing, medical data analysis, and financial risk control.联邦学习是一个分布式机器学习方法它旨在保护用户数据隐私的情况下训练模型。在传统的机器学习方法用于训练的数据通常是集中在服务器中。然而在许多现实情况下数据是敏感且隐私的这使得直接共享数据是困难的。联邦学习通过在本地设备上训练模型并仅上传模型参数或梯度信息来解决这个问题。通过这个方式能在不暴露原始数据的情况下实现联合学习。联邦学习已经在一些领域吸引越来越多的关注例如移动计算医疗数据分析金融风险控制。Federated learning 联邦学习 preserving 保护/保存 scenarios 场景/情景

相关文章:

东华复试OJ二刷复盘16

进阶23:设 F(N) 表示正整数 1 到正整数 N 中,数字 1,2 总共出现了多少次。例如 N 10 时:1, 2, 3, 4, 5, 6, 7, 8, 9, 10 这 10 个数中,数字 1 出现了两次,数字 2 出现了 1 次,所以数字 1, 2 总共出现了 3 次,因此 F (10) 3。现在给你正整数 N ,请你求出 F(N) 的值…...

学长亲荐!毕业论文全流程神器 —— 千笔·专业论文写作工具

你是否曾在论文写作中感到无从下手?选题犹豫不决、框架混乱不清、文献查找困难、查重率屡屡超标……这些常见的学术难题,是否让你倍感焦虑?别再独自挣扎,现在有了一款真正懂你的智能助手——千笔AI。它专为毕业论文全流程打造&…...

MCP SDK多语言一致性保障方案:从代码生成器定制到ABI校验工具链(含开源CLI工具v1.2正式版)

第一章:MCP 跨语言 SDK 开发指南 对比评测报告MCP(Model Control Protocol)作为新兴的模型交互协议标准,其跨语言 SDK 的成熟度与一致性直接影响开发者集成效率与系统可维护性。本报告基于 Go、Python、TypeScript 三大主流语言 S…...

Dify RAG召回优化终极方案(2026 Q1生产环境验证版)

第一章:Dify RAG召回优化终极方案(2026 Q1生产环境验证版)概述本方案基于 Dify v1.12.0 与 LlamaIndex v0.10.53 深度协同,在金融风控问答、法律条文检索、企业知识库三类高精度场景中完成全链路压测与AB测试,平均召回…...

如何通过运动干预改善儿童多动症的注意力问题?

通过VRAT注意力测评分析儿童多动症运动干预效果 VRAT注意力测评是一种有效的工具,用于评估儿童的注意力水平,尤其是针对多动症的孩子。在运动干预过程中,通过VRAT测评,可以清晰了解孩子在参与不同体育活动前后的注意力变化。这种评…...

基于Real-ESRGAN的文档图像增强微调:去除订书钉折痕及阴影

基于Real-ESRGAN的文档图像增强微调:去除订书钉折痕及阴影 目录 项目背景与目标 Real-ESRGAN模型原理 数据集准备 环境搭建与依赖 模型微调实现 5.1 配置修改 5.2 数据加载器定制 5.3 训练脚本编写 5.4 训练过程监控 模型评估与还原度分析 Java端部署与推理 7.1 ONNX模型导出…...

Hadoop 3.3.4集群性能调优实战:基于1主3从架构的CentOS7配置详解

Hadoop 3.3.4集群性能调优实战:基于1主3从架构的CentOS7配置详解 当电商平台的日活用户突破百万级别时,原始的日志处理方案开始显露出明显的性能瓶颈。某头部电商的运维团队发现,其基于单节点的日志分析系统处理每日2TB的访问数据需要近8小时…...

Python枚举的高级玩法:从状态机到策略模式的优雅实现

Python枚举的高级玩法:从状态机到策略模式的优雅实现 在Python开发中,枚举(Enum)常被简单地用作常量集合,但它的潜力远不止于此。对于熟悉设计模式的中高级开发者来说,枚举可以成为简化复杂模式实现的利器。…...

【技术综述】多任务学习中的特征共享机制与优化策略

1. 多任务学习的特征共享机制揭秘 第一次接触多任务学习时,我就像发现了一个神奇的"瑞士军刀"——一个模型居然能同时完成多个任务!但真正用起来才发现,这个工具的精髓在于如何让不同任务"和谐共处"。最核心的问题就是&a…...

EternalBlaze零基础上手指南:三步搞定Windows重复文件硬链接合并

面对日益膨胀的磁盘空间占用,许多Windows用户陷入两难境地。 删除重复文件担心误删重要数据,保留又意味着存储资源的白白浪费。 EternalBlaze的出现为这一问题提供了优雅的解决方案。 本文将从软件获取到实际操作,手把手带你完成第一次硬链…...

单相逆变器Matlab仿真:TCM模式和CCM模式

单相逆变器matlab仿真(TCM模式和CCM模式) 输入400v输出220,L200uH,C20uF,P500w TCM模式: 全周期内实现zvs软开关,负电流控制外环采用pr控制,消除电压静差。 CCM模式: 外环pr控制,内环pi控制最近在研究单相逆…...

django重复导入可能会导致未知错误------无法识别某个函数

from inspire.base import *比如,如果已解决用上面的句子全部导入了,然后再添加这么一句:from inspire.base import goodFun那么可能导致另外一个函数无法识别,例如:from inspire.base import fultureFun这个函数明明…...

Markdown+Pandoc学术论文写作全攻略:从YAML配置到参考文献引用

MarkdownPandoc学术论文写作全攻略:从YAML配置到参考文献引用 在数字化写作工具百花齐放的今天,Markdown以其极简语法和强大兼容性,正成为学术写作的新宠。不同于传统Word文档的繁琐格式调整,Markdown让研究者可以专注于内容本身&…...

023.(实战)定制化Chromedriver编译——彻底规避Selenium指纹检测

1. 为什么需要定制化Chromedriver? 如果你用过Selenium做爬虫或者自动化测试,大概率遇到过被网站识别为机器人的情况。我自己就踩过这个坑——明明代码写得没问题,目标网站却总是返回验证码或者直接封禁IP。后来排查发现,问题出在…...

在Ubuntu 22.04上为Pixel4编译Android 12内核:新旧环境差异与依赖包处理指南

在Ubuntu 22.04上为Pixel4编译Android 12内核:新旧环境差异与依赖包处理指南 如果你正在使用Ubuntu 22.04 LTS为Pixel4编译Android 12内核,可能会发现许多基于Ubuntu 18.04的教程不再适用。新版本的系统库、Python默认版本和依赖包名称的变化&#xff0c…...

华为交换机Sub主从IP地址配置(单个VLAN,实现多个网段互相通信)

一、Sub主从IP介绍1.1 介绍华为核心交换机的 Sub 主从 IP(Secondary IP),是在 VLANIF 三层接口下配置的单接口多 IP 技术,一个接口仅设 1 个主 IP,可配多个带sub关键字的从 IP,主从 IP 分属不同网段&#x…...

动态建模驱动的仓储空间认知能力构建与关键技术研究—— 基于镜像视界 Pixel-to-Space、多视角视频融合、三维重构与轨迹建模的空间计算框架

动态建模驱动的仓储空间认知能力构建与关键技术研究—— 基于镜像视界 Pixel-to-Space、多视角视频融合、三维重构与轨迹建模的空间计算框架一、研究背景:仓储系统迈向“空间认知能力”时代在现代仓储与物流体系中,随着自动化设备、无人运输系统与多主体…...

Jlink与CMSIS-DAP仿真器:如何根据项目需求选择最佳调试工具

1. 嵌入式调试工具的选择困境 刚入行嵌入式开发那会儿,我最头疼的就是选调试工具。面对琳琅满目的仿真器,Jlink和CMSIS-DAP这两个名字总是反复出现。记得第一次用Jlink调试STM32时,那种"秒下载"的畅快感让我印象深刻;而…...

Rust+Spark性能翻倍?快手Blaze引擎实战指南(附TPC-DS测试对比)

RustSpark性能翻倍:Blaze引擎实战与TPC-DS测试深度解析 大数据处理领域正经历一场静默的革命——当传统Spark作业仍在JVM的桎梏中挣扎时,Rust语言与向量化技术的结合正在重塑性能边界。本文将带您深入Blaze引擎的实战集成过程,从环境配置到性…...

CTP接口开发避坑指南:下单过程中那些容易忽略的细节与错误处理

CTP接口开发避坑指南:下单过程中那些容易忽略的细节与错误处理 在金融衍生品交易系统的开发中,CTP接口作为国内期货市场的主流接入方案,其下单环节的稳定性直接关系到交易系统的可靠性。许多开发者在初步掌握基础API调用后,往往会…...

BLE 4.0传输速度翻倍秘籍:实战调整连接参数与写入策略

BLE 4.0传输速度翻倍秘籍:实战调整连接参数与写入策略 在物联网设备开发中,BLE 4.0协议因其低功耗特性被广泛应用,但默认配置下的传输速度往往难以满足固件升级、实时医疗监测等高数据量场景的需求。本文将深入解析如何通过优化连接参数和写入…...

避坑指南:第一次做软件交付如何准备文档?这7个文件缺一不可

软件交付文档全攻略:从零搭建专业交付体系 第一次负责软件交付就像新手司机第一次上高速——既兴奋又忐忑。兴奋的是项目终于到了交付阶段,忐忑的是不知道前方会有什么"坑"等着你。而文档,就是你的导航系统,缺了它&…...

告别手写SQL:用MyBatis-Flex的APT功能,在Spring Boot 3里5分钟搞定增删改查

告别手写SQL:用MyBatis-Flex的APT功能,在Spring Boot 3里5分钟搞定增删改查 每次新建一个数据表,你是否还在重复编写那些几乎一模一样的CRUD代码?从实体类定义到Mapper接口,再到各种查询条件的拼接,这些重复…...

基于AI微信小程序的心理咨询预约系统_ohyab8bm

目录需求分析与功能设计技术选型与架构设计核心功能实现测试与部署运营与迭代项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析与功能设计 明确心理咨询预约系统的核心需求,包括用户注册/登录、心理咨询师信…...

vue+python智能医疗辅助系统的

目录技术栈选择系统模块设计核心实现步骤部署方案关键代码示例项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术栈选择 前端采用Vue 3 TypeScript Vite构建,UI框架使用Element Plus或Ant Design Vue。后端基于…...

永磁同步电机SVPWM自适应无位置算法控制仿真Simulink模型探索

永磁同步电机SVPWM自适应无位置算法控制仿真simulink模型。 配文档,仅供学习。在电机控制领域,永磁同步电机(PMSM)凭借其高效、节能等优点,广泛应用于工业、交通等诸多领域。而要实现对PMSM精准且高效的控制&#xff0…...

基于FPGA的FFT法相差检测Verilog实现之旅

基于FPGA的信号处理算法,FFT法相差检测verilog实现 1.硬件平台:altera芯片 2.软件平台:Quartusii 13.1 Verilog 3.实现功能:检测两路正弦波的相位在信号处理的广袤领域中,基于FPGA(现场可编程门阵列&#x…...

从 Vibe Coding 到 Agentic Engineering:ArkClaw + Supabase,打造你的私有化 Agent 工厂

核心提要:当“Vibe Coding”(氛围编程)从一个梗变成现实,我们是否想过,AI 能做的远不止生成代码片段?本文将带你探索如何将强大的智能体框架 ArkClaw 与 Serverless 后端平台 Supabase 结合,打造…...

深入理解OPTIONS请求:跨域预检的机制与实践

1. OPTIONS请求的本质与跨域预检机制 第一次在Chrome开发者工具里看到那个神秘的OPTIONS请求时,我也是一头雾水。明明只发了一个POST请求,为什么控制台里会多出个"无关"的请求?后来才知道,这正是浏览器保护我们安全的&q…...

springboot基于vue美剧观影点评网站的设计与实现

目录技术选型核心模块设计关键实现步骤数据模型示例典型API示例安全控制措施测试部署方案扩展优化方向项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术选型 后端框架:Spring Boot 2.7.x(Java 11&…...