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

Codeforces Round 894 (Div. 3)

还是打一下卡!!!

(A,B,C)

目录

A. Gift Carpet

链接 : 

题面 : 

 题目意思 : 

思路 : 

代码 : 

 

B. Sequence Game

链接 :

题面 : 

​编辑 

题目意思 :

 

 思路  :

代码 : 

C. Flower City Fence

原题链接 : 

题面 : 

 题目意思 :

思路 : 

代码 :


A. Gift Carpet

链接 : 

Problem - A - Codeforces

题面 : 

 

 题目意思 : 

最近,Tema和Vika庆祝了家庭日。他们的朋友Arina送给他们一块地毯,可以表示为一个n×m的小写拉丁字母表格。

Vika还没看到礼物,但是Tema知道她喜欢什么样的地毯。如果她能够在上面读到她的名字,她就会喜欢这块地毯。她按照从左到右、逐列阅读的方式,每列选择一个或零个字母。

具体来说,如果可以按照从左到右的顺序选择四列不同的列,使得第一列包含"v",第二列包含"i",第三列包含"k",第四列包含"a",那么这个女孩就会喜欢这块地毯。

帮助Tema提前了解Vika是否会喜欢Arina的礼物。

思路 : 

就是一个暴力的遍历整个矩阵,然后运用贪心的思想,最好在前面能找到的字母就将其标出来,然后记录找到vika的出现字母次数的变量t加一,最后返回t==4;

代码 : 

// A
#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'using namespace std;
typedef long long LL;
const int N = 21;
int n,m,t;
char a[N][N];inline void solve(){cin>>n>>m;for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j];if(m<4){ cout<<"NO"<<endl; return ; }t = 0;for(int j=1;j<=m;j++){for(int i=1;i<=n;i++){if(t==0){if(a[i][j] == 'v'){ t++; break;}}else if(t==1){if(a[i][j] == 'i'){ t++; break;}}else if(t==2){if(a[i][j] == 'k'){ t++; break;}}else if(t==3){if(a[i][j] == 'a'){ t++; break;}} }if(t==4) break;	}if(t==4) cout<<"YES"<<endl;else cout<<"NO"<<endl;
}int main()
{IOSint _;cin >> _;// _ = 1; while(_ --) solve();return 0;
}

 

B. Sequence Game

链接 :

Problem - B - Codeforces

题面 : 

 

题目意思 :

 

Tema和Vika正在玩以下游戏。

首先,Vika想出一个长度为m的正整数序列a,并将其写在一张纸上。然后她拿一张新纸,按照以下规则写下序列b:

首先,她写下a1。 然后,她只写下那些满足ai-1≤ai的ai(2≤i≤m)。将这个序列的长度表示为n。 例如,从序列a=[4,3,2,6,3,3],Vika将得到序列b=[4,6,3]。

然后她将带有序列b的纸递给Tema。他尝试猜出序列a。

Tema认为在这样的游戏中赢得胜利非常不可能,但还是希望找到至少一个可能由Vika最初选择的序列a。帮助他输出任何这样的序列。

请注意,输出序列的长度不应超过输入序列长度的两倍。

 思路  :

数组构造题 : 

例如给定[4,6,3]要在a[i-1]和a[i]两数中间加或不加一个数x满足a[i-1]>x && x <=a[i],那么怎么构造呢?

1.如果a[i]>=a[i-1]的话,就不用插入x了,已经满足同时取a[i-1]和a[i]了;

2.否则 : 也就是要插入一个数了,一定要看清题目:构造数组中元素的值>=1,所以a[i]=1的情况下,x取比a[i]小的数的话,就会造成插入数为0或负数的可能,那么就只剩下插a[i]了,这样符合题意;

下面请看代码 : 

代码 : 

// B
#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'using namespace std;
typedef long long LL;
const int N = 2e5+10;
int n,a[N],mi;
vector<int> v;inline void solve(){cin>>n;for(int i=1;i<=n;i++) cin>>a[i];v.clear();v.push_back(a[1]);for(int i=2;i<=n;i++){if(a[i] >= a[i-1]) v.push_back(a[i]);else {v.push_back(a[i]);v.push_back(a[i]);}}cout<<v.size()<<endl;for(int num : v) cout<<num<<" ";cout<<endl;
}int main()
{IOSint _;cin >> _;// _ = 1; while(_ --) solve();return 0;
}

C. Flower City Fence

个人认为这是一道比较有意思的题目(数学模拟题),hhh;

原题链接 : 

Problem - C - Codeforces

题面 : 

 

 题目意思 :

也就是给你一个非递减数组,数组凑想为一个长度递减围栏,请你该围栏判断是否为一个对称(关于45对称)围栏。

思路 : 

