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)的更多相关文章

  1. ICPC — International Collegiate Programming Contest Asia Regional Contest, Yokohama, 2018–12–09 题解

    目录 注意!!此题解存在大量假算法,请各位巨佬明辨! Problem A Digits Are Not Just Characters 题面 题意 思路 代码 Problem B Arithmetic ...

  2. ACM International Collegiate Programming Contest World Finals 2014

    ACM International Collegiate Programming Contest World Finals 2014 A - Baggage 题目描述:有\(2n\)个字符摆在编号为\ ...

  3. ACM International Collegiate Programming Contest World Finals 2013

    ACM International Collegiate Programming Contest World Finals 2013 A - Self-Assembly 题目描述:给出\(n\)个正方 ...

  4. 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 ...

  5. 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. ...

  6. 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 ...

  7. [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 ...

  8. Codeforces Gym100814 I.Salem-异或 (ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (2015) Arab Academy for Science and Technology)

    这个题就是二进制,找两个数相应的二进制相对应的位置上数不同的最多的个数.异或写就可以. 一开始还想麻烦了,找出来最大的偶数和最大的奇数,最小的偶数和最小的奇数,但是这样想考虑的不全.因为范围比较小,直 ...

  9. 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 ...

  10. 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 ...

随机推荐

  1. logging.basicConfig()

    logging.basicConfig() 是 Python 标准库 logging 模块中的一个函数,用于配置日志记录器(logger)的基本选项.这个函数允许你在不创建和配置多个 logger.h ...

  2. electron 安装遇到的各种奇怪问题解决

    在国内,electron经常遇到各种问题,导致无法安装 在安装electron官网的快速入门步骤,到npx electron-forge import的时候,遇到了各种问题 npm install - ...

  3. 面试官:transient关键字修饰的变量当真不可序列化?我:烦请先生教我!

    一.写在开头 在这篇文章中记录一下之前自己面试时学到的东西,是关于transient关键字的,当时面试官问我IO的相关问题,基本上全答出来了,关于如何不序列化对象中某个字段时,我果断的选择了stati ...

  4. Python性能测试框架:Locust实战教程

    01认识Locust Locust是一个比较容易上手的分布式用户负载测试工具.它旨在对网站(或其他系统)进行负载测试,并确定系统可以处理多少个并发用户,Locust 在英文中是 蝗虫 的意思:作者的想 ...

  5. 树莓派4B-GPIO控制步进电机

    树莓派4B-GPIO控制步进电机 硬件需求: 步进电机 树莓派 杜邦线 L298N驱动模块 选择步进电机 首先需要确认步进电机,因为步进电机可分为单极性和双极步进电动机两种,这两种电机的驱动方式是不同 ...

  6. Java-继承Thread的方式和实现Runnable接口多线程

    继承Thread的方式实现多线程 public class TestThread extends Thread{ @Override public void run() { System.out.pr ...

  7. 解决方案 | 预装win11如何退回win10?

    0.定义 本文所说的[退回]并不指的是win10升级后的变成win11再变为win10的退回.退回应该理解为[降级],或者叫作返回上一个版本.本文的适用范围局限于,预装系统是win11,想要不通过u盘 ...

  8. 【C++】使用ort推理yolov10

    [C++]使用ort推理yolov10 前言:由于笔者是编导专业,想玩玩yolo模型,搜来搜去全是python,所以在学会之后写一篇文章帮助和笔者同样情况的人 环境 Windows 10 C++17 ...

  9. 解决IE11兼容问题的一些心得

    IE11中,都不支持es6新特性. vue想要兼容IE11不要写箭头函数, UI框架不要写有箭头的回调函数(编译成es5的时候,会通不过), 使用label将es6编译成es5. 使用typescri ...

  10. 关于异步编程中的bind(this)

    异步编程中的.bind(this)方法解决了异步执行后this指针指向全局函数的问题,主要可以通过以下两个场景加以说明:(本文所用例子基于React场景:为简便起见,仅在第一个例子中展示完整HTML代 ...