2022ICPC区域赛济南站

news/2025/10/20 12:47:44/文章来源:https://www.cnblogs.com/lengling/p/19152390

补题链接QOJ:The 2022 ICPC Asia Jinan Regional Contest - Dashboard - Contest - QOJ.ac

K. Stack Sort

思路:考虑 a 需要比 a+1 先出栈,所以如果读到 a,发现 a+1 还没被记录则需要多建一个栈。

void solve()
{int n;cin >> n;int num = 0;for (int i = 0; i < n; i++){cin >> a[i];if (!vis[a[i] + 1]){num++;}vis[a[i]] = 1;}cout << num << '\n';for (int i = 1; i <= n; i++){vis[i] = 0;}
}

M. Best Carry Player

思路:与顺序无关,只需要模拟过程进位几次。需要注意连续进位。

void solve()
{int n;cin >> n;int ans = 0;for (int i = 1; i <= n; i++){cin >> a[i];}auto add = [&](auto x, auto y){int sum = x + y;auto n1 = 0, n2 = 0;while (x != 0 || y != 0){n1 += x % 10;  //记录上一位是否有进位x /= 10;n2 = y % 10;y /= 10;ans += (n1 + n2 >= 10) ? 1 : 0;n1 = (n1 + n2 >= 10) ? 1 : 0;// cerr<<x<<' '<<y<<' '<<ans<<' '<<n1<<' '<<n2<<'\n';}return sum;};int st = a[1];for (int i = 2; i <= n; i++){st = add(st, a[i]);}cout << ans << '\n';
}

E. Identical Parity

思路:先特判,k=1时除了n=1都不合法;k为偶数一定合法,直接奇偶相间输出;

所以只需要分析k为奇数的情况。

题目相当于在i i+k i+2k·····等位置上放置奇偶性相同的数,共有k个完整组。

首先我们可以根据n的大小计算1-n的奇数和偶数个数;

然后因为k是奇数,对于放奇数的位置,我们分出k/2+1组;偶数则为k/2组。

然后计算剩余的奇偶数是否满足放置条件即可。

[2022icpc济南 ADEKM - 知乎](https://zhuanlan.zhihu.com/p/590527069) 讲的很清晰。

void solve()
{cin >> n >> k;if (n == 1){yes;re;}if (k == 1){no;re;}if (k % 2 == 0){yes;re;}int odd = (n + 1) / 2, even = n / 2; // 计算n中奇偶数个数int ke = k / 2, ko = k / 2 + 1;      // 因为k是奇数,我们令偶数占小的一半int zu = n / k;                      // 每组分配的个数,因为每一组填入的奇偶性相同int yu = n % k;                      // 分配后剩下的数int yuodd = odd - ko * zu, yueven = even - ke * zu;//奇数余数=奇数总数-k/2+1个奇数组*每组填入个数,偶数余数同理if (yuodd >= 0 && yueven >= 0 && yueven + yuodd == yu){if (yuodd <= ko && yueven <= ke)//确保余数要小于对应组数{yes;re;}no;re;}no;re;
}

A. Tower

思路:一个trick:给定一个数组,通过 ±1 使所有数相同,最小操作是变成中位数。

现在多了一个/2操作,不确定中位数会是哪个,但能保证结果在这些数之间,所以暴力枚举求最小值。

比如 如果设目标位x,起始位a,让a->x。

  • a<x 只能通过+1到达
  • a>x 我们可以考虑先/后±或者先±后/,可以证明前者一定不劣于后者。
void solve()
{cin >> n >> k;set<int> st;rep(1, i, n){cin >> a[i];x = a[i];while (x){st.insert(x);x /= 2;}}minn = 1e18;for (auto i : st){rep(1, j, n){if (a[j] <= i){b[j] = i - a[j];}else{num = 0;x = a[j];while (x / 2 >= i){x /= 2;num++;}b[j] = min(num + (x - i), num + 1 + (i - x / 2)); //分别考虑不除以和除以2}}ans = 0;sort(b + 1, b + 1 + n);rep(1, i, n - k){ans += b[i];}minn = min(ans, minn);}cout << minn;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/941125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java代码和c++代码相互调用的技术方案

java代码和c++代码相互调用的技术方案通过JNI桥接方式

详细介绍:MyBatis动态sql

详细介绍:MyBatis动态sql2025-10-20 12:41 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

计算机毕业设计PySpark+Hadoop+Hive+LSTM模型美团大众点评分析+评分预测 美食推荐环境(源码+论文+PPT+讲解视频)

计算机毕业设计PySpark+Hadoop+Hive+LSTM模型美团大众点评分析+评分预测 美食推荐环境(源码+论文+PPT+讲解视频)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; dis…

对话智能体泛化研究在线挑战启动

某中心推出DialoGLUE对话AI挑战赛,旨在推动任务型对话系统泛化能力研究。该挑战提供标准化数据集和基准模型,涵盖意图识别、槽位填充等四大任务,支持全数据与少样本两种评估模式。某中心启动在线挑战赛推动对话智能…

2025.10.20

t1 Baekjoon 21527 给定 \(n\times n\) 矩阵 \(a\),对于 \((i,j)\) 求 \((1,1)\) 到 \((n,n)\) 最短路径上与 \(a_{i,j}\) 相同数的个数的最大值。 唐氏症题。 每种 \(a\) 单独提出来,\(f_{i,j}\) 为 \((i,j)\) 的答…

Unable to register MBean [SftpPool

org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [SftpPool [maxTotal=8, blockWhenExhausted=true, maxWaitMillis=-1, lifo=true, fairness=false, testOnCreate=false, …

利用Python写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

def lens5():while True:msg = input(请选择你想输入的数字类型,输入对应序号即可>>>1.字符串 2.列表 3.元组:)if msg.isdecimal():if int(msg) == 1:s = input(请开始的你的字符串输入:)print(len(s) > 5…

请求

请求HTTP请求方法中GET和POST的主要区别。 (1)参数位置:GET 请求的参数附加在 URL 后面,POST 请求的参数包含在请求体中。 (2)长度限制:GET 请求受 URL 长度限制,POST 请求没有明确的长度限制。 (3)安全性:…

sp681网卡打驱动后的状态--默认是链路是down

[root@localhost home]# ll总用量 1240-rw-r--r-- 1 root root 119260 10月 20 12:21 NIC-Hi1822-KylinV10SP3-2403-hinic3-17.7.7.1-aarch64.rpm-rw-r--r-- 1 root root 952296 10月 20 12:21 NIC-Hi1822-KylinV10SP3…

麒麟和win10双系统出现时间差异的问题

麒麟和win10双系统出现时间差异的问题win10安装openkylin双系统,进麒麟系统后再进win10,时间会出现8小时的误差,最简单的解决办法是在麒麟系统执行如下命令就可以了sudo timedatectl set-local-rtc 1

dlc — Docker Log Cleaner(支持名称、ID前缀、交互序号清理,模糊匹配交互确认)

一键安装脚本:curl -L -o /usr/local/bin/dlc https://files-cdn.cnblogs.com/files/nihaorz/dlc.sh && chmod +x /usr/local/bin/dlc#!/bin/bash stty erase ^H 2>/dev/null # dlc — Docker Log Cleaner…

软件研发项目管理提效方案|流程驱动 数据赋能:打造上下游信息透明的研发项目管理新模式

在软件研发中,流程不清、协作割裂往往是效率的最大障碍。本文探讨了一种全新的产研管理模式:以流程为核心驱动跨部门协作,通过数字化平台打通产品、研发、测试与运维,实现从需求到交付的全流程可视化与高效协同。行…

第二周记

第二周 前言: 10.20 今天体测跑了一公里,拿下了三分三十的成绩,有时感觉自己当时走体育会不会比现在混得好() 学习笔记: 一些杂项 很久以前就想写一下这个快速平方根取倒数算法了,这个好像还很有历史“渊源”来…

【分享】一篇文章让你学通JFinal的各种参数解析方式

【分享】一篇文章让你学通JFinal的各种参数解析方式JFinal新版本已经支持直接解析contentType=application/json请求的rawdata数据了。 默认功能是关闭的。JFinal新版本已经支持直接解析contentType=application/json请…

2025年10月深度seek排名优化服务排行榜:十大服务商综合对比与选择指南

一、引言 在人工智能技术快速发展的今天,生成式引擎优化(GEO)已成为企业数字化转型的重要战略。特别是对于需要通过DeepSeek等AI平台提升品牌可见度的企业主、市场营销负责人和品牌管理者而言,选择专业的GEO优化服…

NetSuite-WMS瀚钰通仓库对接使用说明

PO收货每次供应商到货CSV上传生成一个自定义的HYT IR记录,点击按钮调用API发送给WMS,WMS入库。到货单的收货要一单一单对应好,否则会有问题。

2025年10月deepseek排名优化服务推荐排行榜:十家服务商综合评测与选择指南

一、引言 在人工智能技术快速发展的今天,deepseek排名优化已成为企业提升品牌曝光、获取精准流量的重要手段。对于创业者、市场营销负责人及企业管理者而言,选择专业的优化服务不仅能有效控制推广成本,更能保障营销…

案例分析:MySQL 并行复制竟然比单线程慢?

同一个 binlog,没想到多线程重放竟比单线程慢了四倍多!最近碰到一个 case,发现在特定场景下,并行复制竟然比单线程复制要慢。 现象 从某个时间点开始,从库的复制延迟持续增加,且没有下降的趋势。 数据库版本:8.…

克服keepalived的主备服务器都持有VIP——出现脑裂现象

克服keepalived的主备服务器都持有VIP——出现脑裂现象pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&q…

Codeforces Round 1060 (Div. 2) A - C2

A - C2打的依托还能涨 Rating 也是神人了 A 直接依照题意做,求个前缀和后对每个 \(s _ i = 1\) 判断前面 \(k - 1\) 个数的和是否大于 \(0\),都是 \(0\) 就保护。 B 我们一定要让 \(a _ i(i \bmod 2 = 0)\) 越大越好…