先看图 (较潦草hhh): 

 

先看左上角的,构建两个vector,v1和v2,v1里面存每层上表面的长度,v2从上往下看存每个纵界面的长度;

例如 : 

5

5 4 3 2 1

这个例子 : 

v1 : 1 1 1 1 1;

v2 : 1 1 1 1 1;

例如 : 

3

3 1 1

这个例子 : 

v1 : 1 2;

v2 : 2 1;

最后判断这两个vector是不是能由另一个翻转得到,即可!!! (讲不清楚,自己画图理解,只要两个数组翻转相等,那么就一定围栏对称);

代码 :

// C
#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'using namespace std;
typedef long long LL;
const int N = 2e5+10;
int n,a[N];
bool tag;
vector<int> v1;
vector<int> v2;inline void solve(){cin>>n;for(int i=1;i<=n;i++)	cin>>a[i];a[n+1] = 0;tag = true; v1.clear(); v2.clear();for(int i=1;i<=n;i++){int j = i+1;while(j<=n && a[j]==a[i]) j++;j--;v1.push_back(j-i+1);i = j;}for(int i=1;i<=n;i++){int j = i + 1;while(j<=n && a[j]==a[i]) j++;if(j==n+1) v2.push_back(a[i]);else v2.push_back(a[i]-a[j]);i = j - 1;}
// 测试代码
//	for(auto num : v1) cout<<num<<" ";
//	cout<<endl;
//	for(auto num : v2) cout<<num<<" ";
//	cout<<endl;if(v1.size() != v2.size()) tag = false;else {for(int i=0;i<v1.size();i++){if(v1[i] != v2[v1.size()-i-1]){tag = false;break;}}}if(tag) cout<<"YES"<<endl;else cout<<"NO"<<endl;
}int main()
{IOSint _;cin >> _;// _ = 1; while(_ --) solve();return 0;
}

好吧,就三题了,hh!!!

相关文章:

Codeforces Round 894 (Div. 3)

还是打一下卡!!! (A,B,C) 目录 A. Gift Carpet 链接 : 题面 : 题目意思 : 思路 : 代码 : B. Sequence Game 链接 : 题面 : ​编辑 题目意思 : 思路 : 代码 : C. Flower City Fence 原题链接 : 题面 : 题目意思 : 思路 : 代码 : A. Gift Carpet 链…...

ACL2023 Prompt 相关文章速通 Part 1

Accepted Papers link: ACL2023 main conference accepted papers 文章目录 Accepted PapersPrompter: Zero-shot Adaptive Prefixes for Dialogue State Tracking Domain AdaptationQuery Refinement Prompts for Closed-Book Long-Form QAPrompting Language Models for Lin…...

“R语言+遥感“水环境综合评价方法

详情点击链接&#xff1a;"R语言遥感"水环境综合评价方法 一&#xff1a;R语言 1.1 R语言特点&#xff08;R语言&#xff09; 1.2 安装R&#xff08;R语言&#xff09; 1.3 安装RStudio&#xff08;R语言&#xff09; &#xff08;1&#xff09;下载地址 &…...

数据结构之哈希

哈希 1. 哈希概念2. 哈希冲突3. 哈希冲突解决3.1 哈希表的闭散列3.2 哈希表的开散列 2. 哈希的应用2.1 位图2.2 布隆过滤器 哈希&#xff08;Hash&#xff09;是一种将任意长度的二进制明文映射为较短的二进制串的算法。它是一种重要的存储方式&#xff0c;也是一种常见的检索方…...

可视化绘图技巧100篇基础篇(七)-散点图(一)

目录 前言 适用场景 图例 普通散点图与可视化 曲线图 气泡图...

关于什么是框架

框架&#xff08;Framework&#xff09;是一个框子——指其约束性&#xff0c;也是一个架子——指其支撑性。 IT语境中的框架&#xff0c;特指为解决一个开放性问题而设计的具有一定 性的支撑结构。在此结构上约束可以根据具体问题扩展、安插更多的组成部分&#xff0c;从而更迅…...

iOS开发Swift-集合类型

集合基本类型&#xff1a;数组 Array (有序)&#xff0c; 集合 Set (无序不重复)&#xff0c; 字典 Dictionary (无序键值对) 1.数组 Arrays (1)数组的表示 Array<Element> [Element](2)创建空数组 var someInts: [Int] [] someInts.count //数组长度(3)带值数组 var…...

【keepalived双机热备与 lvs(DR)】

目录 一、概述 1.简介 2.原理 3.作用 二、安装 1.配置文件 2.配置项 三、功能模块 1.core 2.vrrp 3.check 四、配置双机热备 1.master 2.backup 五、验证 1.ping验证 2.服务验证 六、双机热备的脑裂现象 七、keepalivedlvs&#xff08;DR&#xff09; 1.作…...

