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. OSI七层网络模型和TCP/IP四层模型

    OSI七层网络模型 OSI: 开放系统互连参考模型是ISO制定的一个用于计算机或通信系统间互联的标准体系 OSI七层模型功能: 物理层: 七层模型的最底层,主要是物理介质传输媒介(网线或者无线),在不 ...

  2. [OC]一个括号新建一个类

    [OC]一个括号新建一个类 特别说明 以下代码仅仅用于说明用途,命名也不是特别规范,小朋友不要模仿哦. 前言 在iOS开发中,我们会经常用到这么一段代码: UIView *myView = [UIVi ...

  3. 域套接字sendto errno -11分析

    sendto errno -11代码分析 errno -11在内核代码中代表EAGAIN(再试⼀次),域套接字sendto过程中 sendto->sock_sendmsg->unix_dg ...

  4. 基于全志T507-H的Linux-RT + Igh EtherCAT主站案例分享

    本文将为各位工程师演示全志T507-H工业评估板(TLT507-EVM)基于IgH EtherCAT控制伺服电机方法,生动说明Linux-RT + Igh EtherCAT的强大之处! 同时,我们对于 ...

  5. python3 安装pyodbc失败 pip3 install pyodbc

    python3 安装pyodbc失败 报错1: 关键报错信息: fatal error: sql.h: No such file or directory  [root@centfos python3 ...

  6. win10: pyinstaller在python2和python3环境下的适应性配置

    win10:pyinstaller在python2和python3环境下的适应性配置 前言 pyinstaller是一个非常优秀的python可执行程序打包工具,在windows下打包成.exe文件, ...

  7. Spring PropertySource,获取指定application.properties文件

    @PropertySource注解的使用 @PropeertySource,指定加载配置文件 配置文件映射到实体类 使用@Value映射到具体的java属性 CustomConfig.java pac ...

  8. C++中的引用(Reference)

    1. 引用(Reference) 在 C++ 中,引用(Reference)是一个变量的别名. 它允许你通过不同的名字访问同一个变量. 与指针不同,引用在定义时必须被初始化,并且一旦绑定到某个变量,之 ...

  9. Java-记住上一次访问时间案例

    记住上一次访问时间 1.需求: 1.访问一个Servlet,如果是第一次访问,则提示:您好,欢迎您首次访问 2.如果不是第一次访问,则提示:欢迎回来,您上次访问的时间为:显示字符串 2.分析 1.可以 ...

  10. 自己理解的TCP三次握手

    ### TCP 三次握手过程是怎样的? TCP的建立连接是通过三次握手来进行的.三次握手的过程如下图: 说实话这个很好理解,我称之为N字型 首先我们理解到建立连接是一个虚的概念了对吧?那么我们来设计一 ...