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

Codeforces Round 984 (Div. 3) (A~E)

文章目录

  • A. Quintomania
    • 思路
    • code
  • B. Startup
    • 思路
    • code
  • C. Anya and 1100
    • 思路
    • code
  • D. I Love 1543
    • 思路
    • code
  • E. Reverse the Rivers
    • 思路
    • code

https://codeforces.com/contest/2036

A. Quintomania

思路

签到题,直接模拟即可

code

void solve(){int n;cin >> n;for(int i=1;i<=n;++i) cin >> a[i];for(int i=2;i<=n;++i){if(abs(a[i]-a[i-1])==5 || abs(a[i]-a[i-1])==7)continue;else{cout << "NO" << endl;return ;}} cout << "YES" << endl;return ;
}

B. Startup

思路

考点:排序

桶标记的思维将k个数存入到数组中,再将数组进行降序排序,最后取前n个数即可

code

const int N=1e6+5;
int a[N];
void solve(){int n,k;cin >> n >> k;int ans=0,mx=0;int s=max(n,k);for(int i=1;i<=s;++i) a[i]=0;for(int i=1;i<=k;++i){int x,y;cin >> x >> y;a[x]+=y;}sort(a+1,a+1+k,greater<int>());for(int i=1;i<=n;++i) ans+=a[i];cout << ans << endl;return ;
}

C. Anya and 1100

思路

考点:模拟

先统计字符串中"1100"的个数,对于q次询问,每次改变1个字符,通过观察不难发现:
改变的这一个字符只影响它前面3个字符和后面3个字符,因此我们只需要暴力循环这7个字符即可
先不替换这个字符,减去这7个位置的"1100"的个数
替换这个字符,加上这7个位置的"1100"的个数
判断 c n t cnt cnt 个数是否大于0,满足输出YES
反之输出NO

code

void solve(){string s;cin >> s;int q;cin >> q;int cnt=0,n=s.size();for(int i=0;i<=n-4;++i){if(s[i]=='1' && s[i+1]=='1' && s[i+2]=='0' && s[i+3]=='0')cnt++;}while(q--){int x;char v;cin >> x >> v;x--;for(int i=max(0ll,x-4+1);i<=x;++i){if(s[i]=='1' && s[i+1]=='1' && s[i+2]=='0' && s[i+3]=='0')cnt--;}s[x]=v;for(int i=max(0ll,x-4+1);i<=x;++i){if(s[i]=='1' && s[i+1]=='1' && s[i+2]=='0' && s[i+3]=='0')cnt++;}if(cnt>0) cout << "YES" << endl;else cout << "NO" << endl;}return ;
}

D. I Love 1543

思路

考点:模拟

对于每一个外层,我们将这些数存入到数组中
注意:需要多存入3个数,例如:

5 4
1 3

假设我们从5开始读取,那么数组包含的数为 5 4 3 1 ,显然数组中并没有连续的1543
可是对于这个样例来说,它是有1个连续的1543
观察数组,这个1在数组的末位
显然我们还需要在这个数组中多添加3个数,因此最终的数组为 5 4 3 1 5 4 3

统计数组中连续的1543,最后输出即可

code

