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

Educational Codeforces Round 2(远古edu计划)

A.

恶心模拟。。

模拟一下分类即可

数字类,数字0,或者都是数字

字母类,字母空的也是字母,有字母就是字母

#include<bits/stdc++.h>
#define INF 1e9
using namespace std;
typedef long long ll;
const int N=2e5+9;
string number[N],capital[N];
int number_pos,capital_pos;
void lan(){string s;cin>>s;s+=";";string s1="";for(int i=0;i<s.size();){s1="";while(i<s.size() && s[i]!=',' && s[i]!=';'){//读取完整s1+=s[i];i++;}if(s1==""){//字母capital[++capital_pos]=s1;i++;continue;}if(s1=="0"){//数字number[++number_pos]=s1;}else if(s1[0]=='0'){//01capital[++capital_pos]=s1;}else{//全是数字才是数字,其他都是字母bool flag=true;for(int j=0;j<s1.size();j++){if(s1[j]<'0' || s1[j]>'9'){flag=false;break;}}if(flag){number[++number_pos]=s1;}else{capital[++capital_pos]=s1;}}i++;}if(!number_pos){//没有就-cout<<"-";}else{//输出前n-1一个cout<<"\"";for(int i=1;i<number_pos;i++){cout<<number[i]<<",";}cout<<number[number_pos]<<"\"";//最后一个特别处理}cout<<'\n';if(!capital_pos){cout<<"-";}else{cout<<"\"";for(int i=1;i<capital_pos;i++){cout<<capital[i]<<",";}cout<<capital[capital_pos]<<"\"";}
}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q=1;while(q--){lan();}return 0;
}

B.

二分upper_bound就好了

#include<bits/stdc++.h>
#define INF 1e9
using namespace std;
typedef long long ll;
const int N=2e5+9;
int a[N],b[N];
int n,m;
int work(int x){return upper_bound(a+1,a+1+n,x)-a-1;
}
void lan(){cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=m;i++){cin>>b[i];}sort(a+1,a+1+n);for(int i=1;i<=m;i++){cout<<work(b[i])<<" ";}}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q=1;while(q--){lan();}return 0;
}

C.

贪心,大的且只有奇数数量就变成小的,回文串对称特性所以用栈模拟后半段即可

#include<bits/stdc++.h>
#define INF 1e9
using namespace std;
typedef long long ll;
const int N=2e5+9;
int c[N];
void lan(){string s;cin>>s;int n=s.length();for(int i=0;i<n;i++){//桶存c[s[i]-'a']++;}for(int i=25;i>=0;i--){//倒着找,找到的肯定是最大的if(c[i]&1){for(int j=0;j<26;j++){if(c[j]&1){//正着找,找到的肯定是最小的,但是也有可能找不到  abac[j]++;c[i]--;break;}}}}int flag=-1;//记录中间字母for(int i=0;i<26;i++){if(c[i]&1){flag=i;}}stack<char> stk;//栈模拟后面for(int i=0;i<26;i++){//找最小必然字典序最小for(int j=1;j<=c[i]/2;j++){cout<<char(i+'a');stk.push(char(i+'a'));}}//aabbif(flag!=-1){cout<<char(flag+'a');//输出中间}//倒着输出即可while(!stk.empty()){cout<<stk.top();stk.pop();}
}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q=1;while(q--){lan();}return 0;
}

http://www.lryc.cn/news/298895.html

相关文章:

  • 【Tauri】(1):使用Tauri1.5版本,进行桌面应用开发,在windows,linux进行桌面GUI应用程序开发,可以打包成功,使用 vite 最方便
  • 「Linux」软件安装
  • Ubuntu Desktop - Terminal 输出全部选中 + 复制
  • Java 三大并大特性-可见性介绍(结合代码、分析源码)
  • 【漏洞复现】狮子鱼CMS某SQL注入漏洞01
  • 《Java 简易速速上手小册》第6章:Java 并发编程(2024 最新版)
  • C++初阶:容器(Containers)list常用接口详解
  • HARRYPOTTER: FAWKES
  • 嵌入式Qt 第一个Qt项目
  • 【OpenHarmony硬件操作】风扇与温湿度模块
  • Vue3.4+element-plus2.5 + Vite 搭建教程整理
  • STM32Cubmax stm32f103zet6 SPI通讯
  • 每日OJ题_位运算⑤_力扣371. 两整数之和
  • Mysql中索引优化和失效
  • 使用Python+OpenCV2进行图片中的文字分割(支持竖版)
  • Qt中程序发布及常见问题
  • C语言第二十三弹---指针(七)
  • 用HTML5 + JavaScript绘制花、树
  • Science重磅_让大模型像婴儿一样学习语言
  • Java 数据结构篇-实现红黑树的核心方法
  • 【实战】一、Jest 前端自动化测试框架基础入门(中) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(二)
  • 【C语言 - 力扣 - 反转链表】
  • ctfshow-php特性(web102-web115)
  • python系统学习Day1
  • Idea里自定义封装数据警告解决 Spring Boot Configuration Annotation Processor not configured
  • 【流程图——讲解】
  • 「计算机网络」物理层
  • ARM与X86架构的区别与联系
  • 蓝桥杯每日一题------背包问题(二)
  • 牛客错题整理——C语言(实时更新)