C++笔记之静态成员函数可以在类外部访问私有构造函数吗?

C笔记之静态成员函数可以在类外部访问私有构造函数吗&#xff1f; code review! 静态成员函数可以在类外部访问私有构造函数。在C中&#xff0c;访问控制是在编译时执行的&#xff0c;而不是在运行时执行的。这意味着静态成员函数在编译时是与类本身相关联的&#xff0c;而不…...

最新SQLMap进阶技术

SQLMap进阶&#xff1a;参数讲解 &#xff08;1&#xff09;–level 5&#xff1a;探测等级。 参数“–level 5”指需要执行的测试等级&#xff0c;一共有5个等级&#xff08;1~5级&#xff09;&#xff0c;可不加“level”&#xff0c;默认是1级。可以在xml/payloads.xml中看…...

【BurpSuite常用功能介绍】

BurpSuite的使用 1.运行BurpSuite 2.代理设置 打开软件后&#xff0c;我们第一件事就应该去调试软件和浏览器的代理&#xff0c;让BURP能够正常工作抓包 proxy--options&#xff0c;我端口默认使用8080 然后我们打开一个浏览器&#xff0c;进入代理设置 (注意一点&#xff0…...

Leetcode 108. 将有序数组转换为二叉搜索树

108. 将有序数组转换为二叉搜索树 分析 给定一个有序数组&#xff0c;要求转换为二叉搜索树。 数组是有序的&#xff0c;并且要求二叉树。 这里看到数组是有序的&#xff0c;马上想到二分&#xff0c;但是又不需要完全二分 实现。 再复习二叉搜索树的结构特点&#xff1a; 左…...

小匠物联联合亚马逊云助力企业数智化出海

如何让家电企业出海产品数智化之路走上康庄大道&#xff1f;8月25日,亚马逊云科技[创新成长企业专列]这趟上云快车将开往宁波站&#xff0c;助力宁波的制造、软件等企业扬帆起航&#xff01;现场举办“亚马逊云科技助力企业出海数智沙龙”&#xff0c;小匠物联受邀出席。 会议现…...

(五)k8s实战-配置管理

一、ConfigMap 使用 kubectl create configmap -h 查看示例&#xff0c;构建 configmap 对象 1) 基于文件夹&#xff0c;加载文件夹下所有配置文件&#xff0c;创建 kubectl create configmap <configmapName> --from-file<dirPath>2) 指定配置文件&#xff0c;创…...

GPT---1234

GPT:《Improving Language Understanding by Generative Pre-Training》 下载地址:https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdfhttps://cdn.openai.com/research-covers/language-unsupervised/language_understa…...

计算机竞赛 基于大数据的时间序列股价预测分析与可视化 - lstm

文章目录 1 前言2 时间序列的由来2.1 四种模型的名称&#xff1a; 3 数据预览4 理论公式4.1 协方差4.2 相关系数4.3 scikit-learn计算相关性 5 金融数据的时序分析5.1 数据概况5.2 序列变化情况计算 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &…...

python进行数据分析:数据预处理

六大数据类型 见python基本功 import numpy as np import pandas as pd数据预处理 缺失值处理 float_data pd.Series([1.2, -3.5, np.nan, 0]) float_data0 1.2 1 -3.5 2 NaN 3 0.0 dtype: float64查看缺失值 float_data.isna()0 False 1 …...

百度Apollo:引领自动驾驶技术的创新与突破

文章目录 前言一、技术创新二、开放合作三、生态建设四、安全可靠性总结 前言 随着科技的迅猛发展&#xff0c;自动驾驶技术正成为未来交通领域的重要发展方向。在这个领域中&#xff0c;百度Apollo作为中国领先的自动驾驶平台&#xff0c;以其卓越的创新能力和开放合作精神&a…...

Python爬虫 异步、缓存技巧

在进行大规模数据抓取时&#xff0c;Python爬虫的速度和效率是至关重要的。本文将介绍如何通过异步请求、缓存和代理池等技巧来优化Python爬虫的速度和性能。我们提供了实用的方案和代码示例&#xff0c;帮助你加速数据抓取过程&#xff0c;提高爬虫的效率。 使用异步请求、缓…...

YOLOv5屏蔽区域检测(选择区域检测)

YOLOv5屏蔽区域检测以及选择区域检测 前期准备labelme选择mask区域 代码改动 前期准备 思路就是通过一个mask掩膜&#xff0c;对我们想要屏蔽或者选择的区域进行遮挡处理&#xff0c;在推理的时候&#xff0c;将有mask掩膜的图像输入&#xff0c;将最后的结果显示在原始图像上…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...