const int N=1e3+5;
char a[N][N];
void solve(){int n,m;cin >> n >> m;for(int i=1;i<=n;++i)for(int j=1;j<=m;++j){cin >> a[i][j];}int ans=0;int t=min(n,m);t/=2;int l=1;while(t--){vector<char> v;for(int i=l;i<=m;++i) v.push_back(a[l][i]);for(int i=l+1;i<=n;++i) v.push_back(a[i][m]);for(int i=m-1;i>=l;--i) v.push_back(a[n][i]);for(int i=n-1;i>l;--i) v.push_back(a[i][l]);int k=3;for(int i=l;i<=m;++i){if(k){v.push_back(a[l][i]);k--;}else break;}for(int i=l+1;i<=n;++i){if(k){v.push_back(a[i][m]);k--;}else break;} for(int i=m-1;i>=l;--i){if(k){v.push_back(a[n][i]);k--;}else break;}
//		for(auto i : v) cout << i << " "; 
//		cout << endl;for(int i=0;i<=v.size()-4;++i){if(v[i]=='1'){if(v[i+1]=='5' && v[i+2]=='4' && v[i+3]=='3') ans++;}}l++,m--,n--;}cout << ans << endl;return ;
}

E. Reverse the Rivers

思路

考点:二分

首先预处理 a [ i ] [ j ] ∣ = a [ i − 1 ] [ j ] a[i][j]|=a[i-1][j] a[i][j]=a[i1][j]
然后将n行k列转换为k行n列,即 b [ j ] [ i ] = a [ i ] [ j ] ; b[j][i]=a[i][j]; b[j][i]=a[i][j];

对于q次询问,首先定义左右边界,即 l = 1 , r = n l=1,r=n l=1,r=n
对于m次询问:

  • 如果o为 < < < ,我们可以用lower_bound函数在 b [ k ] b[k] b[k] 中找出大于等于 c c c 的第一个值的下标
    那么这个下标(包过这个下标)之后的值都不在我们要找的范围中
    将这个下标赋值给x, r = x − 1 r=x-1 r=x1 ,同小取小,我们要找最小的下标,那么 r = m i n ( r , x − 1 ) r=min(r,x-1) r=min(r,x1)
  • 反之,我们可以用upper_bound函数在 b [ k ] b[k] b[k] 中找出大于 c c c 的第一个值的下标
    那么这个下标之前的值都不在我们要找的范围中
    将这个下标赋值给x, l = x l=x l=x ,同大取大,我们要找最大的下标,那么 l = m a x ( l , x ) l=max(l,x) l=max(l,x)

最后判断如果 l < = r l<=r l<=r ,输出左边界 l l l
反之输出 − 1 -1 1

code

void solve(){int n,k,q;cin >> n >> k >> q;vector<vector<int>>a(n+1,vector<int>(k+1)); vector<vector<int>>b(k+1,vector<int>(n+1)); for(int i=1;i<=n;++i)for(int j=1;j<=k;++j){cin >> a[i][j];a[i][j]|=a[i-1][j];b[j][i]=a[i][j];}while(q--){int m;cin >> m;int l=1,r=n;while(m--){int k,c;char o;cin >> k >> o >> c;if(o=='<'){int x=lower_bound(b[k].begin()+1,b[k].end(),c)-b[k].begin();x--;r=min(r,x);}else{int x=upper_bound(b[k].begin()+1,b[k].end(),c)-b[k].begin();l=max(l,x);}}if(l<=r) cout << l << endl;else cout << -1 << endl;}return ;
}

相关文章:

Codeforces Round 984 (Div. 3) (A~E)

文章目录 A. Quintomania思路code B. Startup思路code C. Anya and 1100思路code D. I Love 1543思路code E. Reverse the Rivers思路code https://codeforces.com/contest/2036 A. Quintomania 思路 签到题&#xff0c;直接模拟即可 code void solve(){int n;cin >>…...

pytorch3d报错:RuntimeError: Not compiled with GPU support.

目录 解决方法&#xff1a;编译之前&#xff1a;加上指令&#xff1a; 解决方法&#xff1a;pytorch3d 安装命令&#xff08;ubuntu&#xff09;&#xff0c;成功&#xff01;&#xff01;&#xff01; 测试代码&#xff1a; FORCE_CUDA1 works for me. Thanks! args (point…...

软考中级-软件设计师 数据结构与算法

文章目录 考点数据结构基础线性结构非线性结构 常见算法排序算法查找算法递归算法分治算法动态规划贪心算法 复杂度分析 考点 在软考中&#xff0c;数据结构与算法的考点主要集中在以下方面&#xff1a; 基本概念&#xff1a;掌握各类数据结构的定义、特点和应用场景。常用算…...

关于CSS表达使中使用的 max() 函数

定义&#xff1a; max() 函数&#xff1a;它会返回括号中给定的值中的最大值。 比如&#xff0c;width: max(250px, 25vw);-------它比较 250px 和 25vw&#xff0c;然后选择其中的较大值作为元素的宽度。 让我们逐步解析这个表达式&#xff1a; 250px&#xff1a;表示一个…...

51单片机教程(八)- 数码管的静态显示

1、项目分析 使用数码管显示指定的字符、数字和符号。 2、技术准备 1、显示器及其接口 单片机系统中常用的显示器有&#xff1a; 发光二极管LED&#xff08;Light Emitting Diode&#xff09;显示器、液晶LCD&#xff08;Liquid Crystal Display&#xff09;显示器、CRT显…...

案例精选 | 河北省某检察院安全运营中异构日志数据融合的实践探索

河北省某检察院是当地重要的法律监督机构&#xff0c;肩负着维护法律尊严和社会公平正义的重要职责。该机构依法独立行使检察权&#xff0c;负责对犯罪行为提起公诉&#xff0c;并监督整个诉讼过程&#xff0c;同时积极参与社会治理&#xff0c;保护公民权益&#xff0c;推动法…...

clickhouse自增id的处理

msyql 中创建数据表的时候可以通过AUTO_INCREMENT 来实现&#xff0c;clickhouse中可以通过其他方式来处理 一、 默认值 创建表时可以实用默认值&#xff0c;该列值可以自动递增。如下所示 CREATE TABLE my_table ( id UInt32 DEFAULT IDENTITY(AUTO_INCREMENT), name Strin…...

国内读新加坡公立大学在职博士是一种怎样的体验?还中文授课

国内读新加坡公立大学在职博士是一种怎样的体验&#xff1f;还中文授课 在国内享受国际化教育体系&#xff0c;这样的优势无论在学术和职业发展上&#xff0c;还是在个人综合素质和拓宽国际视野方面&#xff0c;都是无法抗拒的诱惑。当下这所新加坡公立大学就给了国内在职人员…...

linux 配置core

在Linux系统中&#xff0c;当一个程序崩溃时&#xff0c;系统可以生成一个名为"core dump"的文件。这个文件包含了程序崩溃时的内存映像&#xff0c;可以用来调试和确定程序崩溃的原因。生成core dump文件的功能是由内核配置的&#xff0c;可以通过多种方式来控制这个…...

postcss-loader运行报错

解决方案&#xff1a; 1、检查postcss和postcss-cssloader相关依赖 npm list postcss postcss-loader 2、原因&#xff1a; 你的依赖中存在 PostCSS 的版本冲突&#xff1a; 3、结局方案&#xff1a; 升级整个工具链到新版本&#xff08;推荐&#xff09;&#xff1a; npm…...

智能存储解决方案:探索 TDengine 的多级存储功能

在当今数据驱动的时代&#xff0c;如何高效地存储和管理海量数据已成为企业面临的一大挑战。为了应对这一需求&#xff0c;TDengine Enterprise 不仅支持使用对象存储&#xff08;S3&#xff09;&#xff0c;还早已引入了独特的多级存储功能。这一功能不仅能够降低存储成本&…...

Vue 3 中Pinia状态管理库的使用方法总结

Pinia 是 Vue 3 的状态管理库&#xff0c;旨在替代 Vuex&#xff0c;提供更简洁和更灵活的 API。以下是如何在 Vue 3 项目中使用 Pinia 的详细步骤。 1. 安装 Pinia 首先&#xff0c;你需要在你的 Vue 3 项目中安装 Pinia。你可以使用 npm 或 yarn 进行安装&#xff1a; npm…...

劫持微信聊天记录并分析还原 —— 访问数据库并查看聊天记录(五)

本工具设计的初衷是用来获取微信账号的相关信息并解析PC版微信的数据库。程序以 Python 语言开发&#xff0c;可读取、解密、还原微信数据库并帮助用户查看聊天记录&#xff0c;还可以将其聊天记录导出为csv、html等格式用于AI训练&#xff0c;自动回复或备份等等作用。下面我们…...

vue3+vite 前端打包不缓存配置

最近遇到前端部署后浏览器得清缓存才能出现最新页面效果得问题 所以…按以下方式配置完打包就没啥问题了&#xff0c;原理很简单就是加个时间戳 /* eslint-disable no-undef */ import {defineConfig, loadEnv} from vite import path from path import createVitePlugins from…...

Dinky控制台:利用SSE技术实现实时日志监控与操作

1、前置知识 1.1 Dinky介绍 实时即未来,Dinky 为 Apache Flink 而生,让 Flink SQL 纵享丝滑。 Dinky 是一个开箱即用、易扩展,以 Apache Flink 为基础,连接 OLAP 和数据湖等众多框架的一站式实时计算平台,致力于流批一体和湖仓一体的探索与实践。 致力于简化Flink任务开…...

cannot locate symbol _ZTVNSt6__ndk119basic_ostringstreamIcNS_

编译正常&#xff0c;运行报错&#xff1a;cannot locate symbol _ZTVNSt6__ndk119basic_ostringstreamIcNS_ 简单记录&#xff1a; 1、编译ffmpeg so库&#xff0c;编译正常&#xff1b; 2、AndroidStudio建立项目&#xff0c;引用so库&#xff0c;编译正常&#xff0c;运行…...

SwiftUI开发教程系列 - 第4章:数据与状态管理

在 SwiftUI 中,数据与视图的绑定可以自动响应数据变化,实时更新 UI。SwiftUI 提供了多种数据管理方式,包括 @State、@Binding、@ObservedObject 和 @EnvironmentObject 等属性包装器。本章将逐一介绍这些属性包装器的用途及其最佳实践。 4.1 使用 @State 进行本地状态管理 …...

API接口:助力汽车管理与安全应用

随着汽车行业的飞速发展&#xff0c;越来越多的汽车管理技术被应用到交通安全和智慧交通系统中。在这一过程中&#xff0c;API接口起到了至关重要的作用。通过API接口&#xff0c;我们可以实现诸如车主身份验核、车辆信息查询等功能&#xff0c;从而为汽车智慧交通发展与安全应…...

聊一聊在字节跳动做项目质量改进的经验

引言 那一年&#xff0c;我刚毕业一年多&#xff0c;在第一家公司依然到了成长瓶颈期&#xff0c;一是不愿意频繁出差&#xff08;做乙方的无奈&#xff09;&#xff1b;二是疲于每天重复的手工测试&#xff08;团队缺乏技术氛围&#xff09;&#xff0c;技术上难有突破的机会…...

CSS基础概念:什么是 CSS ? CSS 的组成

什么是 CSS&#xff1f; CSS&#xff08;层叠样式表&#xff0c;Cascading Style Sheets&#xff09;是一种用于控制网页外观的样式表语言。通过定义样式规则&#xff0c;CSS 可以指定 HTML 页面中各个元素的显示方式&#xff0c;包括颜色、布局、字体、间距等。 与 HTML 专注…...

一键部署体验:Nomic-Embed-Text-V2-MoE在星图GPU平台上的开箱即用Demo

一键部署体验&#xff1a;Nomic-Embed-Text-V2-MoE在星图GPU平台上的开箱即用Demo 你是不是也遇到过这种情况&#xff1f;看到一篇技术文章介绍某个很酷的开源模型&#xff0c;比如Nomic-Embed-Text-V2-MoE&#xff0c;心里痒痒的想立刻试试。结果一搜部署教程&#xff0c;又是…...

3大突破!GenUI重构Flutter界面开发范式

3大突破&#xff01;GenUI重构Flutter界面开发范式 【免费下载链接】genui 项目地址: https://gitcode.com/gh_mirrors/genui1/genui GenUI是一个革命性的Flutter库&#xff0c;它通过AI驱动的动态界面生成技术&#xff0c;彻底改变了传统UI开发流程。作为连接自然语言…...

Spring Authorization Server Redis缓存优化:构建高性能分布式授权服务的架构设计与性能调优指南

Spring Authorization Server Redis缓存优化&#xff1a;构建高性能分布式授权服务的架构设计与性能调优指南 【免费下载链接】spring-authorization-server Spring Authorization Server 项目地址: https://gitcode.com/gh_mirrors/sp/spring-authorization-server 在现…...

Qwen3-VL-8B助力AIGC内容创作:图文匹配与风格一致性检查

Qwen3-VL-8B助力AIGC内容创作&#xff1a;图文匹配与风格一致性检查 最近在折腾AIGC内容创作&#xff0c;我发现一个挺头疼的问题&#xff1a;用模型生成了一大堆图片&#xff0c;怎么快速判断哪张图最符合我的文字描述&#xff1f;或者&#xff0c;一个系列的海报做出来&…...

用Python实战N皇后:从回溯的O(n!)到启发式修补的秒解,附完整性能对比代码

用Python实战N皇后&#xff1a;从回溯的O(n!)到启发式修补的秒解&#xff0c;附完整性能对比代码 N皇后问题作为经典的算法挑战&#xff0c;一直是检验编程技巧和算法思维的试金石。当棋盘规模n增大时&#xff0c;不同算法的性能差异会呈现指数级分化——回溯法在n15时可能需要…...

比话降AI使用教程:从注册到拿到合格检测报告全流程详解

比话降AI使用教程&#xff1a;从注册到拿到合格检测报告全流程详解 不少同学找到比话降AI&#xff0c;是因为看到了那个承诺&#xff1a;AI率大于15%全额退款&#xff0c;还退检测费。 这个承诺确实不一样。其他工具一般只说"效果不好可重做"&#xff0c;但重做了几…...

Qwen3-ASR-1.7B与Python爬虫结合实战:音频数据采集与智能分析流水线

Qwen3-ASR-1.7B与Python爬虫结合实战&#xff1a;音频数据采集与智能分析流水线 1. 为什么需要这套音频分析流水线 最近在帮一家做社交媒体舆情监控的团队搭建分析系统时&#xff0c;他们提出了一个很实际的问题&#xff1a;视频平台里大量用户评论是以语音形式存在的&#x…...

Python实战:出租车计费模拟器开发(附完整代码与测试用例)

Python实战&#xff1a;出租车计费模拟器开发&#xff08;附完整代码与测试用例&#xff09; 出租车计费系统是城市交通中不可或缺的一部分&#xff0c;而用Python模拟这一过程不仅能帮助初学者理解条件分支和输入输出处理&#xff0c;还能培养将现实问题转化为代码的思维能力。…...

NASA、ESA官方数据源直连失败?Python遥感API调用失效诊断手册(含12个HTTPS/Token/CRS认证报错速查表)

第一章&#xff1a;NASA、ESA官方遥感数据直连失效的典型现象与影响评估近年来&#xff0c;全球多个科研机构与商业遥感平台频繁报告无法稳定访问NASA Earthdata Login和ESA Copernicus Open Access Hub的API端点&#xff0c;表现为HTTP 503、401或连接超时等异常响应。此类直连…...

大麦网抢票终极指南:告别手速焦虑的Python自动化方案

大麦网抢票终极指南&#xff1a;告别手速焦虑的Python自动化方案 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 还记得那些令人心碎的时刻吗&#xff1f;偶像的演唱会门票开售瞬间&#xff0c;你…...