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

学习总结14

# 【CSGRound1】天下第一

## 题目背景

天下第一的 cbw 以主席的身份在 8102 年统治全宇宙后,开始了自己休闲的生活,并邀请自己的好友每天都来和他做游戏。由于 cbw 想要显出自己平易近人,所以 zhouwc 虽然是一个蒟蒻,也有能和 cbw 玩游戏的机会。

## 题目描述

游戏是这样的:

给定两个数 x,y,与一个模数 p。

cbw 拥有数 x,zhouwc 拥有数 y。

第一个回合:x<-(x+y)mod p。

第二个回合:y<-(x+y)mod p。

第三个回合:x<-(x+y)mod p。

第四个回合:y<-(x+y)mod p。

以此类推....

如果 x 先到 0,则 cbw 胜利。如果 y 先到 0,则 zhouwc 胜利。如果 x,y 都不能到 0,则为平局。

cbw 为了捍卫自己主席的尊严,想要提前知道游戏的结果,并且可以趁机动点手脚,所以他希望你来告诉他结果。

## 输入格式

有多组数据。

第一行:T 和 p 表示一共有 T 组数据且模数都为 p。

以下 T 行,每行两个数 x,y。

## 输出格式

共 T 行

1 表示 cbw 获胜,2 表示 zhouwc 获胜,```error``` 表示平局。

## 样例 #1

### 样例输入 #1

```
1 10
1 3
```

### 样例输出 #1

```
error
```

## 样例 #2

### 样例输入 #2

```
1 10
4 5
```

### 样例输出 #2

```
1
```

## 提示

1 <= T <= 200。

1 <= x,y,p <= 10000。

解题思路

运用记忆化搜索,用一个数组来保存对应的x,y的结果。

代码

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
short g[10001][10001];
int p;
int dfs(int x,int y)
{int x1,y1;if(g[x][y]==1)return -1;g[x][y]=1;x1=(x+y)%p;                                 //保存第一回合的值y1=(x1+y)%p;                                //第二回合的值if(x1==0)return g[x1][y]=1;if(y1==0)return g[x1][y1]=2;return g[x1][y1]=dfs(x1,y1);
}
int main()
{int x,y,z,t,k;scanf("%d%d",&t,&p);for(z=0;z<t;z++){scanf("%d%d",&x,&y);k=dfs(x,y);if(k==-1)printf("error\n");elseprintf("%d\n",k);}return 0;
}

# 【模板】KMP

## 题目描述

给出两个字符串 s1 和 s2,若 s1 的区间 [l, r] 子串与 s2 完全相同,则称 s2 在 s1 中出现了,其出现位置为 l。  
现在请你求出 s2 在 s1 中所有出现的位置。

定义一个字符串 s 的 border 为 s 的一个非 s 本身的子串 t,满足 t 既是 s 的前缀,又是 s 的后缀。  
对于 s2,你还需要求出对于其每个前缀 s' 的最长 border t' 的长度。

## 输入格式

第一行为一个字符串,即为 s1。  
第二行为一个字符串,即为 s2。

## 输出格式

首先输出若干行,每行一个整数,按从小到大的顺序输出 s2 在 s1 中出现的位置。  
最后一行输出 |s2| 个整数,第 i 个整数表示 s2 的长度为 i 的前缀的最长 border 长度。

## 样例 #1

### 样例输入 #1

```
ABABABC
ABA
```

### 样例输出 #1

```
1
3
0 0 1
```

## 提示

### 样例 1 解释
 
对于 s2 长度为 3 的前缀 `ABA`,字符串 `A` 既是其后缀也是其前缀,且是最长的,因此最长 border 长度为 1。


### 数据规模与约定

**本题采用多测试点捆绑测试,共有 3 个子任务**。

- Subtask 1(30 points):|s1| <= 15,|s2| <= 5。
- Subtask 2(40 points):|s1| <= 10^4,|s2| <= 10^2。
- Subtask 3(30 points):无特殊约定。

对于全部的测试点,保证 1 <= |s1|,|s2| <= 10^6,s1, s2 中均只含大写英文字母。

解题思路

KMP算法是两个字符串比较的优化算法,过程比较复杂,但理解起来比较困难,我花了整整半天都在看KMP,还是看的一知半解。

代码

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
char g[1000100];
char j[1000100];
int ne[1000100];
int main()
{int x,y,z,l;int len,len2;scanf("%s%s",g+1,j+1);len=strlen(g+1);len2=strlen(j+1);for(x=2;x<=len2;x++){y=ne[x-1];while(y&&j[y+1]!=j[x])y=ne[y];if(j[y+1]==j[x])ne[x]=y+1;elsene[x]=0;}y=0;for(x=1;x<=len;x++){while(y&&g[x]!=j[y+1])y=ne[y];if(g[x]==j[y+1])y+=1;if(y==len2){printf("%d\n",x-len2+1);y=ne[y];}}for(x=1;x<=len2;x++)printf("%d ",ne[x]);return 0;
}

