天梯集训+代码打卡笔记整理
1.着色问题


直接标注哪些行和列是被标注过的,安全格子的数量就是未标注的行*列
#include <bits/stdc++.h>
using namespace std;const int N = 1e5+10;
int hang[N],lie[N];int main(){int n,m;cin>>n>>m;int q;cin>>q;while(q--){int x,y;cin>>x>>y;if(x==0){if(hang[y]==0){hang[y] = 1;n--;}}else{if(lie[y]==0){lie[y] = 1;m--;}}}cout<<m*n<<endl;return 0;
}
2.插松枝
当涉及队列的相关操作的时候需要判断队列是否为空,否则会导致段错误。
deque<int>dq; # 双端队列
dq.push_back(t); # 尾插
dq.pop_back(); # 尾元素出队
dp.pop_front(); # 头元素出队
dq.empty(); # 判断队列是否为空
3.老板的作息表


vector<pair<string, string>>vec # 存储题目的两个字符串
vec.push_back({a,b}); # 在容器尾部插入元素
sort(vec.begin(), vec.end()); # 升序排序,第一个元素相同时,按照第二个元素升序排序
#include <bits/stdc++.h>
using namespace std;int main(){int n;cin>>n;vector<pair<string,string>>s;for(int i=1;i<=n;i++){string a,b,c;cin>>a>>b>>c;s.push_back({a,c});}sort(s.begin(), s.end());string re = "-1";for(auto t:s){if(re=="-1"){re = t.second;if(t.first!="00:00:00"){cout<<"00:00:00 - "<<t.first<<endl;}}else{if(re!=t.first){cout<<re<<" - "<<t.first<<endl;}re = t.second;}}if(re!="23:59:59"){cout<<re<<" - "<<"23:59:59";}return 0;
}
4.在主串s中查找字串t
string t = "123";
string s = "123321";
s.find(t, 0)!=string::npos; # !=说明找到字串了
5.从字符串数据流中读取整数
string s = "12 7";
istringstream iss(s); # 将字符串转化为数据流
int L,T;
iss>>L>>T; # 从数据流中读出整数 L=12 T=7
6.字符大小写转化
#include <bits/stdc++.h>
using namespace std;int main(){char a = 'A';char c = a+32; // 'a'cout<<c<<endl;char b = 'z';char d = b-32;cout<<d<<endl; // 'Z'
}
7.记忆数字

#include <bits/stdc++.h>
using namespace std;int main(){string s;getline(cin, s);int len = 0;for(char c:s){if(isalpha(c)){ # 是否是字符len++;}else if(len){cout<<len%10;len = 0;}}if(len){cout<<len%10;}return 0;
}
8.猜单词


#include <bits/stdc++.h>
using namespace std;struct Node {string s;int a, b;
};int main() {vector<Node> vec(5);for (auto &[s, a, b] : vec) {cin >> s >> a >> b;}auto check = [&](const string &t) {bool res = true;set<char> ss(t.begin(), t.end()); # 对t的每个字符插入到set中for (auto &[s, a, b] : vec) {int x = 0, y = 0;for (int i = 0; i < 3; i++) {x += ss.count(s[i]);y += s[i] == t[i];}res &= x == a && y == b;}return res;};vector<string> ans;for (char i = 'A'; i <= 'Z'; i++) {for (char j = 'A'; j <= 'Z'; j++) {for (char k = 'A'; k <= 'Z'; k++) {string t = {i, j, k};if (check(t)) {ans.push_back(t);}}}}cout << ans.size() << '\n';for (auto &x : ans) {cout << x << '\n';}return 0;
}
9.寻宝图

从每个位置进行搜索,找到以这个位置扩散出去的岛屿,则岛屿数量加1,并将遍历过的地方都置为已经遍历过,遍历过程中判断是否有宝藏
#include <bits/stdc++.h>
using namespace std;const int N = 1e5+7;
vector<int>a[N];
vector<int>whe[N];
bool flag;
int n,m;
int dx[] = {-1,0,1,0};
int dy[] = {0,-1,0,1};void dfs(int i,int j){whe[i][j] = 1;if(a[i][j]>1){flag = true;}for(int t=0;t<=3;t++){int xx = i+dx[t];int yy = j+dy[t];if(xx>=0&xx<n&&yy>=0&&yy<m){if(whe[xx][yy]==1||a[xx][yy]==0){continue;}else{dfs(xx,yy);}}}
}int main(){cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){char c;cin>>c;a[i].push_back(c-'0');whe[i].push_back(0);}}int sum=0, count = 0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(whe[i][j]==0&&a[i][j]>0){sum++;flag = false;dfs(i,j);if(flag){count++;}}}}cout<<sum<<" "<<count<<endl;return 0;
}
10.吉老师的回归


