BNU27937——Soft Kitty——————【扩展前缀和】

Soft Kitty

Time Limit: 1000ms

Memory Limit: 65536KB

64-bit integer IO format: %lld      Java class name: Main

Prev

Submit Status Statistics Discuss

Next

Type:

None

None
 
Graph Theory
 
    2-SAT
 
    Articulation/Bridge/Biconnected Component
 
    Cycles/Topological Sorting/Strongly Connected Component
 
    Shortest Path
 
        Bellman Ford
 
        Dijkstra/Floyd Warshall
 
    Euler Trail/Circuit
 
    Heavy-Light Decomposition
 
    Minimum Spanning Tree
 
    Stable Marriage Problem
 
    Trees
 
    Directed Minimum Spanning Tree
 
    Flow/Matching
 
        Graph Matching
 
            Bipartite Matching
 
            Hopcroft–Karp Bipartite Matching
 
            Weighted Bipartite Matching/Hungarian Algorithm
 
        Flow
 
            Max Flow/Min Cut
 
            Min Cost Max Flow
 
DFS-like
 
    Backtracking with Pruning/Branch and Bound
 
    Basic Recursion
 
    IDA* Search
 
    Parsing/Grammar
 
    Breadth First Search/Depth First Search
 
    Advanced Search Techniques
 
        Binary Search/Bisection
 
        Ternary Search
 
Geometry
 
    Basic Geometry
 
    Computational Geometry
 
    Convex Hull
 
    Pick‘s Theorem
 
Game Theory
 
    Green Hackenbush/Colon Principle/Fusion Principle
 
    Nim
 
    Sprague-Grundy Number
 
Matrix
 
    Gaussian Elimination
 
    Matrix Exponentiation
 
Data Structures
 
    Basic Data Structures
 
    Binary Indexed Tree
 
    Binary Search Tree
 
    Hashing
 
    Orthogonal Range Search
 
    Range Minimum Query/Lowest Common Ancestor
 
    Segment Tree/Interval Tree
 
    Trie Tree
 
    Sorting
 
    Disjoint Set
 
String
 
    Aho Corasick
 
    Knuth-Morris-Pratt
 
    Suffix Array/Suffix Tree
 
Math
 
    Basic Math
 
    Big Integer Arithmetic
 
    Number Theory
 
        Chinese Remainder Theorem
 
        Extended Euclid
 
        Inclusion/Exclusion
 
        Modular Arithmetic
 
    Combinatorics
 
        Group Theory/Burnside‘s lemma
 
        Counting
 
    Probability/Expected Value
 
Others
 
    Tricky
 
    Hardest
 
    Unusual
 
    Brute Force
 
    Implementation
 
    Constructive Algorithms
 
    Two Pointer
 
    Bitmask
 
    Beginner
 
    Discrete Logarithm/Shank‘s Baby-step Giant-step Algorithm
 
    Greedy
 
    Divide and Conquer
 
Dynamic Programming
                  Tag it!

laimao很喜欢这首“BigBang”里的“Soft Kitty”,这首歌的歌词很简单只有6句,"soft kitty, warm kitty, little ball of fur,happy kitty, sleepy kitty, purr purr purr.",她总是唱着玩儿。现在她无聊了决定换一个玩法,你来说出一个数字n,她来唱出第n(1 ≤ n ≤ 10^9)句歌词。注意了她的唱法是,第i次唱这首歌时,每句歌词重复2^(i-1)次。就是像这样,“soft kitty, warm kitty, little ball of fur, happy kitty, sleepy kitty, purr purr purr, soft kitty, soft kitty, warm kitty, warm kitty, little ball of fur, little ball of fur,……”你能帮助她输出第n句歌词么(不包括标点)?

Input

多组数据,第一行是一个整数K(0<K<=100),表示数据组数。接下来K行,每行一个数字n,表示你需要输出第n句歌词。

Output

输出对应歌词

Sample Input

8
1
2
3
4
5
6
7
8

Sample Output

soft kitty
warm kitty
little ball of fur
happy kitty
sleepy kitty
purr purr purr
soft kitty
soft kitty

错误点分析:前缀和计算时出错,数据范围没有考虑好,要用longlong用了int

解题思路:用前缀和的下标来映射唱n首歌。
#include<stdio.h>
#include<string.h>
#include<string>
#include<iostream>
#include<math.h>
#include<algorithm>
using namespace std;
long long f[50];
long long suf[50];
string ss[10];
void work(){

    ss[0]="soft kitty";
    ss[1]="warm kitty";
    ss[2]="little ball of fur";
    ss[3]="happy kitty";
    ss[4]="sleepy kitty";
    ss[5]="purr purr purr";
    f[0]=0;
    suf[0]=0;
    f[1]=6;
    suf[1]=6;
    for(int i=2;i<50;i++){

       f[i]=f[i-1]*2;
       suf[i]=suf[i-1]+f[i];
    }
}
void solve(long long m){

    int i;
    for(i=1;i<50;i++){

        if(suf[i]>=m){

          break;
        }
    }
    m-=suf[i-1];
    long long ti=(long long)pow(2,i-1);
    if(m%ti==0){

        cout<<ss[m/ti-1]<<endl;
    }else{

        cout<<ss[m/ti]<<endl;
    }
}
int main(){

    int K;
    work();
    scanf("%d",&K);
    while(K--){

        long long  n;
        scanf("%lld",&n);
        solve(n);
    }
    return 0;
}

  

 
时间: 2024-10-10 14:19:44