# Before an Exam

## 题面翻译

### 题目背景

明天皮特将要考生物。他并不很喜欢生物,但在 d 天前他得知他将不得不参加此次考试。皮特严厉的父母勒令他立即复习,因此他在第 i 天将需要学习不少于 minTime_i 小时,不多于 maxTime_i 小时。他们同时警告皮特:考试前一天,他将被检查他复习的完成情况。

因此,今天皮特的父母会要求他展示他考前复习的学习时间表。然而,他只记录这 d 天以来他复习所用的总计用时 sumTime(小时).现在他希望知道他能否给他的父母展示一份时间表,包含 d 个数,每个数 schedule_i 表示皮特第 i 天在复习生物上的用时(单位为小时),并应满足上文提及的要求。

### 题目输入

第一行包含两个数:d,sumTime。

(1<= d<=30,0<= sumTime<=240),意义如上所述。

接下来 d 行,每行两个数:minTime_i,maxtime_i,两个数之间有一个空格,意义如上。(0<= minTime_i<= maxTime_i<=8)

### 题目输出

如果有解,在单独一行输出 `YES`,换行,输出任意一种满足上文要求的解。如果无解,在单独一行中输出 `NO`。

## 样例 #1

### 样例输入 #1

```
1 48
5 7
```

### 样例输出 #1

```
NO
```

## 样例 #2

### 样例输入 #2

```
2 5
0 1
3 5
```

### 样例输出 #2

```
YES
1 4
```

解题思路

先判断能否完成,然后按每天最少去算,多出来的加到每天里,但最多不能超过每天规定的最大值。

代码

#include <bits/stdc++.h>
using namespace std;
int main()
{int d,sum,mi=0,ma=0,x,y;int g[50][2];scanf("%d%d",&d,&sum);for(x=0;x<d;x++){scanf("%d%d",&g[x][0],&g[x][1]);mi+=g[x][0];ma+=g[x][1];}if(sum<=ma&&mi<=sum){printf("YES\n");sum-=mi;for(x=0;x<d;x++){if(sum>0){y=0;if(g[x][1]-g[x][0]<sum){printf("%d ",g[x][1]);sum=sum-(g[x][1]-g[x][0]);}else{printf("%d ",g[x][0]+sum);sum=0;}}else{printf("%d ",g[x][0]);}}}elseprintf("NO\n");return 0;
}

相关文章:

学习总结14

# 【CSGRound1】天下第一 ## 题目背景 天下第一的 cbw 以主席的身份在 8102 年统治全宇宙后&#xff0c;开始了自己休闲的生活&#xff0c;并邀请自己的好友每天都来和他做游戏。由于 cbw 想要显出自己平易近人&#xff0c;所以 zhouwc 虽然是一个蒟蒻&#xff0c;也有能和 c…...

D盘不见了如何恢复?4个恢复方法(新版)!

“很奇怪&#xff01;我的电脑d盘不知道为什么突然不见了&#xff0c;我还保存了很多重要的文件在里面呢&#xff0c;有什么恢复d盘的方法吗&#xff1f;” 在我们的日常生活中&#xff0c;电脑已经成为了我们工作、学习和娱乐的重要工具。然而&#xff0c;有时候我们会遇到一些…...

vector类的模拟实现

实现基本的vector框架 参考的是STL的一些源码&#xff0c;实现的vector也是看起来像是一个简略版的&#xff0c;但是看完能对vector这个类一些接口函数更好的认识。 我们写写成员变量&#xff0c;先来看看STL的成元变量是那些 namespace tjl {template<class T>class …...

Topaz Photo AI for Mac v2.3.1 补丁版人工智能降噪软件无损放大

想要将模糊的图片变得更加清晰&#xff1f;不妨试试Topaz Photo AI for Mac 这款人工智能、无损放大软件。Topaz Photo AI for Mac 一款强大的人工智能降噪软件&#xff0c;允许用户使用复杂的锐化算法来提高图像清晰度&#xff0c;还包括肖像编辑选项&#xff0c;如面部重塑、…...

【Unity3D小技巧】Unity3D中UI控制解决方案

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 在开发中总是会控制UI界面&#xff0c;如何优雅的控制UI界面是…...

【状态管理一】概览:状态使用、状态分类、状态具体使用

文章目录 一. 状态使用概览二. 状态的数据类型1. 算子层面2. 接口层面2.1. UML与所有状态类型介绍2.2. 内部状态&#xff1a;InternalKvState 将知识与实际的应用场景、设计背景关联起来&#xff0c;这是学以致用、刨根问底知识的一种直接方式。 本文介绍 状态数据管理&#x…...

SQL--多表查询

我们之前在讲解SQL语句的时候&#xff0c;讲解了DQL语句&#xff0c;也就是数据查询语句&#xff0c;但是之前讲解的查询都是单 表查询&#xff0c;而本章节我们要学习的则是多表查询操作&#xff0c;主要从以下几个方面进行讲解。 多表关系 项目开发中&#xff0c;在进行数据…...