#include <bits/stdc++.h>
using namespace std;int main(){int n,m;cin>>n>>m;cin.ignore();int flag = 0;m++; # m++是因为当做到最后一道题的时候是能AK的,若不+1会误判for(int i=1;i<=n;i++){string s;getline(cin, s);if(s.find("qiandao")!=string::npos||s.find("easy")!=string::npos){continue;}m--;if(m==0){flag = 1;cout<<s<<endl;}}if(flag==0){cout<<"Wo AK le"<<endl;}return 0;
}
11.乘法口诀表

直接枚举从1到n,当项数多于n的时候break即可
#include <bits/stdc++.h>
using namespace std;const int N = 1e4+7;
int a[N];int main(){int a1,a2,n;cin>>a1>>a2>>n;a[1] = a1;a[2] = a2;int count = 2;for(int i=1;i<=n;i++){int re = a[i]*a[i+1];if(re<=9){count++;a[count] = re;}else{count++;a[count] = re/10;count++;a[count] = re%10;}if(count>=n){break;}}for(int i=1;i<=n;i++){cout<<a[i]<<(i==n?"":" ");}return 0;
}
12.深入虎穴


深度搜索,需要注意的是,入口是入度为0的门
#include <bits/stdc++.h>
using namespace std;const int N = 1e5+7;
int whe[N]; # 记录某个门是否被遍历过
int dis[N]; # 记录到每个门的距离
int du[N]; # 记录每个门的入度
vector<int>a[N]; # 记录每个门的邻接门void dfs(int i){whe[i] = 1;for(int t=0;t<a[i].size();t++){if(whe[a[i][t]]==0){dis[a[i][t]] = dis[i]+1;dfs(a[i][t]);}else{continue;}}
}int main(){int n;cin>>n;for(int i=1;i<=n;i++){int k;cin>>k;for(int j=1;j<=k;j++){int x;cin>>x;du[x]++;a[i].push_back(x);}}for(int i=1;i<=n;i++){if(du[i]==0){dfs(i);}}int distance = -1;int index = -1;for(int i=1;i<=n;i++){if(dis[i]>distance){distance = dis[i];index = i;}}cout<<index<<endl;return 0;
}
13.倒数第N个字符

26进制,其中n刚开始要--,因为最后一个字符算倒一字符
#include <bits/stdc++.h>
using namespace std;int main(){int l,n;cin>>l>>n;string re = "";n--;for(int i=1;i<=l;i++){re += 'z';}for(int i=l-1;i>=0;i--){re[i] -= n%26;n /= 26;}cout<<re<<endl;return 0;
}
14.福到了

