我对分治的理解:https://www.cnblogs.com/AKMer/p/9728574.html

题目传送门:https://www.luogu.org/problemnew/show/P1885

这题跟[[洛谷【P3612】USACO17JAN Secret Cow Code秘密奶牛码差不太多,都是分治字符串然后乱搞一波就行了。

时间复杂度:\(O(logn)\)

空间复杂度:\(O(1)\)

代码如下:

#include <cstdio>
using namespace std; int n;
char s[4]={' ','m','o','o'}; int read() {
int x=0,f=1;char ch=getchar();
for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')f=-1;
for(;ch>='0'&&ch<='9';ch=getchar())x=x*10+ch-'0';
return x*f;
} char find(int id) {
if(id<4)return s[id];
int tmp=3,pos=0;
while(tmp<id)tmp=tmp*2+4+pos,pos++;
int mid=tmp-pos-3;mid/=2;
if(id<=mid)return find(mid);
if(id<=mid+pos+3) {
if(id!=mid+1)return 'o';
else return 'm';
}
return find(id-(mid+pos+3));
} int main() {
n=read();
printf("%c",find(n));
return 0;
}

最新文章

  1. nodeJS(express4.x)+vue(vue-cli)构建前后端分离详细教程(带跨域)
  2. Nagios学习实践系列——配置研究[监控当前服务器]
  3. iOS工作小技巧及填坑记录
  4. 浏览器JS脚本
  5. Math对象常用方法汇总
  6. R语言中strptime返回值永远为NA的问题
  7. iPhone应用中如何避免内存泄露?
  8. 关于飞控下载时候出现avrdude: stk500_getsync(): not in sync: resp=0x00错误的解决方法
  9. java中的native关键字
  10. Eclipse自动生成作者、日期注释等功能设置(转载)
  11. 企业级自动化运维工具应用实战-ansible
  12. Java设计模式之抽象工厂
  13. Jexus~mono中使用StackExchange.redis的问题
  14. Python3出现&quot;No module named &#39;MySQLdb&#39;&quot;问题-以及使用PyMySQL连接数据库
  15. 在iOS 开发中用GDataXML(DOM方式)解析xml文件
  16. vue 移动端的一些ui
  17. Xcode 5.1.1 与 Xcode 6.0.1 的共存之路(建议大家在升级Xcode 6.0.1 的时候保留Xcode 5.1.1)
  18. 9.17 Django ORM分组
  19. 解决RDP连接不上
  20. 湖南大学ACM程序设计新生杯大赛(同步赛)I - Piglet treasure hunt Series 1

热门文章

  1. WIn10远程:mstsc:出现身份验证错误,要求的函数不支持, 这可能是由于CredSSP加密Oracle修正
  2. OC常用函数及变量
  3. php在web端播放amr语音(如微信语音)
  4. 【HTTP】初识代理
  5. CentOS7 添加用户到 sudoers
  6. Swift 枚举简单使用
  7. iOS:学习runtime的理解和心得 (转)
  8. 0522 HTML表单 CSS基础
  9. debian下为stm32f429i-discovery编译uboot、linux内核和根文件系统
  10. 对类型化数组(Typed Array)与ArrayBuffer的理解 转囧囧