Codeforces Round #898 (Div. 4)

首先庆祝自己上了绿名🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄

1873A - Short Sort

1873B - Good Kid

const int N=1e5+10;
int a[N];
void slove(){int n; cin>>n;pair<int,int> p={-1,INT32_MAX};for(int i=0;i<n;i++){cin>>a[i];if(a[i]<p.second){p.first=i; p.second=a[i];}}a[p.first]++;int ans=1;for(int i=0;i<n;i++) ans*=a[i];cout<<ans<<endl;
}

1873C - Target Practice
5个正方形的环,越内圈分数越高。那给出一个坐标我们判断它属于那个环就行。

onst int N=1e5+10;
void slove(){int n=10;int ans=0;for(int i=0;i<n;i++){getchar();int x=min(abs(i-4),abs(i-5));for(int j=0;j<n;j++){int y=min(abs(j-4),abs(j-5));int k=5-max(x,y);char c=getchar();if(c=='X'){ans+=k;}}       }cout<<ans<<endl;
}

1873D - 1D Eraser
给出一个01串和一个数字k,你每次最多可以选择连续的k个元素让它们全部变成0,问最少需要多少次操作
思路:贪心+滑动窗口。

const int N=2e5+10;
int a[N];
void slove(){int n,k; cin>>n>>k;string s; cin>>s;for(int i=0;i<n;i++){if(s[i]=='W') a[i]=0;else a[i]=1;}int ans=0;for(int i=0,j=0,c=0;i<n;i++){if(a[i]){if(c==0) j=i;c++;}if(i-j+1==k || i==n-1){if(c){ans++;c=0;j=i+1;}}}cout<<ans<<endl;
}

1873E - Building an Aquarium
给出一个正整数数组,如果在两边加一个高度为h的边界,那么它就可以容纳一定体积的水。问最多有体积x的水,要装满,h最少为多少。
思路:二分答案。

const int N=2e5+10;
ll a[N];
void slove(){ll n,m; cin>>n>>m;for(int i=0;i<n;i++){cin>>a[i];}ll ans=1,l=1,r=2e9+10;while(l<=r){ll mid=(l+r)>>1;ll sum=0;for(int i=0;i<n;i++){if(mid-a[i]>0) sum+=mid-a[i];}if(sum<=m){ans=mid;l=mid+1;}else{r=mid-1;}}cout<<ans<<endl;
}

1873F - Money Trees
滑动窗口元素之和问题。

const int N=2e5+10;
ll a[N],h[N];
void slove(){ll n,k; cin>>n>>k;for(int i=0;i<n;i++) cin>>a[i];for(int i=0;i<n;i++) cin>>h[i];pair<ll,ll> p={0,-1};for(ll i=0,j=0,c=0;i<n;i++){if(i==0){c=a[0];}else{if(h[i-1]%h[i]){j=i; c=a[i];}else{c+=a[i];}}while(c>k){c-=a[j++];}if(i-j+1>p.second-p.first+1){p.first=j; p.second=i;}}printf("%d\n",p.second-p.first+1);
}

1873G - ABBC or BACB
给出一个A和B组成的字符串,你做以下两种操作:

  • 把AB变成BC
  • 把BA变成CB

问最多能进行多少次操作。

注意到第一种操作B会能左边连续的A消掉,第二种操作B能把右边连续的A消掉。

const int N=2e5+10;
void slove(){string s; cin>>s;int n=s.size();int ans=0;vector<int> ac;for(int i=0,c=0;i<n;i++){if(s[i]=='A') c++;else {ac.push_back(c);c=0;}if(i==n-1) ac.push_back(c);}sort(ac.begin(),ac.end());for(int i=ac.size()-1;i>0;i--){ans+=ac[i];}cout<<ans<<endl;
}

1873H - Mad City (补)
这题很有意思,给出一个无向图,A和B所在的点,A想要抓B,B在A行动前马上可以知道然后逃跑。问B能否一直不被抓到。
当时做的时候想的是如果A和B都在环里面,B就可以一直不被抓到;否则就一定会被抓到。但还是漏掉了一些情况。

可以分几种情况:

  1. A和B一开始在同一个地方,Flase
  2. 无环,Flase
  3. B在环内,A在环外,True
  4. A在环内,B在环外,这种情况就比较复杂了,要根据A和B各自到环内各个点的最短距离来判断

今天捣鼓了好久终于把这题ak了qaq。

