SMU Summer 2023 Contest Round 10(ICPC — International Collegiate Programming Contest Asia Regional Contest, Yokohama,2018)
SMU Summer 2023 Contest Round 10(ICPC — International Collegiate Programming Contest Asia Regional Contest, Yokohama)
Problem A
Digits Are Not Just Characters
模拟,注意以下几点,用\(s\)代表比较的字符串,\(str\)代表原字符串:
- s 和 str 一样,排 str 后面.
- 前面部分相同的情况下, s 和 str 谁先碰到数字谁排前面.
- 碰到数字比较谁的数字更小, 谁排前面.
- 剩下就逐字符比较.
- 如果 s 是 str 的前缀, 那 s 应该放前面, 否则放后面.
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<string> a(n);
string str;
cin >> str;
for (auto &i : a) cin >> i;
auto check = [&](string s) {
if (s == str) return false;
int i = 0, j = 0;
for (; i < s.size() && j < str.size(); i++, j++) {
if (isdigit(s[i]) && !isdigit(str[j])) return true;
if (isdigit(str[j]) && !isdigit(s[i])) return false;
int nums = 0, numstr = 0;
while (isdigit(s[i]) && i < s.size()) {
nums = nums * 10 + s[i] - '0';
i++;
}
while (isdigit(str[j]) && j < str.size()) {
numstr = numstr * 10 + str[j] - '0';
j++;
}
if (nums < numstr) return true;
else if (nums > numstr) return false;
if (s[i] < str[j]) return true;
else if (s[i] > str[j]) return false;
}
if (s.size() < str.size()) return true;
return false;
};
for (auto i : a) {
if (check(i)) cout << "-\n";
else cout << "+\n";
}
return 0;
}
Problem B(动态规划)
Arithmetic Progressions
用\(dp[i][j]\)的\(i,j\)项表示某个等差数列是以\(a[i],a[j]\)结尾的,然后去二分找到他的下一项找到了就进行转移,最大值随着更新
#include <bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<int> a(n);
for(auto &i : a) cin >> i;
sort(a.begin(), a.end());
vector dp(n,vector<int>(n,2));
int ans = 2;
for(int i = 0;i < n;i ++){
for(int j = 0;j < i;j ++){
int p = lower_bound(a.begin(), a.end(),a[j] - a[i] + a[j]) - a.begin();
if(a[p] - a[j] == a[j] - a[i])
dp[i][j] = max(dp[i][j], dp[j][p] + 1);
ans = max(ans,dp[i][j]);
}
}
cout << ans << '\n';
return 0;
}
Problem C
Emergency Evacuation
如果两个人到出口的时间是相等的,那么其中一个就要多等一个时刻,相应的,如果有多个人到出口时间相等,那么除了第一个人以外,其余人都要往后等\(1,2,3,\dots\)时刻,最终取最后一个人到达出口的时间就是答案了.
#include<bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int r,s,p;
cin >> r >> s >> p;
std::vector<int> v(p);
for(int i = 0,x,y;i < p;i ++){
cin >> x >> y;
v[i] = r - x + 1;
if(y > s) v[i] += y - s;
else v[i] += s - y + 1;
}
sort(v.begin(), v.end());
for(int i = 0;i < p - 1 ;i ++)
if(v[i + 1] <= v[i]) v[i + 1] = v[i] + 1;
cout << v.back() << '\n';
return 0;
}
SMU Summer 2023 Contest Round 10(ICPC — International Collegiate Programming Contest Asia Regional Contest, Yokohama,2018)的更多相关文章
- ICPC — International Collegiate Programming Contest Asia Regional Contest, Yokohama, 2018–12–09 题解
目录 注意!!此题解存在大量假算法,请各位巨佬明辨! Problem A Digits Are Not Just Characters 题面 题意 思路 代码 Problem B Arithmetic ...
- ACM International Collegiate Programming Contest World Finals 2014
ACM International Collegiate Programming Contest World Finals 2014 A - Baggage 题目描述:有\(2n\)个字符摆在编号为\ ...
- ACM International Collegiate Programming Contest World Finals 2013
ACM International Collegiate Programming Contest World Finals 2013 A - Self-Assembly 题目描述:给出\(n\)个正方 ...
- ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2018) Syria, Lattakia, Tishreen University, April, 30, 2018
ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2018) Syr ...
- ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2017)- K. Poor Ramzi -dp+记忆化搜索
ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2017)- K. ...
- 2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest
目录 Contest Info Solutions A. Berstagram B. The Feast and the Bus C. Trip to Saint Petersburg E. The ...
- [ACM International Collegiate Programming Contest, Amman Collegiate Programming Contest (2018)]
https://codeforces.com/gym/101810 A. Careful Thief time limit per test 2.5 s memory limit per test 2 ...
- Codeforces Gym100814 I.Salem-异或 (ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (2015) Arab Academy for Science and Technology)
这个题就是二进制,找两个数相应的二进制相对应的位置上数不同的最多的个数.异或写就可以. 一开始还想麻烦了,找出来最大的偶数和最大的奇数,最小的偶数和最小的奇数,但是这样想考虑的不全.因为范围比较小,直 ...
- Codeforces Gym100814 F.Geometry (ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (2015) Arab Academy for Science and Technology)
这个题真的是超级超级水啊,哈哈哈哈哈哈.不要被题面吓到,emnnn,就这样... 代码: 1 #include<iostream> 2 #include<cstring> 3 ...
- 2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest (Online Mirror, ICPC Rules, Teams Preferred)【A题 类型好题】
A. Berstagram Polycarp recently signed up to a new social network Berstagram. He immediately publish ...
随机推荐
- unity持久化数据之XML和Excel
unity持久化数据之XML public class XMLDataMananger: Singleton<XMLDataMananger> { protected XMLDataMan ...
- WPF Canvas在Image 图像上绘图,自适应缩放.
效果如图 实现了绘图,自适应缩放 核心代码如下 <Window.InputBindings> <KeyBinding Key="Z" Modifiers=&quo ...
- Django项目实现分页返回,结合forloop实现编号递增
需要导入Paginator包 from django.core.paginator import Paginator 实现步骤: 需要设置每页大小 需要获取每页的页码, 查询对应的数据,提供给Pagi ...
- Spring-jdbcTempalate研究
很多时候,需要使用jdbcTemplate,既有出于性能考虑的因素,也有出于个人偏好. 关于jdbcTemplate的几个关键性的问题: 一.简介 JdbcTemplate位于org.springfr ...
- 学习.NET 8 MiniApis入门
介绍篇 什么是MiniApis? MiniApis的特点和优势 MiniApis的应用场景 环境搭建 系统要求 安装MiniApis 配置开发环境 基础概念 MiniApis架构概述 关键术语解释(如 ...
- ubuntu22 python2 pyinstaller 打包报错:'NoneType' object has no attribute 'groups'
前言 最近有个需求,需要在 ubnutu22 上使用 pyinstaller 打包一个python2 的文件. 中间遇到了一些问题: pip2 install pyinstaller 报错 解决方案: ...
- FFmpeg开发笔记(三十七)分析SRS对HLS协议里TS包的插帧操作
<FFmpeg开发实战:从零基础到短视频上线>一书的"2.1.2 音视频文件的封装格式"介绍了视频流的PS格式和TS格式.由于TS包的长度固定,从TS流的任一片段开 ...
- TP3.2与TP5.0的区别
1. 控制器输出return $this->fetch(); ----5$this->display(); ----3.2单字母函数去掉了 如:M() D() U() S() C() 3. ...
- webpack4.15.1 学习笔记(五) — 生产环境构建
目录 生产环境构建 指定环境 生产环境构建 development和production的构建目标差异很大.dev中,需要具有实时重新加载或HMR能力的 source map 和 server.而在p ...
- oeasy教您玩转vim - 7 - # 从头插入
另存与保存 回忆上节课内容 上次我们学会了另存为命令 : saveas {file} 还有这个直接保存命令 : w 真的可以把修改存了 下面我们来研究插入命令的细节. 插入命令 首先我们可以查询这个插 ...