2024暑假友谊赛 2

Problem - 1150B - Codeforces

小C是重度强迫症晚期患者,如果某些图形无法按照他的想法排列,那么他就会迎来他的末日。某天小C来到了心心念念的女神家里(绝对不可能是女装大佬,绝对不可能),他发现地砖有两种颜色组成,分别是白色和绿色。小C对女神家里的一切都充满好奇,经过他不懈的研究,终于发现绿色地砖是白色地砖涂了绿色涂料变成的,这使他大为震惊,但是这些都不重要,主要是他家里的地砖是由十字形的绿色地砖组成,只要能证明女神家的地砖也是由一个个绿色十字组成,那么他就会认为女神和他很般配,如果不能那么他就会迎来强迫症末日,绿色十字如下图所示:

女神家的地砖有n行n列,总共n2𝑛2块地砖。对于一个绿色十字,小C认为必须由5块地砖组成,而且两个十字间不可以共用绿色地砖,由于女神家非常大,小C的强迫症末日一时间竟不知道要不要降临,所以需要你编程进行判断。

简单的暴力就可以了;

#include<bits/stdc++.h>
using namespace std;
#define int long long
char mp[55][55];
int n;
int dx[5]={0,0,0,1,-1};
int dy[5]={0,1,-1,0,0};
signed main(){cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>mp[i][j];	}}int sum=0;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){sum=0;for(int k=1;k<=4;k++){if(mp[i][j]=='.'){int xx=i+dx[k];int yy=j+dy[k];if(xx>0&&xx<=n&&yy>0&&yy<=n&&mp[xx][yy]=='.'){sum++;}}}if(sum==4){for(int k=1;k<=4;k++){if(mp[i][j]=='.'){int xx=i+dx[k];int yy=j+dy[k];if(xx>0&&xx<=n&&yy>0&&yy<=n&&mp[xx][yy]=='.'){mp[xx][yy]='#';}}}mp[i][j]='#';}}}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(mp[i][j]=='.'){cout<<"NO"<<endl;return 0;}}}cout<<"YES"<<endl;return 0;
}

D - All Assign Point Add (atcoder.jp)

题意:给你一个长度为n的数组,你有Q次操作,

有三种类型的操作:

1 x:将数组所有的值全部都变为x;

2  x y:将y加入到数组下标为x的位置(数组下标从1开始)

3 x :输出下标为x的数组中值;

数据范围是2e5;

题解,当执行操作1的时候不用全部都更新,只用开一个数组记录执行操作2 / 3 之前有无将数更新为x即可;

#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[200005];
int b[200005];
queue<int>one;
queue<pair<int,int>>two;
queue<int>three;
queue<int>xuhao;
signed main(){int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}int Q;cin>>Q;int x=0,f=0;while(Q--){int op;cin>>op;if(op==1){cin>>x;f++;}else if(op==2){int y,u;cin>>y>>u;if(b[y]!=f){b[y]=f;a[y]=x+u;}else{a[y]+=u;}}else if(op==3){int p;cin>>p;if(b[p]==f)cout<<a[p]<<endl;else {b[p]=f;a[p]=x;cout<<a[p]<<endl;}}}}

Problem - 1332D - Codeforces

 题解:构造一个矩阵,找找其中规律,要让自己的算法和正确答案之间的差值不大于k;

因为k的取值范围是1e5转换成二进制就是2的17次方,所以将1<<17位,接着我们来构造一个矩阵:

2*2的矩阵可以吗,显然不行,这样的话小明的算法和正确答案是一模一样的,那我们构造一个2*3的矩阵,

ans=1<<17;

我们需要让算法的结果为0,正确答案为k即可

矩阵:

ans+k       ans            0

k             ans+k            k         

按照小明的算法得到的结果就是

ans+k             ans                                 0

k                    ans(max(ans,k))              0

而正确答案是不用取最大,就取k,最后结果就是最大值k;

他们之间就像相差k;

#include<bits/stdc++.h>
using namespace std;
#define int long longsigned main(){int k;cin>>k;int ans=(1<<17);cout<<2<<' '<<3<<endl;cout<<ans+k<<" "<<ans<<" "<<0<<endl;cout<<k<<" "<<ans+k<<" "<<k<<endl;return 0;
}

[ARC134B] Reserve or Reverse - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

 什么是子序列:

从最初序列通过去除某些元素但不打乱余下元素的相对位置(在前或则在后)而形成的新序列

从第一个字符开始遍历元素,找到从a到h[i]的字母,一旦发现能找到就交换并且缩短距离右边界,

一些小细节就是找到的字母中一定不能超过r边界,不然就不满足总序列的条件;其次我们用栈区存元素出现的下标,是为了让r在尽可能的范围内最小化缩短,这样可能可以交换更多的字母;