const int N=2e5+10;
struct edge{int u,v;
};
vector<edge> es[N]; 
void slove(){int n,s,t; cin>>n>>s>>t;vector<int> d(n+1);for(int i=1;i<=n;i++) es[i].clear();for(int i=0;i<n;i++){int u,v;  cin>>u>>v;es[u].push_back({u,v}); es[v].push_back({v,u});d[v]++; d[u]++;}if(s==t){printf("NO\n");return;}queue<int> q;for(int i=1;i<=n;i++) if(d[i]==1) q.push(i);while(!q.empty()){int u=q.front(); q.pop();for(auto &e:es[u]){int v=e.v;if(--d[v]==1) q.push(v);}}bool ce=false;for(int i=1;i<=n;i++){if(d[i]>=2){ce=true;break;}}if(!ce) {printf("NO\n");return;}else if((d[s]&d[t])>=2) {printf("YES\n");return;}map<int,int> ds;vector<int> vis(n+1);q.push(s);for(int i=0;;i++){int m=q.size();if(!m) break;for(int j=0;j<m;j++){int u=q.front(); q.pop();vis[u]=1;if(d[u]>=2) {ds[u]=i;}for(auto e:es[u]){if(vis[e.v]) continue;vis[e.v]=1;q.push(e.v);}}}    bool flag=false;fill(vis.begin(),vis.end(),0);q.push(t);for(int i=0;;i++){int m=q.size();if(!m||flag) break;for(int j=0;j<m;j++){int u=q.front(); q.pop();vis[u]=1;if(d[u]>=2&&i<ds[u]&&u!=s) {flag=true;break;}for(auto e:es[u]){if(vis[e.v]) continue;vis[e.v]=1;q.push(e.v);}}}        if(flag) printf("YES\n");else printf("NO\n");
}

cf练习时长2个月终于上绿名了(泪目)
在这里插入图片描述

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

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

相关文章

python模拟斐波那契数列输出

用户输入指定的数列范围&#xff0c;正确输出结果。 源代码&#xff1a; def fiebo(n): a 1 b 1 for i in range(n): if i 0: print(a, end" ") elif i 1: print(b, end" ") else: …

腾讯云16核CPU服务器配置大全,CVM和轻量服务器

腾讯云16核CPU服务器有哪些配置可以选择&#xff1f;可以选择标准型S6、标准型SA3、计算型C6或标准型S5等&#xff0c;目前标准型S5云服务器有优惠活动&#xff0c;性价比高&#xff0c;计算型C6云服务器16核性能更高&#xff0c;轻量16核32G28M带宽优惠价3468元15个月&#xf…

Java基础(四)

前言&#xff1a;本博客主要涉及java编程中的线程、多线程、生成者消费者模型、死锁。 目录 线程多线程 线程同步 synchronized Lock锁 线程通信 生产者消费者模型 线程池 使用线程池处理Runnable任务 使用线程池处理Callable任务 Excutors 悲观锁 乐观锁 并发VS并…

React 全栈体系(十三)

