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

codeforces 2210

Codeforces Round 1089 (Div. 2)

A. A Simple Sequence 417

image

\(a\) 数组倒序即可。\(n\ \text{mod}\ n-1 \geq n-1\ \text{mod}\ n-2 \geq ... \geq 2\ \text{mod}\ 1\)

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
const int N=2e5+5;
int a[N];
inline void solve(){cin>>n;for(int i=1;i<=n;i++){cout<<n-i+1<<" ";}cout<<'\n';return;
}
signed main(void){cin.tie(NULL)->sync_with_stdio(false);int T=1;cin>>T;while(T--){solve();}return 0;
}
/*
5 4 3 2 1
*/

B. Simply Sitting on Chairs 831

image

假设最后一次坐的椅子是 \(k\),前面不能坐的椅子数量记作 \(cnt\),那么遍历 \(k\) 然后取 \(ans=max(ans,k-cnt)\)即可

\(pos_i\) 是标记的位置是 \(i\) 的对应椅子,一个椅子不能坐仅当 \(pos_i<i\),因为选前面的会导致第 \(i\) 个位置被占用,所以前面会跳过 \(pos_i\) 这把椅子,让 cnt++

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
const int N=2e5+5;
int a[N];
int pos[N];
inline void solve(){cin>>n;for(int i=1;i<=n;i++){cin>>a[i];pos[a[i]]=i;}int ans=0;int cnt=0;for(int i=1;i<=n;i++){if(pos[i]<i){cnt++;}ans=max(ans,i-cnt);}cout<<ans<<'\n';
}
signed main(void){cin.tie(NULL)->sync_with_stdio(false);int T=1;cin>>T;while(T--){solve();}return 0;
}
/*
5
4 3 2 5 1*/

C1. A Simple GCD Problem (Easy Version)

image

首先发现所有区间的最大公约数可以转换成相邻的两个数的最大公约数不变,因为 \(gcd(a_1,a_2,a_3)=gcd(gcd(a_1,a_2),a_3)\)

所以题目变成所有相邻的两个数的 \(gcd\) 不变

那么 \(a_1\)\(a_n\) 只和一个数相邻,中间的数和两个数相邻

\(G(i)\) 表示 \(gcd(a_i,a_{i+1})\),那么如果 \(G(1)<a_1\),就能转换,同理 \(G(n-1)<a_n\)

对于中间的数,则需要 \(lcm(G(i-1),G(i))<a_i\),这样的话 \(a_i'\) 同时满足两边的 \(gcd\) 不变。

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
const int N=2e5+5;
int a[N],b[N];
inline void solve(){cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){cin>>b[i];}int ans=0;if(__gcd(a[1],a[2])<a[1]){ans++;}for(int i=2;i<n;i++){int A=__gcd(a[i-1],a[i]);int B=__gcd(a[i],a[i+1]);int C=A*B/__gcd(A,B);if(C<a[i]) ans++;}if(__gcd(a[n-1],a[n])<a[n]){ans++;}cout<<ans<<'\n';return;
}
signed main(void){cin.tie(NULL)->sync_with_stdio(false);int T=1;cin>>T;while(T--){solve();}return 0;
}
/*
5
4 3 2 5 1*/

D. A Simple RBS Problem

image

题意:交换 \(s\) 中的任意次数的合法括号字串能否转化成 \(t\)

结论题,最外层的括号匹配肯定不能换,然后 () 相邻的左右括号也不能换。

统计 \(s\)\(t\) 中这两种的括号数量是否相同即可。

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
const int N=5e5+5;
inline int cnt1(string c){int res=0;for(int i=0;i<n-1;i++){if(c[i]=='('&&c[i+1]==')'){res++;}}return res;
}
inline int cnt2(string c){int res=0;vector<int> match(n,-1);stack<int> tmp;for(int i=0;i<n;i++){if(c[i]==')'){match[tmp.top()]=i;tmp.pop();}else{tmp.push(i);}}int l=0,r=n-1;while(match[l]==r){l++,r--;res++;}return res;
}
inline void solve(){cin>>n;string s,t;cin>>s>>t;if(cnt1(s)==cnt1(t)&&cnt2(s)==cnt2(t)){cout<<"YES\n";return;}cout<<"NO\n";return;
}
signed main(void){cin.tie(NULL)->sync_with_stdio(false);int T=1;cin>>T;while(T--){solve();}return 0;
}
http://www.jsqmd.com/news/578559/

相关文章:

  • 求解风光负荷不同鲁棒性对系统总成本的影响!并考虑系统向上向下备用容量!(Matlab代码实现)
  • 高薪职业:AI大模型架构师,你需要知道的一切!
  • python_11
  • Skywire蜂窝模组TCP客户端嵌入式框架解析
  • ESP32/ESP8266强制门户配网库WiFiCaptive详解
  • 突破网络限制:使用libcimbar实现屏幕与摄像头之间的视觉数据传输
  • 私人知识库管家:OpenClaw+Gemma-3-12b-it自动化整理Obsidian笔记
  • ESP32/ESP8266轻量级NTP时间同步库
  • 手把手教你使用labelCloud将点云数据标注为KITTI格式(支持pcd与bin格式转换)
  • 隐私优先:OpenClaw+Phi-3-vision构建本地化合同扫描分析系统
  • 效率倍增:基于快马平台打造集成codex的vscode智能编码助手
  • 开关电源核心拓扑与关键元器件选型指南
  • [Windows] 绘画工具 Krita v5.3.1
  • 2026年AI大模型爆发!90%自学党还在踩坑,3大致命错误让你被时代抛弃?速看!
  • 基于遗传算法优化XGBoost的多变量时间序列预测模型:参数优化与交叉验证的MATLAB实现
  • 嵌入式调试实战:常见错误与高效排查方法
  • 嵌入式C语言实战:程序架构、算法与指针应用
  • AD7193高精度ADC驱动设计与嵌入式集成实践
  • OpenClaw多通道管理:Qwen3-14b_int4_awq同时服务飞书与钉钉
  • DAB仿真、DBSRC仿真、三重移相、单移相PWM控制与TPE论文
  • 实战演练:基于快马AI与picoclaw从零搭建自主导航搬运机器人
  • 郭老师-永远要跟认知比你高的人在一起
  • OpenClaw多模型切换:Qwen3-4B与本地Llama3任务分流方案
  • Portenta H7 I2S驱动解析:基于HAL的嵌入式音频开发实践
  • 成本控制艺术:OpenClaw+Phi-3-vision-128k-instruct任务级计费方案
  • 2026年一人食小火锅招商:五大实力品牌深度测评与选型指南 - 2026年企业推荐榜
  • 提升开发效率:用快马平台一键生成基于oneclaw的标准化后台UI模块
  • 别再死磕公式了!用Arduino和MPU6050,5分钟搞定Mahony滤波姿态解算(附完整代码)
  • OpenClaw开源贡献:为Qwen3.5-9B开发自定义技能指南
  • 【Linux第二十三章】传输层