我的算法修炼之路--8——预处理、滑窗优化、前缀和哈希同余,线性dp,图+并查集与逆向图

我的算法修炼之路--8——预处理、滑窗优化、前缀和哈希同余,线性dp,图+并查集与逆向图


在这里插入图片描述
💗博主介绍:计算机专业的一枚大学生 来自重庆 @燃于AC之乐✌专注于C++技术栈,算法,竞赛领域,技术学习和项目实战✌💗
💗根据博主的学习进度更新(可能不及时)
💗后续更新主要内容:C语言,数据结构,C++、linux(系统编程和网络编程)、MySQL、Redis、QT、Python、Git、爬虫、数据可视化、小程序、AI大模型接入,C++实战项目与学习分享。
👇🏻 精彩专栏 推荐订阅👇🏻
点击进入🌌作者专栏🌌:
Linux系统编程
算法画解
C++
🌟算法相关题目点击即可进入实操🌟
感兴趣的可以先收藏起来,请多多支持,还有大家有相关问题都可以给我留言咨询,希望希望共同交流心得,一起进步,你我陪伴,学习路上不孤单!

文章目录

前言

这些题目摘录于洛谷,好题,典型的题,考察各类算法运用,可用于蓝桥杯及各类算法比赛备战,算法题目练习,提高算法能力,补充知识,提升思维。
锻炼解题思路,从学会算法模板后,会分析,用到具体的题目上。
对应题目点链接即可做。

本期涉及算法:模拟 + 优化,图的性质 + 并查集,暴力枚举 + 预处理 + 滑动窗口(优化),线性dp,前缀和 + 哈希表 + 同余,正难则反-反图

题目清单

1.寻宝

题目:P1076 [NOIP 2012 普及组] 寻宝

在这里插入图片描述


在这里插入图片描述

解法:模拟 + 优化
根据题意模拟爬楼过程:

在这里插入图片描述

但是每层楼都去找那个房间的话,时间复杂度大,可以优化,用一个cnt[i]数组存:表示第i层楼有楼梯的房间数,用要找的第s个%cnt[i], 注意如果取模后=0,就是找第cnt[i]个符合要求的房间。

代码:

#include<iostream>usingnamespace std;typedeflonglong LL;constint N =1e4+10, M =110, MOD =20123; LL n, m;bool st[N][N];//标记楼梯信息 LL s[N][M];//维护指示牌信息 LL cnt[N];//用于优化,存第 i 楼有楼梯的房间个数intmain(){  cin >> n >> m;for(int i =1; i <= n; i++){ for(int j =0; j < m; j++)//注意:房间编号从0开始{ int a, b; cin >> a >> b;if(a){  st[i][j]=true; cnt[i]++;} s[i][j]= b;}}int pos =0; cin >> pos; LL ret =0;for(int i =1; i <= n; i++){  ret =(ret + s[i][pos])% MOD;//优化 LL step = s[i][pos]% cnt[i];if(!step) step = cnt[i];//注意 while(1){ if(st[i][pos]) step--;if(step ==0)break; pos++;if(pos == m) pos =0;//走了一圈 }} cout << ret << endl;return0;}

2.村村通

题目:P1536 村村通

在这里插入图片描述

解法:图的性质 + 并查集

这道题要将已经连接好的部分城镇和未连接的城镇都连通(可以是间接连接),连接的边数 = 连通块的个数 - 1。那么,就用并查集维护连通的点。 输入多组数据按ctrl + z结束。

#include<iostream>usingnamespace std;constint N =1010;int n, m;int fa[N

Read more

win10升级后总会弹出365 Copilot窗口如何禁用和关闭

win10升级后总会弹出365 Copilot窗口如何禁用和关闭

win10升级后总会弹出365 Copilot窗口如何禁用和关闭 在Windows 10中,可以通过以下几种方法禁用或关闭Microsoft 365 Copilot: 方法一:任务栏上直接禁用 1. 右键点击任务栏。 2. 在弹出的菜单中,找到并取消勾选“显示 Copilot(预览版)按钮”选项。 这种方法只是让Copilot不再显示在任务栏上,但并未彻底禁用该功能。用户仍然可以通过“Windows 键 + C”键盘快捷键来打开和关闭Copilot界面。 方法二:利用组策略彻底禁用 1. 打开开始菜单,搜索“组策略”并打开组策略编辑器。 2. 按照“用户配置 > 管理模板 > Windows 组件 > Windows Copilot”的路径依次展开。 3. 双击“关闭 Windows Copilot”

By Ne0inhk
LLaMA Factory 从入门到精通,一篇讲完

LLaMA Factory 从入门到精通,一篇讲完

目录 一、LLaMA-Factory 简介 二、安装部署 三、数据微调 1、数据集的建立 2、数据集格式 3、模型参数 4、开始运行 5、导出模型 四、webui 评估预测与对话 导出 五、SFT 训练 命令行 六、LoRA 合并 合并 量化 七、推理 原始模型推理配置 微调模型推理配置 多模态模型 批量推理 八、评估 通用能力评估 NLG 评估 评估相关参数 一、LLaMA-Factory 简介 LLaMA Factory 是一个简单易用且高效的大型语言模型(Large

By Ne0inhk
Chat took too long to get ready.Please ensure...<VSCode\Copilot>

Chat took too long to get ready.Please ensure...<VSCode\Copilot>

在VScode里面,应用Copilot提问,无法解决问题,该怎么解决呢? 1、在vscode里面,按键  ctrl + shift + p,输入setting,即看到setting.json文件 2、在setting.json文件中添加下面两行   "github.copilot.nextEditSuggestions.enabled": true,   "chat.extensionUnification.enabled":false, 参考图片25、26行 3、保存,重启vscode 4、重启后,点击vscode左下角人头像,查看是否有让授权Copilot的,如果有点击一下授权,解决!!! 如果这样无法解决,建议检查账号是不是不能使用Copilot功能了

By Ne0inhk