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

2022年ICPC亚洲区域赛南京站题解

文章目录

    • I: 完美回文
    • G: 邪恶铭刻
    • A:停停,昨日请不要重现
    • D: 聊天程序(待补)

I: 完美回文

解题思路:

​ 签到题,没什么好讲的。

解题代码:

void solve() {vector<int> a(30, 0);string str;cin >> str;int  maxx = 0;for(auto i : str){a[i - 'a'] ++;if(a[i - 'a'] > maxx) maxx = a[i - 'a'];}cout << str.size() - maxx << endl;
}

G: 邪恶铭刻

解题思路:

​ 该题的主要思路就是反悔,这三种情况中,卡牌选择神秘石头都属于固定操作,不需要什么特别的操作。

​ 主要就是分岔路,分岔路以上两种选择,那么我们先想一下到底是哪一种更优,当然是减的更优,尽量让分母更小,当然一定要保证合法的条件下进行。

​ 如果是两种情况下,那么卡牌选择是一定能执行的,那么就是能执行神秘石头就执行,并进行统计,如果后面导致不合法的情况下,那么就要进行让前面的神秘石头变为卡牌选择

解题代码:

const int N = 1e6+5;
int arr[N];
void solve() {int n; cin >> n;for(int i = 1;i <= n; i++) cin >> arr[i];int p = 1,q = 1,sum = 0;for(int i = 1; i <= n; i++){if(arr[i] == 1){p ++, q++;}else if(arr[i] == -1){if(q <= 1) {if(sum >= 1){sum --;p ++ ,q ++, q++;}else{cout << -1 << endl;return ;}}q--;}else if(arr[i] == 0)if(q > 1) q--, sum ++;else p ++, q++;} int t = __gcd(p,q);cout << p / t << " " << q / t << endl;return ;
}

A:停停,昨日请不要重现

解题思路:

该题是用的二维前缀和;
该题的详细思路是:

  1. 首先处理边界的袋鼠,将本题想象为没有洞,那么就可以将该题的边界进行缩小,缩小为最后剩余袋鼠的区间。
  2. 然后进行移动,该题主要不是移动全部的袋鼠,而是移动洞,随便确定一个点,然后将这个点进行移动。
  3. 因为走过的点不会再有袋鼠进洞,所以要用一个数组进行去重操作。
  4. 因为要记录某个点被走过几次,那么就用二维前缀和进行计算。
    不愧是区域赛的题,思维比省赛的题提高了一个档次。

解题代码:

const int N = 1e3 + 6;
int sum[N][N];
int user[N][N];void add(int x1,int y1, int x2,int y2){if(user[x1][y1]) return ;user[x1][y1] = 1;sum[x1][y1] ++ , sum[x2 + 1][y1] --, sum[x2 + 1][y2 + 1]++,  sum[x1][y2 + 1] --;
}void solve(){int n,m,k;cin >> n >> m >> k;for(int i = 1; i <= n + 1; i++){for(int j = 1; j <= m + 1; j++){user[i][j] = 0;sum[i][j] = 0;}}string str;cin >> str;int U = 1, D = n, L = 1, R = m;for(int i = 0, u = 1,d = n, l = 1,r = m; i < str.size(); i++){if(str[i] == 'U') u ++ , d ++;if(str[i] == 'D') u -- , d--;if(str[i] == 'L') l ++, r ++;if(str[i] == 'R') l -- , r --;U = max(U,u);R = min(R,r);D = min(D,d);L = max(L,l);}if(U > D || L > R){if(k == 0) cout << n * m << endl;else cout << 0 << endl;return ;}int x = (D - U + 1) * (R - L + 1) - k; // 剩余的袋鼠的数量add(U,L,D,R);for(int i = 0; i < str.size(); i++){if(str[i] == 'U') U --, D --;if(str[i] == 'D') U ++, D ++;if(str[i] == 'L') L --, R --;if(str[i] == 'R') L ++, R ++;add(U,L,D,R);}for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){sum[i][j] = sum[i][j] + sum[i - 1][j] + sum[i][j -1] - sum[i - 1][j - 1];// cout << sum[i][j] << " ";}// cout << endl;}int res= 0;for(int i =1 ;i <= n; i++){for(int j = 1; j <= m; j++){if(sum[i][j] == x) res ++;}}cout << res << endl;return ;
}

D: 聊天程序(待补)

解题思路:

解题代码:

相关文章:

  • 关于linux程序的查看、前台运行、后台运行、杀死的管理操作。
  • C#WPF数字大屏项目实战04--设备运行状态
  • 《KAN》论文笔记
  • JavaScript原生+jQuery 事件委托
  • 阿里云语音合成TTS直播助手软件开发
  • 【Qt秘籍】[008]-Qt中的connect函数
  • 【LeetCode:575. 分糖果+ 哈希表】
  • LNMP网站架构部署
  • SDL教程(二)——Qt+SDL播放器
  • 深度学习优化算法比较
  • Tailwindcss Flex 布局相关的样式类及其实战案例
  • Vue3 双向绑定
  • 【Qt】【模型视图架构】代理模型
  • 文件上传之使用一个属性接收多个文件
  • Python课设-学生信息管理系统
  • flask接收请求并推入栈
  • Gradle 5.0 正式版发布
  • HTML中设置input等文本框为不可操作
  • MySQL QA
  • python_bomb----数据类型总结
  • Python十分钟制作属于你自己的个性logo
  • Redux系列x:源码分析
  • Sequelize 中文文档 v4 - Getting started - 入门
  • 第2章 网络文档
  • 分享一份非常强势的Android面试题
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 中文输入法与React文本输入框的问题与解决方案
  • 转载:[译] 内容加速黑科技趣谈
  • 7行Python代码的人脸识别
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #NOIP 2014# day.1 T2 联合权值
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (每日一问)基础知识:堆与栈的区别
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)VC++中ondraw在什么时候调用的
  • .NET Core WebAPI中封装Swagger配置
  • .NET 中的轻量级线程安全
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .Net--CLS,CTS,CLI,BCL,FCL
  • @Autowired自动装配
  • @RestControllerAdvice异常统一处理类失效原因
  • [145] 二叉树的后序遍历 js
  • [20170713] 无法访问SQL Server
  • [20171106]配置客户端连接注意.txt
  • [C++]——继承 深继承
  • [CODE:-5504]没有[SYS.SYSOBJECTS]对象的查询权限
  • [C语言]——内存函数
  • [leetcode] Longest Palindromic Substring
  • [loj6039]「雅礼集训 2017 Day5」珠宝 dp+决策单调性+分治