第七章 redux 五、redux 异步编程 1. 理解 redux 默认是不能进行异步处理的,某些时候应用中需要在 redux 中执行异步任务(ajax, 定时器) 2. 使用异步中间件 npm install --save redux-thunk 3. 代码 - 异步 action 版 3.1 store /* src/redux/store.js */ /*** 该文件专…

【Spatial-Temporal Action Localization(七)】论文阅读2022年

文章目录 1. TubeR: Tubelet Transformer for Video Action Detection摘要和结论引言&#xff1a;针对痛点和贡献模型框架TubeR Encoder&#xff1a;TubeR Decoder&#xff1a;Task-Specific Heads&#xff1a; 2. Holistic Interaction Transformer Network for Action Detect…

前端项目练习(练习-001-纯原生)

先创建一个空文件夹&#xff0c;名字为web-001,然后用idea开发工具打开&#xff0c;如图&#xff1a; 可以看到&#xff0c;这是个彻底的空项目&#xff0c;创建 index.html index.js index.css三个文件&#xff0c;如图&#xff1a; 其中&#xff0c;html文件内容如下&am…

Qt Charts简介

文章目录 一.图标类型Charts分类1.折线图和样条曲线图2.面积图和散点图3.条形图4.饼图5.误差棒图6.烛台图7.极坐标图 二.坐标轴Axes类型分类三.图例四.图表的互动五.图表样式主题 一.图标类型Charts分类 图表是通过使用系列类的实例并将其添加到QChart或ChartView实例来创建的…

RT-Thread(学习)

RT-Thread是一款完全由国内团队开发维护的嵌入式实时操作系统&#xff08;RTOS&#xff09;&#xff0c;具有完全的自主知识产权。经过16个年头的沉淀&#xff0c;伴随着物联网的兴起&#xff0c;它正演变成一个功能强大、组件丰富的物联网操作系统。 RT-Thread概述 RT-Threa…

基于 SpringBoot+Vue的电影影城管理系统,附源码,数据库

文章目录 第一章 简介第二章 技术栈第三章 功能分析第四章 系统设计第5章 系统详细设计六 源码咨询 第一章 简介 本影城管理系统&#xff0c;是基于 Java SpringBoot 开发的。主要包括二大功能模块&#xff0c;即用户功能模块和管理员功能模块。 &#xff08;1&#xff09;管…

渗透测试信息收集方法和工具分享

文章目录 一、域名收集1.OneForAll2.子域名挖掘机3.subdomainsBurte4.ssl证书查询 二、获取真实ip1.17CE2.站长之家ping检测3.如何寻找真实IP4.纯真ip数据库工具5.c段&#xff0c;旁站查询 三、端口扫描1.端口扫描站长工具2.masscan(全端口扫描)nmap扫描3.scanport4.端口表5.利…

【力扣每日一题】2023.9.23 树上的操作

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 这是一道程序设计类的题目&#xff0c;题目比较长&#xff0c;我稍微概括一下。 构造函数中给我们一个数组&#xff0c;第i个元素表示第…

最新Python大数据之Excel进阶

文章目录 Excel图表类型了解有哪些图表类型 Excel图表使用图表的创建方式利用固定数据区域创建图表编辑数据系列添加数据标签格式化图表 Excel数据透视表数据透视表对原始数据的要求创建数据透视表数据透视表字段布局将数据透视图变成普通图表 Excel图表类型 为了揭示数据规律…

如何模拟自然界生态系统中的食物链

本人最近在研究一款针对青少年儿童的教育游戏&#xff0c;希望从培养孩子各方面的综合素质出发&#xff0c;引导孩子掌握多方面的软知识&#xff0c;软技能。其中有一个比较新颖的游戏玩法------打猎。该玩法创新点在于&#xff0c;引入了食物链的概念。过去一般的游戏里&#…

时间复杂度、空间复杂度

一、时间复杂度 1、概念 时间复杂度&#xff1a;计算的是当一个问题量级增加的时间&#xff0c;时间增长的趋势&#xff1b; O&#xff08;大O表示法&#xff09;&#xff1a;渐进的时间复杂度 2、举例 ① 以下 for 循环的时间复杂度&#xff1a;O(1 3n) O(n) 去掉常数…

查看吾托帮88.47的docker里的tomcat日志

步骤如下 &#xff08;1&#xff09;ssh &#xff08;2&#xff09;ssh root192.168.88.47 等待输入密码&#xff1a;fytest &#xff08;3&#xff09;pwd #注释&#xff1a;输出/root &#xff08;4&#xff09;docker exec -it wetoband_deploy /bin/bash #注释&#xff1…

nginx实现反向代理实例

1 前言 1.1 演示内容 在服务器上访问nginx端口然后跳转到tomcat服务器 1.2 前提条件 前提条件&#xff1a;利用docker安装好nginx、tomcat、jdk8&#xff08;tomcat运行需要jdk环境&#xff09; 只演示docker安装tomcat&#xff1a; 默认拉取最新版tomcat docker pull t…

【vue2第二十章】vuex使用 (state,mutations,actions,getters)

vuex是什么&#xff1f; Vuex是一个用于Vue.js应用程序的状态管理模式。它允许您在应用程序中管理共享状态&#xff0c;并以可预测的方式进行状态更新。Vuex集成了Vue的响应式系统&#xff0c;使得状态的变化能够自动地更新视图。使用Vuex&#xff0c;您可以将应用程序的状态集…

【论文阅读 07】Anomaly region detection and localization in metal surface inspection

比较老的一篇论文&#xff0c;金属表面检测中的异常区域检测与定位 总结&#xff1a;提出了一个找模板图的方法&#xff0c;使用SIFT做特征提取&#xff0c;姿态估计看差异有哪些&#xff0c;Hough聚类做描述符筛选&#xff0c;仿射变换可视化匹配图之间的关系&#xf…

如何使用ArcGIS Pro自动矢量化道路

对于已经制作好的电子地图&#xff0c;我们可以通过像素识别的方式将其中的要素提取出来&#xff0c;比如本教程要讲到的道路数据&#xff0c;这里为大家介绍一下在ArcGIS Pro中如何自动矢量化道路&#xff0c;希望能对你有所帮助。 栅格计算 在工具箱中点击“Spatial Analys…

【AIGC】Llama2-7B-Chat模型微调

环境 微调框架&#xff1a;LLaMA-Efficient-Tuning 训练机器&#xff1a;4*RTX3090TI (24G显存) python环境&#xff1a;python3.8, 安装requirements.txt依赖包 一、Lora微调 1、准备数据集 2、训练及测试 1&#xff09;创建模型输出目录 mkdir -p models/llama2_7b_chat…