hdu6130_Kolakoski_模拟递推

CCF认证 行车路线 CCF认证行车路线行车路线原题连接 描述: 小明和小芳出去乡村玩,小明负责开车,小芳来导航。小芳将可能的道路分为大道和小道。大道比较好走,每走1公里小明会增加1的疲劳度。小道不好走,如果连续走小道,小明的疲劳值会快速增加,连续走s公里小明会增加s2的疲劳度。例如:有5个路口,1号路口到2号路口为小道,2号路口到3号路口为小道,3号路口到4号路口为大道,4号路口到5号路口为小道,相邻路口 阅读详情

hdu6130_Kolakoski_模拟递推

描述

This is Kolakosiki sequence: 1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1……. This sequence consists of 1 and 2, and its first term equals 1. Besides, if you see adjacent and equal terms as one group, you will get 1,22,11,2,1,22,1,22,11,2,11,22,1……. Count number of terms in every group, you will get the sequence itself. Now, the sequence can be uniquely determined. Please tell HazelFan its nth element.

输入

The first line contains a positive integer T(1≤T≤5), denoting the number of test cases.
For each test case:
A single line contains a positive integer n(1≤n≤107).

输出

For each test case:
A single line contains a nonnegative integer, denoting the answer.

样例输入

2
1
2

样例输出

1
2

题意

  • 开始读了半天,意思就是有这么一个序列1,2,2,1……,然后可以转化为1,22,11…..这么个序列,同时,第二个序列的每一项 bi 的数字若为2位数,那么对应的 ai 等于2,若 bi 是一位数,那么对应的 ai 就是1。
  • 现在需要求出给出 an 的值。

思路

  • 首先我们已经知道了一部分的a序列和b序列,现在我们开始打表,把a序列求出来即可。
  • 我们用两个下标indexa,indexb来表示分别表示要求得 a[i] 的下标以及 b[i] 的下标(b[i]实际不用求出)。那么我们在求 a[indexa] 时,先假定一定不与 a[indexa-1] 相同,然后我们看a[indexb],如果值是2,那么说明b[indexb]应该是两位数,那么a[indexa]和a[indexa+1]一定是相同的。如果b[indexb]是1,那么说明a[indexa]与a[indexa+1]一定不同。
  • 对于假设a[indexa]一定不能与a[indexa-1],因为我们做到了如果a[indexa]==a[indexa+1]就更新两个值。所以假设是成立的。

AC代码

    #include<iostream>
    #include<cstdio>
    using namespace std;

    const int maxn = 1e7 +5;

    int a[maxn] = {1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1};
    int n;

    int main()
    {
        int indexa = 20;
        int indexb = 13;

        while(indexa < 1e7)
        {
            int temp = a[indexa - 1];
            if(temp == 1)
            {
                a[indexa] = 2;
            }
            else if(temp == 2)
            {
                a[indexa] = 1;
            }

            if(a[indexb] == 1)
            {
                indexa ++ ;
                indexb ++;
            }

            else if(a[indexb] == 2)
            {
                if(temp == 1)
                {
                    a[indexa + 1] = 2;  
                }       

                else 
                    a[indexa + 1] = 1;

                indexa +=2;
                indexb +=1;
            }
        }

        int T;
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d",&n);
            cout<<a[n-1]<<endl;
        }

        return 0;
    }
POJ4115:鸣人和佐助(广搜) POJ4115:鸣人和佐助 描述 已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置。地图上的每个位置都可以走到,只不过有些位置上有大蛇丸的手下,需要先打败大蛇丸的手下才能到这些位置。鸣人有一定数量的查克拉,每一个单位的查克拉可以打败一个大蛇丸的手下。假设鸣人可以往上下左右四个方向移动,每移动一个距离需要花费1个单位时间,打败大蛇丸的手下不需要时间。如果鸣人查克拉消耗完了,则只可以走 阅读详情

相关推荐

天津大学OJ_2017_07_12比赛I题L-The math problem

L-The math problem Description: Given an array a with n intergers, please tell me the max(aj−ai),0≤i≤j≤n−1. Input: The input consists of multiple test cases. The first line contains an

WaveBridge的博客 2188

Kolakosiki序列C++

这是Kolakosiki序列:1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1 …… 该序列由1和2组成,其第一项等于1。此外,如果将相邻的相同数字视为一组,则将获得1,22,11,2,1,22,1,22,11,2,11,22,1…… 计算每组数字的数量,您将获得序列本身。 所以,序列可以唯一确定。 求其第n(1≤n≤1e7)个元素的值。#include <vector

lzypdc的博客 454

深搜最短路径+剪枝——POJ1724:ROADS

POJ1724:ROADS 深度优先搜索找最短路径,剪枝

WaveBridge的博客 1769