#include <bits/stdc++.h> using namespace std;  
string s;  
vector<int> v[30];
int N;  
int main(){  cin >> N >> s; for(int i=0; i<N; i++)v[s[i] - 'a'].push_back(i);  int r = N - 1; // 初始化r为字符串s的最后一个字符的索引  for(int l=0; l<N; l++){  int u = -1; // 用于存储找到的符合条件的字符的索引,初始化为-1  // 遍历从'a'到当前字符s[l]之间的所有字母(按ASCII码顺序)  for(int j=0; j<s[l]-'a' && u == -1; j++){  // 移除当前vector中索引大于r的元素,因为这些元素在s[r]之后,不可能与s[l]交换  while(!v[j].empty() && v[j].back() > r)  v[j].pop_back();  // 如果当前vector不为空,且最后一个元素的索引在[l+1, r]之间(即在当前字符s[l]之后但在s[r]之前或相等),则更新u  if(!v[j].empty() && v[j].back() <= r && v[j].back() > l){  u = v[j].back(), v[j].pop_back(); // 更新u并移除该元素,因为已经找到并准备交换  }  }  // 如果找到了符合条件的字符(即u != -1),则交换s[l]和s[u](或s[r],因为r在循环开始前被设置为u)  if(u != -1){  r = u; // 更新r为找到的字符的索引  swap(s[l], s[r]); // 交换字符  }  }  cout << s; // 输出排序后的字符串  return 0;  
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/875506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【漏洞复现】E-Cology OA——WorkflowServiceXml——SQL注入

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 E-Cology OA协同商务系统是一款面向中大型组织的数字化办公产品…

Mysql数据库第四次作业

mysql> create table student(sno int primary key auto_increment,sname varchar(30) not null unique,Ssex varchar(2) check (Ssex男 or Ssex女) not null,Sage int not null,Sdept varchar(10) default计算机 not null); mysql> create table Course(Con int primar…

昇思MindSpore学习入门-高阶自动微分

mindspore.ops模块提供的grad和value_and_grad接口可以生成网络模型的梯度。grad计算网络梯度&#xff0c;value_and_grad同时计算网络的正向输出和梯度。本文主要介绍如何使用grad接口的主要功能&#xff0c;包括一阶、二阶求导&#xff0c;单独对输入或网络权重求导&#xff…

7.24 模拟赛总结 [dp 专场] + tarjan

复盘 7:40 开题 看 T1 &#xff0c;妈呀&#xff0c;一上来就数数&#xff1f;盯了几分钟后发现会了&#xff0c;不就是 LCS 计数嘛 继续看&#xff0c;T2 看上去很恶心&#xff0c;线段覆盖&#xff0c;感觉可能是贪心什么的 再看 T3&#xff0c;先想了个 n 2 n^2 n2 的式…

Vue 3 + Vite 项目中安装 Tailwind CSS

官网&#xff1a;安装 - TailwindCSS中文文档 | TailwindCSS中文网 tips&#xff1a;只按照官网的配置可能会导致样式不加载/加载不生效的问题 1、正确安装指令 npm install -D tailwindcss postcss autoprefixer npx tailwindcss init -p 自动生成 ​tailwind.config.js​…

【C++】string类(上)

个人主页~ string 一、标准库中的string类1、什么是string类2、string类的常用接口讲解&#xff08;1&#xff09;string类的常见构造&#xff08;2&#xff09;string类的容量操作&#xff08;3&#xff09;string类对象的访问及遍历&#xff08;4&#xff09;string类对象的修…

Java语言程序设计——篇七(2)

&#x1f33f;&#x1f33f;&#x1f33f;跟随博主脚步&#xff0c;从这里开始→博主主页&#x1f33f;&#x1f33f;&#x1f33f; 封装性与多态 封装性与访问修饰符类的访问权限类成员的访问权限 &#x1f320;防止类扩展和方法覆盖实战演练 抽象类实战演练 对象转换实战演练…

lambda表达式,真题示例

Lambda表达式 它使代码更加简洁、易读&#xff0c;函数式编程增强了代码的表达力。常用于对集合的操作&#xff0c;如遍历、过滤、转换等。 Lambda表达式的形式&#xff1a; 参数&#xff0c; 箭头&#xff08;->) 以及一个表达式&#xff1a; (String first, String sec…

Android P Input设备变化监听 Storage设备变化监听

InputManager.java中实现了InputDeviceListener接口&#xff0c;只需要新建一个类 implements InputDeviceListener &#xff0c;并且将类实例化注册给InputManager.getInstance().registerInputDeviceListener即可。 StorageManager同理 StorageManager中会调用StorageEventL…

还手动抄字幕?学会这3个视频转文字方法,轻松提取视频中的字幕!

大家有尝试过考试前极限抱佛脚吗&#xff1f; 在下不才&#xff0c;曾经试过一次&#xff0c;轻松在及格线低空飘过【大家不要学不要学不要学&#xff0c;重要的事情说三遍&#xff01;&#xff01;&#xff01;】 至于我当时究竟是怎么做到的呢&#xff1f;其实这里面有点小…

网络原理_初识

目录 一、局域网LAN 二、广域网WAN 三、网络通信基础 3.1 IP地址 3.2 端口号 3.3 协议 3.4 五元组 3.5 OSI七层模型 3.6 TCP/IP五层模型 3.7 网络设备所在分层 3.8 封装和分用 总结 一、局域网LAN 局域网&#xff0c;即 Local Area Network&#xff0c;Local 即标…

“微软蓝屏”全球宕机,敲响基础软件自主可控警钟

上周五&#xff0c;“微软蓝屏”“感谢微软 喜提假期”等词条冲上热搜&#xff0c;全球百万打工人受此影响&#xff0c;共同见证这一历史性事件。据微软方面发布消息称&#xff0c;旗下Microsoft 365系列服务出现访问中断。随后在全球范围内&#xff0c;包括企业、政府、个人在…

【定积分】

框架 概念&#xff0c;性质定积分计算基本特色变限积分及其导数反常积分&#xff08;广义积分&#xff09;定积分应用面积体积 讲解 1.概念&#xff0c;性质&#xff1a; 定积分就是求出曲线的面积&#xff1b;性质中要注意几个不等式的比较 2.定积分计算&#xff1a; 基本&…

物理机 gogs+jenkins+sonarqube 实现CI/CD

一、部署gogs_0.11.91_linux_amd64.tar.gz gogs官网下载&#xff1a;https://dl.gogs.io/ yum -y install mariadb-serversystemctl start mariadbsystemctl enable mariadbuseradd gittar zxvf gogs_0.11.91_linux_amd64.tar.gzcd gogsmysql -u root -p < scripts/mysql.…

vue3前端开发-小兔鲜项目-登录和非登录状态下的模板适配

vue3前端开发-小兔鲜项目-登录和非登录状态下的模板适配&#xff01;有了上次的内容铺垫&#xff0c;我们可以根据用户的token来判定&#xff0c;到底是显示什么内容了。 1&#xff1a;我们在对应的导航组件内修改完善一下内容即可。 <script setup> import { useUserSt…

svn软件总成全内容

SVN软件总成 概述&#xff1a;本文为经验型文档 目录 D:\安装包\svn软件总成 的目录D:\安装包\svn软件总成\svn-base添加 的目录D:\安装包\svn软件总成\tools 的目录D:\安装包\svn软件总成\tools\sqlite-tools-win32-x86-3360000 的目录D:\安装包\svn软件总成\安装包-----bt lo…

C#调用OpenCvSharp实现图像的角点检测

角点检测用于获取图像特征&#xff0c;以支撑运动检测、目标识别、图像匹配等方面的应用。常用的角点检测算法包括Kitchen-Rosenfeld算法、Harris算法、KLT算法、SUSAN算法等&#xff0c;本文学习并测试Harris角点检测算法。   关于Harris算法的数学原理请见参考文献1的第18、…

C++内存管理和模板/stl初识

前言 c兼容C语言&#xff0c;但它因为有类和对象的概念&#xff0c;C语言原生的那套内存管理函数在特定场景下还是有些捉襟见肘的&#xff0c;为此c在C语言的基础上引入新的内存管理方案&#xff0c;今天我们就来简单的认识一下c的内存管理。除此之外&#xff0c;模板也是c引入…

Jetpack Compose 通过 OkHttp 发送 HTTP 请求的示例

下面是一个使用 Kotlin 和 Jetpack Compose 来演示通过 OkHttp 发送 HTTP 请求的示例。这个示例包括在 Jetpack Compose 中发送一个 GET 请求和一个 POST 请求&#xff0c;并显示结果。 添加okhttp依赖 首先&#xff0c;在你的 build.gradle.kts 文件中添加必要的依赖&#xf…

父子组件生命周期的执行顺序

在Vue中&#xff0c;父子组件的生命周期执行顺序是一个重要的概念&#xff0c;它帮助开发者理解组件之间的加载、更新和销毁过程。以下是对父子组件生命周期执行顺序的详细解释&#xff1a; 一、加载渲染过程 当Vue实例开始创建时&#xff0c;会按照以下顺序执行生命周期钩子…