ABC370
## A - Raise Both Hands (模拟)
题意:输入l,r,如果l=1r=0输出yes,l=0r=1输出no,否则输出Invalid
代码:
```
 #include<bits/stdc++.h>
 using namespace std;
 typedef long long ll;
 void sol(){
     int l,r;cin>>l>>r;
     if(l==1&&r==0)cout<<"Yes"<<endl;
     else if(l==0&&r==1)cout<<"No"<<endl;
     else cout<<"Invalid"<<endl; 
 }
 int main() {
     ios::sync_with_stdio(false);
     cin.tie(0),cout.tie(0);
     int t=1; 
     while(t--)sol();
     return 0;
 }
```
## B - Binary Alchemy(模拟)
题意:当元素i和元素j组合在一起,如果i>=j,他们就变成aij,否则aji,求最后得到的元素
代码:
```
 #include<bits/stdc++.h>
 using namespace std;
 typedef long long ll;
 void sol(){
     int n;cin>>n;
     int a[n+10][n+10];
     for(int i=1;i<=n;i++){
         for(int j=1;j<=i;j++){
             cin>>a[i][j];
         }
     }
     int b=1;
     for(int i=1;i<=n;i++){
         if(b<i){
             b=a[i][b];
         }
         else b=a[b][i];
     }
     cout<<b<<endl;
 }
 int main() {
     ios::sync_with_stdio(false);
     cin.tie(0),cout.tie(0);
     int t=1; 
     while(t--)sol();
     return 0;
 }
```
## C - Word Ladder(模拟)
题意:给定两个数,每次可以修改一个字符,每次修改完必须是字典序最小,输出每次修改完的字符
代码:
```
 #include<bits/stdc++.h>
 using namespace std;
 typedef long long ll;
 void sol(){
     string s,t;cin>>s>>t;
     vector<string>v;
     map<string,int>mp;
     while(s!=t){
         string ss=s;
         mp.clear();
         for(int i=0;i<s.size();i++){
             char c=ss[i];
             if(ss[i]!=t[i]){
                 ss[i]=t[i];
                 mp[ss]++;
                 ss[i]=c;
             }
         }
         for(auto &x:mp){
             v.push_back(x.first);
             s=x.first;
             break;
         }
     }
     cout<<v.size()<<endl;
     for(int i=0;i<v.size();i++)cout<<v[i]<<endl;
 }
 int main() {
     ios::sync_with_stdio(false);
     cin.tie(0),cout.tie(0);
     int t=1; 
     while(t--)sol();
     return 0;
 }
```
## D - Cross Explosion(二分)
题意:给定h×w的墙,给定q个坐标,如果当前坐标有墙则摧毁,否则摧毁离它最近的上下左右四个墙
分析:将每一行每一列存入1-w,1-h,用二分寻找上下左右离当前位置最近的四个坐标并消除,最后求出每一行剩余个数相加
代码:
```
 #include<bits/stdc++.h> 
 using namespace std;
 int main() {
   int H, W, Q;
   cin >> H >> W >> Q;
   vector<set<int>> g1(H), g2(W);
   for (int i = 0; i < H; i++) {
     for (int j = 0; j < W; j++) {
       g1[i].insert(j);
       g2[j].insert(i);
     }
   }
   auto erase = [&](int i, int j) { g1[i].erase(j), g2[j].erase(i); };
  while (Q--) {
     int R, C;
     cin >> R >> C;
     --R, --C;
     if (g1[R].count(C)) {
       erase(R, C);
       continue;
     }
     // up
     {
       auto it = g2[C].lower_bound(R);//第一个大于r 
       if (it != begin(g2[C])) erase(*prev(it), C);//*prev(it)it的前一个值 
     }
     // down
     {
       auto it = g2[C].lower_bound(R);
       if (it != end(g2[C])) erase(*it, C);
     }
     // left
     {
       auto it = g1[R].lower_bound(C);
       if (it != begin(g1[R])) erase(R, *prev(it));
     }
     // right
     {
       auto it = g1[R].lower_bound(C);
       if (it != end(g1[R])) erase(R, *it);
     }
   }
  int ans = 0;
   for (int i = 0; i < H; i++) ans += g1[i].size();
   cout << ans << "\n";
 }
```
## E - Avoid K Partition(dp+前缀和)
题意:将一组数组任意分成若干份,这些分割方法中,有多少种没有任何一段子序列的和等于k
分析:用fi记录前i个数划分情况,用前缀和记录区间和,pre[j]=pre[i]-k,用map记录
代码:
```
 #include<bits/stdc++.h>
 using namespace std;
 typedef long long ll;
 const int N=2e5+10;
 const ll mod=998244353;
 ll a[N],f[N],pre[N];
 void sol(){
     ll n,k,sum=1;cin>>n>>k;
     for(int i=1;i<=n;i++)cin>>a[i];
     for(int i=1;i<=n;i++){
         pre[i]=pre[i-1]+a[i];
     }
     map<ll,ll>mp;
     f[0]=1;mp[0]=1;
     for(int i=1;i<=n;i++){
         f[i]=(sum-mp[pre[i]-k]%mod+mod)%mod;
         mp[pre[i]]=(mp[pre[i]]+f[i])%mod;
         sum=(sum+f[i])%mod;
     }
     cout<<f[n]<<endl;
 }
 int main() {
     ios::sync_with_stdio(false);
     cin.tie(0),cout.tie(0);
     int t=1; 
     while(t--)sol();
     return 0;
 }
```
相关文章:
ABC370
## A - Raise Both Hands (模拟) 题意:输入l,r,如果l1r0输出yes,l0r1输出no,否则输出Invalid 代码: #include<bits/stdc.h> using namespace std; typedef long long ll; vo…...
 