对每一行的数据当作字符串来处理,先将每行reverse,再将总体reverse即可得到reverse 的结果,vector容器当作数组使用的时候要初始化
#include <bits/stdc++.h>
using namespace std;int main(){char c;int n;cin>>c>>n;cin.ignore();vector<string>be(n+1),af(n+1);for(int i=1;i<=n;i++){string t;getline(cin, t);af[i] = t;be[i] = t;reverse(af[i].begin(), af[i].end());}reverse(af.begin()+1, af.end());if(af==be){cout<<"bu yong dao le"<<endl;}for(int i=1;i<=n;i++){for(int j=0;j<n;j++){if(af[i][j]!=' '){cout<<c;}else{cout<<' ';}}cout<<endl;}return 0;
}
持续更新中~
相关文章:
天梯集训+代码打卡笔记整理
1.着色问题 直接标注哪些行和列是被标注过的,安全格子的数量就是未标注的行*列 #include <bits/stdc.h> using namespace std;const int N 1e510; int hang[N],lie[N];int main(){int n,m;cin>>n>>m;int q;cin>>q;while(q--){int x,y;ci…...
python基础语法:缩进规则
Python 的缩进规则是其语法的重要组成部分,它通过缩进来表示代码块的层次结构,而不是像其他语言(如 C 或 Java)那样使用大括号 {}。以下是 Python 缩进规则的详细说明: 1. 缩进的基本规则 代码块的标识:Pyt…...
支付系统设计入门:核心账户体系架构
👉目录 1 账户记账理论 2 账户设计 3 账户性能问题 4 账户核心架构 5 小结 第三方支付作为中立的第三方,截断了用户和商户的资金流,资金先从用户账户转移到第三方支付平台账户,得到双方确认后再从支付平台账户转移到商户账户。 支…...
[LevelDB]Block系统内幕解析-元数据块(Meta Block)元数据索引块(MetaIndex Block)索引块(Index Block)
本文内容组织形式 Block的基本信息作用示意图举例说明 源码解析Footer格式写入&读取编码&解码 元数据块(Meta Block)构建&读取 元数据索引块构建&读取 索引块定义构建&读取核心方法-FindShortestSeparator&FindShortSuccessor作…...
leetcode:905. 按奇偶排序数组(python3解法)
难度:简单 给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。 返回满足此条件的 任一数组 作为答案。 示例 1: 输入:nums [3,1,2,4] 输出:[2,4,3,1] 解释:…...
抖音视频下载工具
抖音视频下载工具 功能介绍 这是一个基于Python开发的抖音视频下载工具,可以方便地下载抖音平台上的视频内容。 主要特点 支持无水印视频下载自动提取视频标题作为文件名显示下载进度条支持自动重试机制支持调试模式 使用要求 Python 3.10Chrome浏览器必要的P…...
断言与反射——以golang为例
断言 x.(T) 检查x的动态类型是否是T,其中x必须是接口值。 简单使用 func main() {var x interface{}x 100value1, ok : x.(int)if ok {fmt.Println(value1)}value2, ok : x.(string)if ok {//未打印fmt.Println(value2)} }需要注意如果不接受第二个参数就是OK,这…...
【家政平台开发(27)】商务部信用对接、法律咨询与视频面试功能开发全攻略
本【家政平台开发】专栏聚焦家政平台从 0 到 1 的全流程打造。从前期需求分析,剖析家政行业现状、挖掘用户需求与梳理功能要点,到系统设计阶段的架构选型、数据库构建,再到开发阶段各模块逐一实现。涵盖移动与 PC 端设计、接口开发及性能优化,测试阶段多维度保障平台质量,…...
【数据结构】排序算法(下篇·开端)·深剖数据难点
前引:前面我们通过层层学习,了解了Hoare大佬的排序精髓,今天我们学习的东西可能稍微有点难度,因此我们必须学会思想,我很受感慨,借此分享一下:【用1520分钟去调试】,如果我们遇到了任…...
山东大学软件学院创新项目实训开发日志(9)之测试前后端连接
在正式开始前后端功能开发前,在队友的帮助下,成功完成了前后端测试连接: 首先在后端编写一个测试相应程序: 然后在前端创建vue 并且在index.js中添加一下元素: 然后进行测试,测试成功: 后续可…...
【VUE3】Eslint 与 Prettier 的配置
目录 0 前言 1 VSCode 中的 Eslint 与 prettier 插件 2 两种方案 3 eslint.config.js 4 eslint-plugin-prettier 插件 5 eslint-config-prettier 插件 6 安装插件命令 7 其他配置 8 参考资料 0 前言 黑马程序员视频地址:160-Vue3大事件项目-ESlint配合P…...
蓝桥杯C++组算法知识点整理 · 考前突击(上)【小白适用】
【背景说明】本文的作者是一名算法竞赛小白,在第一次参加蓝桥杯之前希望整理一下自己会了哪些算法,于是有了本文的诞生。分享在这里也希望与众多学子共勉。如果时间允许的话,这一系列会分为上中下三部分和大家见面,祝大家竞赛顺利…...
springboot调用python文件,python文件使用其他dat文件,适配windows和linux,以及docker环境的方案
介绍 后台是用springboot技术,其他同事做的算法是python,现在的需求是springboot调用python,python又需要调用其他的数据文件,比如dat文件,这个文件是app通过蓝牙获取智能戒指数据以后,保存到后台…...
GSO-YOLO:基于全局稳定性优化的建筑工地目标检测算法解析
论文地址:https://arxiv.org/pdf/2407.00906 1. 论文概述 《GSO-YOLO: Global Stability Optimization YOLO for Construction Site Detection》提出了一种针对建筑工地复杂场景优化的目标检测模型。通过融合全局优化模块(GOM)、稳定捕捉模块(SCM)和创新的AIoU损失函…...
Python 中使用单例模式
有这么一种场景,Web服务中有一个全局资源池,在需要使用的地方就自然而言引用该全局资源池即可,此时可以将该资源池以单例模式实现。随后,需要为某一特殊业务场景专门准备一个全局资源池,于是额外复制一份代码新建了一个…...
系统思考—提升解决动态性复杂问题能力
感谢合作伙伴的信任推荐! 客户今年的人才发展重点之一,是提升管理者应对动态性、复杂性问题的能力。 在深入交流后,系统思考作为关键能力模块,最终被纳入轮训项目——这不仅是一次培训合作,更是一场共同认知的跃迁&am…...
Java基础 - 反射(2)
文章目录 示例5. 通过反射获得类的private、 protected、 默认访问修饰符的属性值。6. 通过反射获得类的private方法。7. 通过反射实现一个工具BeanUtils, 可以将一个对象属性相同的值赋值给另一个对象 接上篇: 示例 5. 通过反射获得类的private、 pro…...
Python proteinflow 库介绍
ProteinFlow是一个开源的Python库,旨在简化蛋白质结构数据在深度学习应用中的预处理过程。以下是其详细介绍: 功能 数据处理:支持处理单链和多链蛋白质结构,包括二级结构特征、扭转角等特征化选项。 数据获取:能够从Protein Data Bank (PDB)和Structural Antibody Databa…...
P1162 洛谷 填涂颜色
题目描述 思考 看数据量 30 而且是个二维的,很像走迷宫 直接深搜! 而且这个就是搜连通块 代码 一开始的15分代码,想的很简单,对dfs进行分类,如果是在边界上,就直接递归,不让其赋值,…...
docker安装nginx,基础命令,目录结构,配置文件结构
Nginx简介 Nginx是一款轻量级的Web服务器(动静分离)/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强. 🔗官网 docker安装Nginx 🐳 一、前提条件 • 已安装 Docker(dock…...
SQLI漏洞公开报告分析
文章目录 1. 闭合 )2. 邀请码|POST参数|时间盲注 | **PostgreSQL**3. POST|order by参数|布尔盲注|Oracle4. SOAP请求|MSSQL|布尔盲注5. MySQL 时间盲注漏洞6. GET|普通回显注入7. ImpressCMS 1.4.2 | CVE | POST | 布尔盲注8. Mysql | post | 布尔/时间盲注9. 登录口 | post |…...
SpringBoot项目部署之启动脚本
一、启动脚本方案 1. 基础启动方式 1.1 直接运行JAR java -jar your-app.jar --spring.profiles.activeprod优点:简单直接,适合快速测试缺点:终端关闭即终止进程 1.2 后台运行 nohup java -jar your-app.jar > app.log 2>&1 &…...
用Django和AJAX创建一个待办事项应用
用Django和AJAX创建一个待办事项应用 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 用Django和AJAX创建一个待办事项应用让我们创建一个简单的 Django 项目,其中包含不同类型的 A…...
JavaScript:游戏开发的利器
在近年来的科技迅速发展中,JavaScript 已逐渐成为游戏开发领域中最受欢迎的编程语言之一。它的跨平台特性、广泛的社区支持、丰富的库和框架使得开发者能够快速、有效地创建各种类型的游戏。本文将深入探讨 JavaScript 在游戏开发中的优势。 一、跨平台支持 JavaSc…...
C语言今天开始了学习
好多年没有弄了,还是捡起来弄下吧 用的vscode 建议大家参考这个配置 c语言vscode配置 c语言这个语言简单,但是今天听到了一个消息说python 不知道怎么debug。人才真多啊...
Elasticsearch 系列专题 - 第五篇:集群与性能优化
随着数据量和访问量的增长,单节点 Elasticsearch 已无法满足需求。本篇将介绍集群架构、性能优化方法以及常见故障排查,帮助你应对生产环境中的挑战。 1. 集群架构 1.1 节点角色(Master、Data、Ingest 等) Elasticsearch 集群由多个节点组成,每个节点可扮演不同角色: M…...
鸿蒙NEXT开发Preferences工具类(ArkTs)
import { AppUtil } from ./AppUtil; import dataPreferences from ohos.data.preferences; export const DEFAULT_PREFERENCE_NAME: string "SP_HARMONY_UTILS_PREFERENCES"; // Preferences实例的名称。/*** Preferences工具类* author CSDN-鸿蒙布道师* since 20…...
电商素材革命:影刀RPA魔法指令3.0驱动批量去水印,实现秒级素材净化
本文 去除水印实操视频展示电商图片水印处理的困境影刀 RPA 魔法指令 3.0 强势登场利用魔法指令3.0两步实现去除水印操作关于影刀RPA 去除水印实操视频展示 我们这里选择了4张小红书里面比较帅气的图片,但凡用过小红书的都知道,小红书右下角是会有小…...
前端面试题(七):什么是vuex,请解释一下它在Vue中的作用
Vuex 是一个专门为 Vue.js 应用程序开发的状态管理库。它可以集中管理应用的所有状态,并保证状态以一种可预测的方式发生变化。简单来说,Vuex 用来管理 Vue 应用中的数据(即状态),使得数据的传递和共享更加清晰和可靠&…...
笔记:头文件与静态库的使用及组织方式
笔记:头文件与静态库的使用及组织方式 1. 头文件的作用 接口声明:提供函数、类、变量等标识符的声明,供其他模块调用。编译依赖:编译器需要头文件来验证函数调用和类型匹配。避免重复定义:通过包含保护(如…...
