CF2172H - Shuffling Cards with Problem Solver 68!

news/2025/11/18 15:04:35/文章来源:https://www.cnblogs.com/YipChipqwq/p/-/CF2172H

Aru loves playing card games (Poker, Texas hold 'em, Balatro, etc.) and she has perfected the art of shuffling cards, especially the riffle shuffle. She is playing with Mutsuki now, and it's her turn to shuffle the cards!

However, Mutsuki knows that Aru is too perfect with her shuffling game. In fact, given a deck with an even number of cards, Aru always performs a perfect riffle: she cuts the deck evenly and interleaves the two halves. Formally, if the deck is represented by a string \(s\) of length \(n\), where \(s_i\) is the \(i\)-th card from the top, one riffle produces the deck

\[s^\prime = s_1 + s_{n/2 + 1} + s_2 + s_{n/2 + 2} + \ldots + s_{n/2} + s_{n}. \]

Mutsuki also knows that when handed a deck of cards, Aru will riffle it exactly \(t\) times.

Mutsuki currently holds a deck of \(2^k\) cards, represented by a string \(d\). Before giving the deck to Aru, Mutsuki can choose to cut the deck, by moving some number of cards from the top to the bottom of the deck. Formally, she can choose any \(m\) from \(0\) to \(2^k - 1\), and produce the deck

\[d^\prime = d_{m + 1} + d_{m + 2} + \ldots + d_{2^k} + d_1 + d_2 + \ldots + d_m. \]

Among all \(2^k\) possible cuts, Mutsuki wants to choose the one that results in the lexicographically smallest deck after Aru riffles it \(t\) times. Can you figure this out for her?

Input

The first line contains two integers \(k\) and \(t\), representing the size parameter of the deck, and the number of times Aru will riffle the deck, respectively.

The second line contains a string \(d\) of \(2^k\) lowercase characters, representing the original deck of cards that Mutsuki has.

  • \(1 \le k \le 18\)
  • \(0 \le t \le 10^9\)

Output

Print a string in one line, representing the lexicographically smallest deck of cards that Mutsuki can produce, by first cutting the deck and letting Aru riffle it \(t\) times.


考虑外洗法的洗牌规律,不妨设牌从上到下为 \(s[0 \sim n - 1]\),不难发现一次洗牌相当于在模 \(n - 1\) 意义下乘二,而 \(ord_{2^k - 1}(2) = k\),也即阶为 \(k\),故题面的 \(t\) 可以视为 \(k\) 的大小。

考虑预处理出每张牌的映射,我们可以知道对于任意一个位移的字符串是什么,所以可以对每个位移做排序。而做排序也很简单,只用二分出每一个字符串相等的部分,找到一下个恰好满足条件的字符串即可。

时间复杂度 \(O(n\log^2{n})\)\(O(n\log{n})\)

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define i128 __int128
#define ld long double
#define PII pair<ll, ll>
#define PPI pair<ll, PII>
#define clr(f, n) memset(f, 0, sizeof(int) * (n))
#define cpy(f, g, n) memcpy(f, g, sizeof(int) * (n))
#define rev(f, n) reverse(f, f + (n))
const int N = 2e5 + 10, mod = 998244353, INF = 1e9;
const ll B = 331;void solve() {int k, t, n;cin >> k >> t, n = 1 << k, t %= k;string s; cin >> s;vector<int> p(n);vector<vector<ll>> st(k, vector<ll>(n));vector<ll> base = {B}; base.resize(k);iota(p.begin(), p.end(), 0);while (t -- ) for (int i = 1; i < n - 1; i ++ ) p[i] = (p[i] >> 1) | ((p[i] & 1) << (k - 1));for (int i = 1; i < k; i ++ ) base[i] = base[i - 1] * base[i - 1];for (int i = 0; i < k; i ++ ) {for (int j = 0; j < n; j ++ ) {if (!i) st[i][j] = s[j];else st[i][j] = st[i - 1][j] * base[i - 1] + st[i - 1][(j + p[1 << (i - 1)]) % n];}}auto cmp = [&](int x, int y) {for (int i = k - 1; i >= 0; i -- ) {if (st[i][x] == st[i][y]) {x = (x + p[1 << i]) % n;y = (y + p[1 << i]) % n;}}return s[x] < s[y];};int ans = 0;for (int i = 1; i < n; i ++ ) if (cmp(i, ans)) ans = i;for (int i = 0; i < n; i ++ ) cout << s[(p[i] + ans) % n];
}int main() {ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int T = 1;// cin >> T;while (T -- ) solve();return 0;
}

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

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

相关文章

2025年福祉座椅定制厂家权威推荐榜单:轮椅升降平台/轮椅升降机/福祉车源头厂家精选

中国60岁及以上人口在2025年预计突破3亿,占总人口比例达22%,其中失能老人数量超550万,庞大的需求推动福祉设备市场快速发展。 福祉座椅作为提升老年人和残障人士生活质量的关键设备,正成为康复器械市场的重要组成部…

如何通过 KubeSphere 构建云原生平台,加速金融科技业务创新

导语 面对金融科技行业的快速演进与高并发业务场景需求,某大型金融科技企业基于 KubeSphere 容器平台构建现代化的云原生技术底座,实现业务快速上线、系统高可用运行与运维管理的一体化提升。该平台的上线显著增强了…

SQL学习:WITH RECURSIVE

SQL学习:WITH RECURSIVE什么是WITH RECURSIVE:WITH RECURSIVE(递归 CTE)用于在 SQL 中写递归查询,常见场景如层级结构(组织、分类树)、序列生成等。基本语法结构: WITH RECURSIVE cte_name AS (-- 1. 基础查询…

2025年温度传感器批发厂家权威推荐榜单:水温传感器/传感器/红外温度传感器源头厂家精选

2024年中国温度传感器市场规模已突破9200亿元,随着工业自动化与智能家居需求激增,水温传感器、高精度传感器与红外温度传感器成为年增长率超过15%的热门品类。 作为工业控制、智能家居及医疗设备的关键感知元件,温度…

视频汇聚平台EasyCVR构筑新时代边防哨所的“智能视觉防线”

视频汇聚平台EasyCVR构筑新时代边防哨所的“智能视觉防线”边防哨所地处偏远,环境恶劣,是国家安全的第一道屏障。传统监控系统存在设备异构、网络不稳、系统孤立等痛点,难以形成统一的态势感知。本文将深入探讨视频…

【哲学思考】我常用的方法论

【哲学思考】我常用的方法论【哲学思考】我常用的方法论一、说明我讲诉自己常用的方法论。这是一个概括、归纳和总结我常用方法论的文本。二、我的方法论1、  绑定事件:  将多个事件绑定在一起,你被强迫做没有必…

30、cp 、mv 命令

1、cp 命令 复制文件或目录 语法:cp [选项] 源文件 目标文件 cp [选项] 源文件... 目标目录选项说明-r 或 -R 递归复制整个目录(包括子目录和文件)-i 覆盖前提示确认(interactive)-v 显示详细操作过程(verbose)…

linux apache php配置

在 Linux 系统中,Apache 服务器通常用于运行 PHP 脚本。以下是一些常见配置和命令,帮助你设置和管理 Apache 与 PHP 的集成:一、安装 Apache 和 PHP 如果你还没有安装 Apache 和 PHP,可以使用以下命令安装: sudo …

[随笔15] 日常杂事 - 枝-致

今天谈绩效了,给我打了2分。没有股票,没有奖金. 真的好像在预料之中,想着去之前就做了最坏的打算。 不过我觉得,虽然不讲其他的。 我自己做的不好的地方就是做事不够圆润,虽然很卖力的查问题,干活,但是没有很积…

linux apache php 配置

在 Linux 系统中,Apache 与 PHP 的配置通常涉及以下几个关键部分:一、安装 Apache 和 PHP 如果你的系统尚未安装 Apache 和 PHP,可以使用包管理器进行安装(以 Debian/Ubuntu 为例): sudo apt update sudo apt in…

linux android环境搭建

在 Linux 环境中搭建 Android 开发环境通常需要以下几个步骤,主要涉及安装 Android SDK、Android Studio、NDK 等工具。以下是一个通用的 Linux 环境搭建指南(以 Ubuntu 为例):一、安装 Android SDK 1. 下载 Andro…

吴恩达深度学习课程二: 改善深层神经网络 第三周:超参数调整,批量标准化和编程框架(三)多值预测与多分类

此分类用于记录吴恩达深度学习课程的学习笔记。 课程相关信息链接如下:原课程视频链接:[双语字幕]吴恩达深度学习deeplearning.ai github课程资料,含课件与笔记:吴恩达深度学习教学资料 课程配套练习(中英)与答案…

M02694:波兰表达式 25-11-18

|递归|栈| 本题递归属于解析类递归:即输入具有特定的结构,需要按结构解析,属于一种较为特殊的递归类题目。本题的关键点有二:一、对不同的“字符”进行不同的return(基于相应的结构特点),二、运用全局变量pos进…

详细介绍:金融专业毕业设计:python股票数据分析预测系统 神经网络LSTM预测算法 股价预测 深度学习 requests爬虫 Flask框架 大数据 毕业设计✅

详细介绍:金融专业毕业设计:python股票数据分析预测系统 神经网络LSTM预测算法 股价预测 深度学习 requests爬虫 Flask框架 大数据 毕业设计✅pre { white-space: pre !important; word-wrap: normal !important; ov…

linux android环境

您提到的“Linux Android环境”可能是指在Android设备上运行Linux,或者是在Android开发环境中使用Linux工具。以下是针对这两个常见场景的详细说明和建议:一、在 Android 设备上运行 Linux(Linux on Android) 1. A…

从“人防”到“技防”:视频融合平台EasyCVR打造快递代收点智能视频监控网

一、行业背景:快递代收点的繁荣与隐忧 随着电商经济的蓬勃发展,小区驿站、校园代收点、便利店代收等已成为城市物流“最后一公里”的关键节点。然而,在带来便利的同时,这些代收点也面临着巨大的管理压力:资产安全…

设置word中第一页不显示页码,第二页页码从1开始

1.将光标移动到第一页的末尾,点击 布局-分隔符-分节符-下一页,这时候光标跳到第二页开头2.双击第二页页尾,取消“链接到前一节”3.页码-设置页码格式,改为“起始页码”为“1”,确定4.然后就开始插入页码5.插入成功…

【E3S出版 | 高录用快见刊 | 即将截稿】第二届环境工程、城市规划与设计国际学术会议(EEUPD 2025)

第二届环境工程、城市规划与设计国际学术会议(EEUPD 2025)将于2025年11月21日-23日在马来西亚新山举行。【环境科学、城市规划、工程管理、设计类稿件均可投递!】 【高录用快见刊:对综述类方向友好,录用门槛不高!…

2025年塑料回收公司排名:这些企业领跑行业,市场可靠的塑料回收品牌选哪家聚焦优质品牌综合实力排行

行业洞察:塑料回收产业迎来高质量发展 随着全球可持续发展理念的深入贯彻,塑料回收行业正迎来前所未有的发展机遇。作为循环经济的重要环节,专业塑料回收企业通过技术创新与服务升级,不断提升资源利用效率。本文基…

2025年塑料回收企业区域影响力榜单,评价好的塑料回收直销厂家排行榜单聚焦优质品牌综合实力排行

行业格局深度解析 随着循环经济理念的深入实施,塑料回收行业正迎来前所未有的发展机遇。作为资源再生体系的重要环节,专业塑料回收企业通过技术创新与服务升级,持续提升资源利用效率。本报告基于企业规模、服务能力…