C语言[求x的y次方]
C语言——求x的y次方 这段 C 代码的目的是从用户输入获取两个整数 x 和 y ,然后计算 x 的 y 次幂(不过这里有个小错误,实际计算的是 x 的 (y - 1) 次幂,后面会详细说),最后输出结果。 代码如下: #include…...
 
JavaScript part2
一.前言 前面我们讲了一下js的基础语法,但是这些还是远远不够的,我们要想操作标签,实现一个动态且好看的页面,就得学会BOM和DOM,这些都是浏览器和页面的,这样我们才能实现一个好看的页面 二.BOM对象 BOM…...
 
HarmonyOS开发 - 本地持久化之实现LocalStorage实例
用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。 说明&#x…...
 
【C++打怪之路Lv12】-- 模板进阶
#1024程序员节|征文# 🌈 个人主页:白子寰 🔥 分类专栏:重生之我在学Linux,C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您…...
第23周Java主流框架入门-SpringMVC 2.RESTful开发风格
课程笔记:RESTful 开发风格 课程介绍 本节课程介绍 RESTful 开发风格,以及如何在 Spring MVC 中应用这种开发模式。传统 MVC 开发通过 Servlet、JSP 和 Java Bean 实现前后端交互,而 RESTful 开发提供了一种新的理念,更适合现代…...
 
QT枚举类型转字符串和使用QDebug<<重载输出私有枚举类型
一 将QT自带的枚举类型转换为QString 需要的头文件: #include <QMetaObject> #include <QMetaEnum> 测试代码 const QMetaObject *metaObject &QImage::staticMetaObject;QMetaEnum metaEnum metaObject->enumerator(metaObject->indexOf…...
 
手机柔性屏全贴合视觉应用
在高科技日新月异的今天,手机柔性显示屏作为智能手机市场的新宠,以其独特的可弯曲、轻薄及高耐用性特性引领着行业潮流。然而,在利用贴合机加工这些先进显示屏的过程中,仍面临着诸多技术挑战。其中,高精度对位、应力控…...
 