BNU27937——Soft Kitty——————【扩展前缀和】的相关文章

Delphi代码创建形式规范 1.0

            Delphi代码创建形式规范 1.0 本规范的目的:给自己的代码一个统一而标准的外观,增强 可读性,可理解性,可维护性 本规范的原则:名称反映含义,形式反映结构 1.单元风格 2.各区风格 3.语句风格 4.命名规则 参考:Borland官方Object Pascal风格指南 Delphi5程序员指南编码标准 1.单元风格 {*******************************************************} { } { 项目名称 } { }

树(二)&mdash;&mdash;二叉树

目录 本章主要讲解内容为: 树的非递归遍历算法,两种版本 树的扩展前缀以及前缀中缀构建方法 基础知识 一.定义 二叉树的递归定义:二叉树是每个结点最多含有两棵子树的树结构. 二.性质 二叉树的递归定义标识着它具有很多递归性质. 二叉树的遍历.查找.构建.删除.复制和计数等全部可以用递归来实现,详见代码. 三.构建 二叉树的构建方法有:硬编码生成.扩展前缀.前缀结合中缀等.我实现了后两种方法. 四.遍历 二叉树的递归遍历非常简单,参见代码. 主要分析二叉树的非递归遍历,除了书上的版本外,我自己另写

ios/mac/COCOA系列 -- UIALertVIew 学习笔记

最近在学习ios开发,学习的书籍<ios7 Pragramming cookbook>,做笔记的目的以后方便查看.笔记形式是小例子,将书上的例子书写完整. UIAlertViewClass 的使用场景 1,向用户以一个警告的形式显示信息. 2,让用户确认一些动作 3,让用户输入用户名和密码 4,让用户输入一些文本,这些文本在程序被使用 例1   实现简单显示一些警告信息 新建一个 Single View Application 简单工程,工程名字维AlterView,扩展前缀CB   代码如下

综述-如何克服HTML5的“性工能”障碍

http://ask.dcloud.net.cn/docs HTML5自出现以来,几经风雨,虽看似很有前途,但实际使用问题太多,DCloud为此踩了无数坑.但我们从未放弃,我们加入了W3C,发起了 HTML5中国产业联盟,推出了HBuilder.HTML5plus runtime.mui框架等产品,直到我们终于可以使用HTML5开发出原生体验的App,并且把这些技术公开给开发者. HTML5过去被称为有“性工能”障碍,即性能不如原生,工具不如原生.功能不如原生. 我们先说工具,然后说能力,再说性

Apache Ignite上的TensorFlow

任何深度学习都是从数据开始的,这是关键点.没有数据,就无法训练模型,也无法评估模型质量,更无法做出预测,因此,数据源非常重要.在做研究.构建新的神经网络架构.以及做实验时,会习惯于使用最简单的本地数据源,通常是不同格式的文件,这种方法确实非常有效.但有时需要更加接近于生产环境,那么简化和加速生产数据的反馈,以及能够处理大数据就变得非常重要,这时就需要Apache Ignite大展身手了. Apache Ignite是以内存为中心的分布式数据库.缓存,也是事务性.分析性和流式负载的处理平台,可以实

css3 中的2D转换

一.CSS3转换 通过转换实现对对元素进行旋转.缩放.移动.拉伸的效果:这种原来必须要通过JS或者图片处理才可以实现的效果,现在都可以通过CSS3来完成. 2D转换采用transform属性来实现效果. 二.transform属性的取值 rotate()函数   是可以进行旋转的函数 scale()函数    可以进行缩放的函数 三.函数的用法 transform:rotate( deg);旋转 将transform属性的取值设置为rotate函数,在括号里的是旋转的角度,其单位是deg(deg

kuangbin专题十六 KMP&amp;&amp;扩展KMP HDU3613 Best Reward(前缀和+manacher or ekmp)

After an uphill battle, General Li won a great victory. Now the head of state decide to reward him with honor and treasures for his great exploit. One of these treasures is a necklace made up of 26 different kinds of gemstones, and the length of the

[kuangbin带你飞]专题十六 KMP &amp; 扩展KMP &amp; ManacherK - Count the string HDU - 3336(前缀数量问题)

K - Count the string HDU - 3336 题目链接:https://vjudge.net/contest/70325#problem/K 题目: It is well known that AekdyCoin is good at string problems as well as number theory problems. When given a string s, we can write down all the non-empty prefixes of t

玩转 Nginx 之:使用 Lua 扩展 Nginx 功能

1.Nginx 简介 Nginx 作为一款面向性能设计的HTTP服务器,相较于Apache.lighttpd具有占有内存少,稳定性高等优势.其流行度越来越高,应用也越来越广泛,常见的应用有:网页服务器.反向代理服务器以及电子邮件(IMAP/POP3)代理服务器,高并发大流量站点常用来做接入层的负载均衡,还有非常常见的用法是作为日志采集服务器等. Nginx 整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活.其中模块化设计是nginx的一大卖点,甚至http服务器核心功能也是一个模块.要