多维时序 | Matlab实现CNN-RVM卷积神经网络结合相关向量机多变量时间序列预测

多维时序 | Matlab实现CNN-RVM卷积神经网络结合相关向量机多变量时间序列预测 目录 多维时序 | Matlab实现CNN-RVM卷积神经网络结合相关向量机多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现CNN-RVM卷积神经网络结合相关向量机多变量时间序…...

RK3568平台 安卓hal3适配usb camera

一.RK安卓hal3 camera框架 Camera hal3 在 android 框架中所处的位置如上图&#xff0c; 对上&#xff0c;主要实现 Framework 一整套 API 接口&#xff0c;响应其 控制命令&#xff0c;返回数据与控制参数结果。 对下&#xff0c; 主要是通 V4l2 框架实现与 kernel 的交互。3a…...

使用 Visual Studio Code 在远程计算机上调试 PostgreSQL

使用 Visual Studio Code 在远程计算机上调试 PostgreSQL 1. 概述 PostgreSQL 是一个功能强大的开源关系数据库管理系统&#xff0c;适用于各种应用程序。在开发过程中&#xff0c;调试 PostgreSQL 对于识别和解决问题至关重要。在本博客中&#xff0c;我们将手把手教你使用客…...

javascript设计模式之建造者

工厂模式不关心过程&#xff0c;只关心结果&#xff0c;这与建造者相反&#xff0c;建造者更关心的是过程&#xff0c; 这里我们创建一个基类&#xff0c;其拥有技能跟爱好两个属性&#xff0c;还有两个实例方法用来获取技能跟爱好 // 基类 let Human function (param {}) …...

安擎科技携手华为云区块链共同打造安全天空

当前&#xff0c;低空经济崛起&#xff0c;无人机多并发、混合运行时引发的网络信息安全、空域安全问题已成行业首要课题。 在2024年1月正式实施的《民用无人驾驶航空器运行安全管理规则》&#xff08;CCAR-92&#xff09;第549条中规定&#xff0c;“无人驾驶航空器航行服务提…...

学习数据结构的第一天

结构体 如何定义结构体 1、先定义结构体类型&#xff0c;再定义结构体类型变量 struct student/定义学生结构体类型/ { long number; char name[20]; char sex; int age; float score[3];/三科考试成绩/ }2、定义结构体类型同时定义结构体类型变量 struct student/定义学生结…...

5.electron之主进程起一个本地服务

如果可以实现记得点赞分享&#xff0c;谢谢老铁&#xff5e; Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 Electron 将 Chromium 和 Node.js 嵌入到了一个二进制文件中&#xff0c;因此它允许你仅需一个代码仓库&#xff0c;就可以撰写支持 Windows、…...

爬取58二手房并用SVR模型拟合

目录 一、前言 二、爬虫与数据处理 三、模型 一、前言 爬取数据仅用于练习和学习。本文运用二手房规格sepc(如3室2厅1卫)和二手房面积area预测二手房价格price&#xff0c;只是练习和学习&#xff0c;不代表任何实际意义。 二、爬虫与数据处理 import requests import cha…...

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之RichText组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之RichText组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、RichText组件 鸿蒙&#xff08;HarmonyOS&#xff09;富文本组件&#xff0c;…...

7.electron之渲染线程发送事件,主进程监听事件

如果可以实现记得点赞分享&#xff0c;谢谢老铁&#xff5e; Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 Electron 将 Chromium 和 Node.js 嵌入到了一个二进制文件中&#xff0c;因此它允许你仅需一个代码仓库&#xff0c;就可以撰写支持 Windows、…...

thinkphp6入门(19)-- 中间件向控制器传参

可以通过给请求对象赋值的方式传参给控制器&#xff08;或者其它地方&#xff09;&#xff0c;例如 <?phpnamespace app\middleware;class Hello {public function handle($request, \Closure $next){$request->hello ThinkPHP;return $next($request);} } 然后在控制…...

Flink Format系列(2)-CSV

Flink的csv格式支持读和写csv格式的数据&#xff0c;只需要指定 format csv&#xff0c;下面以kafka为例。 CREATE TABLE user_behavior (user_id BIGINT,item_id BIGINT,category_id BIGINT,behavior STRING,ts TIMESTAMP(3) ) WITH (connector kafka,topic user_behavior…...

Spring Data Envers 数据审计实战2 - 自定义监听程序扩展审计字段及字段值

上篇讲述了如何在Spring项目中集成Spring Data Envers做数据审计和历史版本查看功能。 之前演示的是业务表中已有的字段进行审计&#xff0c;那么如果我们想扩展审计字段呢&#xff1f; 比如目前对员工表加入了Audited审计&#xff0c;员工表有个字段为dept_id&#xff0c;为…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...