《Python游戏编程入门》注-第3章3
《Python游戏编程入门》的“3.2.4 Mad Lib”中介绍了一个名为“Mad Lib”游戏的编写方法。 1 游戏玩法 “Mad Lib”游戏由玩家根据提示输入一些信息,例如男人姓名、女人姓名、喜欢的食物以及太空船的名字等。游戏根据玩家输入的信息编写出一个故事,如图…...
 
Netty-TCP服务端粘包、拆包问题(两种格式)
前言 最近公司搞了个小业务,需要使用TCP协议,我这边负责服务端。客户端是某个设备,客户端传参格式、包头包尾等都是固定的,不可改变,而且还有个蓝牙传感器,透传数据到这个设备,然后通过这个设备…...
 
centos安装指定版本的jenkins
打开jenkins镜像包官网,找到自己想要安装的版本,官网地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable 下载指定版本安装包: wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.452.…...
QT 周期性的杀死一个进程(软件),一分钟后自动退出
1.原因:某软件开机自启动很烦,搞一个程序干掉这个自启动的软件 2.QT代码 main.cpp #include "KillXXX.h" #include <QtWidgets/QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);KillXXX k;return a.exec…...
 
MySQL任意版本安装卸载和数据库原理图绘制
MYSQL任意版本安装和卸载 安装: 1、解压文件 --- 不能出现中文路径 2、在解压目录(安装目录)下: 1>.创建data文件夹 2>.创建配置文件my.txt 然后修改成ini格式 3、修改配置文件 basedirD:\\mysql\\mysql-5.7.28-winx64…...
 
技术成神之路:设计模式(二十三)解释器模式
相关文章:技术成神之路:二十三种设计模式(导航页) 介绍 解释器模式(Interpreter Pattern)是一种行为设计模式,用于定义一种语言的文法表示,并提供一个解释器来处理这种文法。它用于处理具有特定语法或表达…...
 
2024软考《软件设计师》-Python专题知识(含历年真题解析)
自2020年之后,软考软件设计师考试在综合知识部分开始增加Python编程语言相关考点,每年会考2~3分的样子。本文将结合近几年常考的内容,扩展一下Pyhton的基础知识!考前看一看,或许有所帮助。 一、基础语法 标识符 第一…...
 
基于大数据 Python+Vue 旅游推荐可视化系统(源码+LW+部署讲解+数据库+ppt)
!!!!!!!!! 会持续一直更新下去 有问必答 一键收藏关注不迷路 源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwdjf1d 提取码: jf1d &#…...
使用虚拟机搭建环境:CentOS7 Docker、MySQL、Redis 安装与配置
创作灵感 项目实践总结:记录了在虚拟机中安装与配置CentOS7环境下的Docker、MySQL、Redis的全过程,帮助理解和应用各项技术。技术笔记与问题总结:详细梳理了每一步安装的关键点与常见问题,并给出了解决方案。职业感悟与心得&…...
 
[分享] Docker容器可视化管理工具 - WGCLOUD
WGCLOUD是新一代运维监测平台,它可以监控Docker容器的各种性能数据,比如内存,cpu,Image,运行时间,运行状态,端口映射等信息 WGCLOUD也支持在页面启动,重启,停止Docker容…...
保存网页中 canvas 的内容
在开发人员工具中,保存网页中 canvas 的内容,可以用这个方法: 1. 在 dom 中创建一个下载按钮 <button id="save">保存</button>2. 控制台中运行: const gCanvas = document.querySelector(#page_1);function onSave() {gCanvas.toBlob((blob) =&g…...
 
PID控制原理
PID控制原理 PID控制器是一种经典且广泛应用于工业控制领域的反馈控制器,它由比例(P)、积分(I)和微分(D)三个部分组成。通过对这三个部分的综合调节,PID控制器能够实现对被控对象的…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
 
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
 
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
 
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
 
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
 
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
 
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