HDU 6130-Kolakoski(Kolakoski序列)

address :http://acm.hdu.edu.cn/showproblem.php?pid=6130Problem Description This is Kolakosiki sequence: 1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1……. This sequence consists of 1 and 2, and its first term

知足常乐的博客 2177

飞腾D2000开发板实战:手把手教你为UEFI/EDK2驱动SD3077 RTC时钟芯片

本文详细介绍了在飞腾D2000开发板上为UEFI/EDK2环境驱动SD3077 RTC时钟芯片的全流程开发指南。从硬件连接到软件适配,包括引脚复用配置、电源管理优化以及UEFI驱动的深度定制,帮助开发者解决嵌入式系统中的时间同步问题,确保RTC芯片的稳定性和准确性。

weixin_30892037的博客 423

各种逻辑漏洞

注册:短信轰炸验证码安全问题密码爆破邮箱轰炸用户任意注册、批量注册用户名枚举XSS(有框的地方就可以尝试插XSS)登录:短信轰炸、验证码安全问题、密码爆破、邮箱轰炸SQL注入撞库抓包把password字段修改为空值发送认证凭证替换、比如返回的数据包中包含账号,修改账号就能登录到其他账号Cookie仿冒修改返回包的相关数据,可能会登陆到其他的用户找回密码:短信邮箱轰炸、短信邮箱劫持重置任意用户账户密码、验证码手机用户未统一验证直接跳过验证步骤。

shirlly_的博客 2093

HDU 6130 Kolakoski

Problem Description This is Kolakosiki sequence: 1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1……. This sequence consists of 1 and 2, and its first term equals 1. Besides, if you see adjacent and equal term

贾作真时真亦贾的博客 735

告别“盲开”:手把手教你用MCU内置比较器搞定BLDC无感方波启动(附代码片段)

本文详细介绍了如何利用MCU内置比较器实现BLDC无感方波启动,解决传统无传感器控制中的'盲开'问题。通过虚拟中性点电路设计和三段式启动流程,结合反电动势检测和过零检测技术,提供了一套经济高效的解决方案,并附有可直接移植的代码片段,助力工程师快速实现可靠的无感控制。

weixin_33694172的博客 502

Kolakoski HDU多校签到题 6130

Problem Description This is Kolakosiki sequence: 1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1……. This sequence consists of 1 and 2, and its first term equals 1. Besides, if you see adjacent and eq

turtle的博客 280

电镀技术:微型制造的原子级加法工艺与核心优势

电镀是一种利用电解原理在基材表面沉积金属层的表面处理技术,其本质是通过电场控制溶液中金属离子的迁移与还原,实现原子级的可控沉积。这一过程的核心在于对电流密度、温度、添加剂等参数的精密调控,从而实现对镀层结晶结构、性能的“编程”。从技术价值看,电镀作为一种“加法制造”工艺,在微观尺度上具有无与伦比的保形性和材料灵活性,能够实现复杂三维结构的均匀覆盖与功能复合。在应用场景上,它尤其契合现代微型化制造的需求,例如在集成电路的铜互连填充、高密度PCB板微孔金属化、MEMS传感器电极制备以及柔性电子器件制造中发挥着不

weixin_42524842的博客 528

matlab 求解多项式的根 四种方法

matlab 求解多项式的根 四种方法 方法一 %多项式求根函数roots p=[1,-3,1];%建立多项式系数向量p x=roots(p)%求多项式的根 x=-5:0.1:5;%步长为0.1 y1=x.*x-3*x+1;%构建一个函数 y2=zeros(size(x));%产生一个与x同大小的零向量 plot(x,y1,x,y2); 方法二 %利用函数fzero f=@(x)x*x-3*x+1; x1=fzero(f,0.5) x2=fzero(f,2.5) 方法三 %利用f

weixin_57038822的博客 1万+

杭电 Kolakoski

Problem Description This is Kolakosiki sequence: 1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1……. This sequence consists of 1 and 2, and its first term equals 1. Besides, if you see adjacent and

ESESZB的博客 2744

【JAVA】海康威视门禁机ISAPI接口开发,人脸上传更新接口

本文实现了一个HTTP工具类HTTPClientUtil,提供GET/POST/PUT/DELETE请求方法,支持摘要认证。工具类封装了Apache HttpClient,设置连接超时、最大连接数等参数,通过DeviceInfoDTO传递设备IP、端口和认证信息。文中还展示了两个应用示例:userInfoAdd()用于添加人员信息,FaceDataRecordAdd()用于添加人脸数据,均通过POST请求与设备ISAPI接口交互。该工具类简化了HTTP请求处理,支持设备管理系统的集成开发。

qq_27246521的博客 587

17暑假多校联赛7.11 HDU 6130 Kolakoski

KolakoskiTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)  Problem DescriptionThis is Kolakosiki sequence: 1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1……. This sequence c

小学生 1837

Classic AUTOSAR精讲专栏目录

欢迎大家来到钢琴上的汽车软件创建的《Classic AUTOSAR精讲系列专栏》,期待在这里能够与大家一起进步,分享成功,分享喜悦!下面蓝色的文章标题都是传送门,点击直接跳转到对应文章。

酒无忧的博客 3904

PyRoki 入门教程(二)安装与使用

PyRoki是一个用于机器人运动学优化的Python库,具有模块化设计、可扩展性和跨平台支持等特点。它支持逆运动学、轨迹优化和动作重定位等任务,采用Levenberg-Marquardt优化器提高效率。主要功能包括:基于URDF的可微分正向运动学模型、自动生成碰撞基元、通用成本因子和自定义成本函数等。PyRoki支持CPU、GPU和TPU运行,适用于从单机器人到大规模并行处理场景。目前存在一些限制,如仅支持软约束、静态形状和特定关节类型等。官方提供了多个应用示例,包括基础逆运动学、碰撞检测、轨迹优化和手部/

机器人控制与仿真应用 1251

Kolakoski

Problem Description This is Kolakosiki sequence: 1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1……. This sequence consists of 1 and 2, and its first term equals 1. Besides, if you see adjacent and

Joe19310的博客 2595

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

POJ1190:生日蛋糕(深搜+剪枝)

POJ1190:生日蛋糕 描述: 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体。 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱。当i < M时,要求Ri > Ri+1且Hi > Hi+1。 由于要在蛋糕上抹奶油,为尽可能节约经费,我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小。

WaveBridge的博客 1670

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

贪心例题集

贪心POJ3617贪心POJ3617描述 给定长度为N的字符串s,要构造一个长度为N的字符串T。期初,T是一个空串。 然后以下操作:从S的头部删除一个字符,加到T的尾部。 从S的尾部删除一个字符,加到T的尾部。 目标是要使构造的字典序尽可能小。 思路 我们很容易想到每次就看字符串S的头尾,把小的删除掉放到T的尾部就好。但是存在一个问题,当头尾的字符一样的时候,就必须要比较下一个字符的大小

WaveBridge的博客 1067

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

优先队列简单介绍+例题POJ2431

优先队列一、优先队列简单介绍 优先队列是一种数据结构,能够实现插入一个数值,并且取出最小值(最大值)并删除等操作。 能够使用某种二叉树来实现优先队列,这种二叉树叫“堆”。堆分为小根堆和大根堆,小根堆的意思就是所有的子节点值一定不比父亲的值小,大根堆就是所有的子节点值一定不比父亲的节点值大。并且向堆中插入和取最小的值(或最大)的值得复杂度都为O(logn)。 二、STL中的优先队列都要加头文件 #in

WaveBridge的博客 1052

Vijos P1034 回文数

Vijos P1034 回文数 描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。 又如:对于10进制数87: STEP1:87+78 = 165 STEP2:165+561 = 726 STEP3:726+627 = 1353 S

WaveBridge的博客 901

POJ2084—Game of Connections(c++高精度)

Game of Connections description: This is a small but ancient game. You are supposed to write down the numbers 1, 2, 3, … , 2n - 1, 2n consecutively in clockwise order on the ground to form a ci

WaveBridge的博客 729

广度优先搜索入门

广度优先搜索入门实现流程(用 queue ): 放入初始结点 S0 到 Open 表中(待访问)。 如果 Open 表为空,失败退出。 不为空,取出队头放入 Close 表(标记已经访问过),即为节点 n。 考察n是否为目标节点。是则成功退出。 若不是,看 n 是否可扩展,不可扩展则退回第 2 步。 若可扩展,则将其不再 Close 表和 Open (真正实现判重一般是为每个节点设置一个标记,而不是

WaveBridge的博客 672

POJ3692——Kindergarten(最大二分匹配)

POJ3692——Kindergarten description: In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know each other. In addition to that, some girls and boys k

WaveBridge的博客 670

添加好友(快速幂取模)

“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛D题——添加好友 描述 Tony最近喜欢上了龙之谷游戏,所以他想叫上他的好友组建一个公会来一起享受这款游戏。 Tony一共有n个好友,他可以叫上任意k(1<=k<=n)个好友来组建公会,并且所有好友都会答应他的请求。问Tony一共可以有多少种方案组建这个公会? 只要不是完全相同的人组建的方案视为不同方案

WaveBridge的博客 650
上一篇: 福州大学2271x——弗洛伊德最短路
下一篇: 线段树基础与模板与简单应用
WaveBridge
博客等级 码龄10年 8粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值