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 ...
随机推荐
- python重拾第九天-进程、线程、协程
本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者 ...
- 你要的AI Agent工具都在这里
只有让LLM(大模型)学会使用工具,才能做出一系列实用的AI Agent,才能发挥出LLM真正的实力.本篇,我们让AI Agent使用更多的工具,比如:外部搜索.分析CSV.文生图.执行代码等. 1. ...
- get基于报错的sql注入
get基于报错的sql注入发现 Less1: sqli-labs第一关提示说在网页上输入id,也就是?id=1. 但这个?是什么意思,它表示index.php?也就是默认页面.然后?id=1就是把id ...
- 【换源】git命令行迁移仓库
直接git clone的话,查看本地分支,会只有默认主分支,可能是master,也可以能是设置的. 查看所有分支 git branch -a * master remotes/origin/HEAD ...
- 2.SpringBoot快速上手
2.SpringBoot快速上手 SpringBoot介绍 javaEE的开发经常会涉及到3个框架Spring ,SpringMVC,MyBatis.但是这三个框架配置极其繁琐,有大量的xml文件,s ...
- zip-zip(子函数调用)
题目 监听服务器端口,得到题目如下: 源码解析 主函数 主函数中是题目界面的逻辑,对应于用户的选择做出相应的操作,其中需要注意的是选项2,解压操作需要获得root权限(uid==0). 选项1,2:文 ...
- 【Python】基于动态规划和K聚类的彩色图片压缩算法
引言 当想要压缩一张彩色图像时,彩色图像通常由数百万个颜色值组成,每个颜色值都由红.绿.蓝三个分量组成.因此,如果我们直接对图像的每个像素进行编码,会导致非常大的数据量.为了减少数据量,我们可以尝试减 ...
- Me-and-My-Girlfriend-1靶机渗透流程
Me-and-My-Girlfriend-1 靶机下载 Description: This VM tells us that there are a couple of lovers namely A ...
- oeasy 教您玩转linux 之010208 满屏乱码 bb
我们来回顾一下 上一部分我们都讲了什么? 黑客帝国 各种速度颜色参数 最后我们想找一个让人完全崩溃的软件包,这不就来了,话不多说,先试试. apt show bbapt search bbsudo a ...
- JavaScript实现防抖函数
什么是防抖?防抖就是避免快速多次点击后执行过多的函数调用,就是本来你点击支付宝支付后不小心在点击一次,导致支付函数被调用了两次,还都执行了,付了两次钱. 防抖函数的思想就是将函数延迟调用,延迟时间内不 ...