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

分治+字符串(p3612)

P3612 [USACO17JAN] Secret Cow Code S

题目描述

奶牛们正在实验秘密代码,并设计了一种方法用于生成无限长度的字符串,作为他们代码的一部分。

给定一个字符串 \(s\),令 \(F(s)\)\(s\) 后接 \(s\) 向右“旋转”一个字符的结果(在右旋转中,\(s\) 的最后一个字符旋转并成为新的第一个字符)。给定初始字符串 \(s\),奶牛们通过重复应用 \(F\) 来构建他们的无限长度代码字符串;因此每一步都会使当前字符串的长度翻倍。

给定初始字符串和一个索引 \(N\),请帮助奶牛计算无限代码字符串中第 \(N\) 个位置的字符。

输入格式

输入由一行组成,包含一个字符串和 \(N\)。字符串最多由 30 个大写字母组成,且 \(N \leq 10^{18}\)

请注意,\(N\) 可能太大,无法放入标准的 32 位整数中,因此你可能需要使用 64 位整数类型(例如,C/C++ 中的 "long long")。

输出格式

请输出从初始字符串构建的无限代码字符串的第 \(N\) 个字符。第一个字符的位置为 \(N=1\)

输入输出样例 #1

输入 #1

COW 8

输出 #1

C

说明/提示

在这个例子中,初始字符串 COW 按以下方式扩展:

COW -> COWWCO -> COWWCOOCOWWC

AC 代码

#include<bits/stdc++.h>
using namespace std;int main(){long long n;string s;cin>>s>>n;int len=s.length();while(n>len){long long i=len;while(n>i*2) i*=2;n-=(i+1);if(n==0) n=i;}cout<<s[n-1]<<endl;return 0;
}
http://www.jsqmd.com/news/36656/

相关文章:

  • Python详细学习教程
  • ubuntu 安装使用 qemu
  • TypeScript 中的策略模式
  • NProgress 给 Vue 路由切换加个 “假” 进度条提升用户体验
  • 2025年钢结构艺术造型直销厂家权威推荐榜单:钢结构景观造型/艺术钢结构/扭曲螺旋钢结构艺术造型源头厂家精选
  • 伊克罗德信息成为 Dify 官方代理商,携手共创企业级 Agentic AI 应用新未来!
  • 数组的定义、访问、输出
  • 2025年沼气直燃品牌综合评测:徐州海德测控领跑行业
  • 2025年沼气直燃生产厂家实力对比:徐州海德测控领跑
  • 2025年市场低氮燃烧器供应商前十强
  • 2025年沼气直燃品牌排名前十:徐州海德测控领跑行业创新
  • 2025年低氮燃烧器制造企业top10:行业排名与深度解析
  • 封装电气性能新径
  • 在Docker中live-restore
  • 11月10日打卡
  • 2025年11月安徽省矿用设备安全检测检验企业口碑榜
  • 从局部性原理到一致性模型:深入剖析缓存设计的核心权衡
  • P3625 采油区域-分类讨论
  • 12345A 景区 区别
  • 2025年贴标机生产厂家前十强权威排名:彩航包装领跑行业
  • FastApi Linux 部署
  • 方格染色-并查集
  • 逆向基础--数据传输指令mov和xchg (10)
  • P8186-传递闭包
  • MCU电路为什么要使用复位芯片?
  • 幂塔问题-扩展欧拉函数
  • P3623 免费道路 - Kruskal
  • 2025年11月安徽合肥正规的除甲醛平台推荐排行榜单
  • 2025年11月安徽合肥除甲醛服务商推荐排行榜前十名
  • 手持贴标机生产源头厂家2025年市场洞察