POJ 1023 The Fun Number System (递推)

团体程序设计天梯赛竞赛题--登顶题【L3-039 攀岩】 登顶级 3 道题,每道题 30 分,满分为 90 分。 阅读详情

给定一个数,在正常的二进制中它的表示是唯一的。

而在这道题中,由许多种表示方法。比如1,可以是1,可以是2+(-1),可以是4+(-2)+(-1),但是有一点是确定的,如果要构造这个1,要么选1,要么选-1和后面的数组合,不可以不选。

所以由低到高枚举N的每个二进制位,如果这一位上是1,那么不管字符串中这一位是正的还是负的都必须选,如果是负的,那么后面就要多凑出1把这个-1对掉,所以N要+1


如果遍历了k个位N还没变成0,那么就是Impossible


POJ坑:long long可以过 unsigned long long不能过!

代码:

//
//  main.cpp
//  1023 The Fun Number System
//
//  Created by Baoli1100 on 15/4/1.
//  Copyright (c) 2015年 Baoli1100. All rights reserved.
//

#include <iostream>
using namespace std;
#include <cstdio>
#include <cstring>
#include <algorithm>
#define LL long long
bool k[70];
LL N;
int res[70];
bool solve(int len){
    while(N){
        if(len<0) return 0;
        if(N&1){
            res[len]=1;
            if(!k[len]){
                N++;
            }
        }
        len--;
        N>>=1;
    }
    return 1;
}


int main(){
    int T;
    scanf("%d",&T);
    while(T--){
        memset(res,0,sizeof(res));
        memset(k,0,sizeof(k));
        int l;
        scanf("%d",&l);
        char s[100];
        scanf("%s",s);
        for(int i=0;i<l;i++){
            if(s[i]=='n') k[i]=0;
            else k[i]=1;
        }
        scanf("%lld",&N);
        if(solve(l-1)){
            for(int i=0;i<l;i++){
                printf("%d",res[i]);
            }
            printf("\n");
        }
        else printf("Impossible\n");
    }
    return 0;
}


蓝牙模块HM-10手册 蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。 立即下载

相关推荐

DSP TMS320C6657中FFT函数的调用与具体使用方法

首先明确一点,C6678中FFT的函数形式为: N : length of FFT in complex samples ptr_x : pointer to complex data input ptr_w : pointer to complex twiddle factor ptr_y : pointer to complex output data brev : pointer to bit reverse table containing 64 entries n_min : should be

Kayboy的博客 3012

The Fun Number System

Description In a k bit 2's complement number, where the bits are indexed from 0 to k-1, the weight of the most significant bit (i.e., in position k-1), is -2^(k-1), and the weight of a bit in any

万豪给给的博客 420

MyEclipse 2017 CI 10安装与激活

本文介绍MyEclipse 2017 CI 7、CI 8、CI 9和CI 10的安装与激活。此方法理论上应该能激活MyEclipse 2017 CI所有系列,即激活方法是通用的,只是激活文件略有不同。本文提供MyEclipse 2017 CI 7、CI 8、CI 9和CI 10的激活文件。说明:博主所提供的压缩包格式均为RAR5,即WinRAR 5.0以上的版本才能正常解压,别的压缩软件博主不太清...

weixin_42539046的博客 9416

poj 1023 --The Fun Number System(分析题)

The Fun Number SystemTime Limit: 1000MS Memory Limit: 10000K Total Submissions: 6988 Accepted: 2176 Description In a k bit 2's complement number, where the bits are indexed from 0 to k-1, the w

蓝色污点的专栏 3387

基于DSP28335的Matlab/Simulink代码生成实验七:A/D采样

实验七:讲解如何使用DSP的ADC模块,通过代码生成技术控制DSP进行电流采样,是后续实现电机闭环控制的重要环节。通过简单的实验来熟悉代码生成的过程。最终实现复杂算法代码自动生成,进行高性能电机控制!

m0_73869369的博客 4725

YOLO11改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

YOLOv11改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

魔改工程师的博客 4527

POJ_1023 The Fun Number System解题报告

The Fun Number System Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 8173   Accepted: 2640 Description In a k bit 2's complement number, where the bits ar

May_heyikai的专栏 753

25、格式化字符串攻击全解析

本文深入解析了格式化字符串攻击的原理与利用方式,涵盖缓冲区溢出与格式化字符串漏洞的区别,详细介绍了printf函数的工作机制、常见格式化说明符及其安全隐患。文章分析了三类典型编程错误导致的漏洞,并展示了如何通过恶意格式化字符串实现拒绝服务、内存读取和写入攻击。同时,提供了有效的防御措施,包括输入验证、使用安全函数、避免直接使用用户输入作为格式化字符串以及启用编译器安全选项,帮助开发者防范此类高危漏洞。

beer8的博客 83

一、V - The Fun Number System

V - The Fun Number System POJ - 1023 In a k bit 2's complement number, where the bits are indexed from 0 to k-1, the weight of the most significant bit (i.e., in position k-1), is -2^(k-1), and th...

不知道是些什么东西 338

16、天文时间序列分类:基于人工神经网络的研究

本研究探讨了基于人工神经网络的天文时间序列分类方法,重点比较了MLP、LSTM和CNN等模型在BRITE和开普勒K2数据集上的表现。研究发现LSTM不适用于此类数据,而结合特征提取与PSO超参数优化的多层感知器(MLP)在开普勒K2数据上实现了98.55%的二分类准确率。通过精细的数据预处理和高置信度样本选择,显著提升了分类性能。研究成果为恒星变异性识别提供了高效工具,并对天文学与机器学习交叉领域具有重要参考价值。

pz8901234的博客 113

使用AI预测彩票的架构思路

彩票是随机的数字游戏,不要过度依赖AI,本文仅供娱乐研究

淘淘小窝 9410

V - The Fun Number System

The Fun Number System题目描述In a k bit 2’s complement number, where the bits are indexed from 0 to k-1, the weight of the most significant bit (i.e., in position k-1), is -2^(k-1), and the weight of a bit

WonderHao' blog 364

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

POJ 1023 : The Fun Number System - 二进制

题意:给予ppnnp...的字符串及长度k表示的二进制系统,其中k表示共有几位,p表示此位位权为正,n表示此位位权为负。如果最右面一位位p则位权为1即2^0若为n则为-1即-2^0(1 ≤ k ≤ 64,-2^63 ≤ N 方法:十进制转换成二进制的数学问题的变形,有规律可循,仔细研究会发现其中的递推关系。跟普通的二进制转换差不多,只要在该位为p时,余数为0或1,为n时余数为0或-1即可思路:从最

Booky的专栏 623

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

1023 The Fun Number System

<br />The Fun Number SystemTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 6859 Accepted: 2132<br />DescriptionIn a k bit 2's complement number, where the bits are indexed from 0 to k-1, the weight of the most significant bit (i.e., in position

hqd_acm的专栏 1325

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

poj 1023 The Fun Number System

The Fun Number SystemTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 6857 Accepted: 2131<br />DescriptionIn a k bit 2's complement number, where the bits are indexed from 0 to k-1, the weight of the most significant bit (i.e., in position k-1), i

kongming_acm的专栏 889

HDU 1724 Ellipse (自适应辛普森公式)

自适应simpson裸题 自适应辛普森: simpson公式这样估计一段积分的值:对于F函数,a到b这一段的积分近似等于S(period)=(F(a)+F(b)+4*F(mid))/6*(b-a),即认为近似为一个常数积分,常数等于(F(a)+F(b)+4*F(mid))/6,其中mid=(b-a)/2。 如果F函数波动剧烈,这个估计方法会很不准。所以自适应辛普森会自动在波动

Baoli1008的专栏 1512

UVa 10892 LCM Cardinality (分解质因数+数学)

本题挺经典的,sqrt(n)时间复杂度分解质因数。 先看一个公式,数字a=p1^a1*p2^a2*p3^a3.........,b=p1^b1*p2^b2*p3^b3(其中pi为质因数,ai,bi为幂次),那么他们的LCM c=p1^max(a1,b1)*p2^max(a2,b2)..........,同理gcd是取每个质因数幂次最小值。 这样,如果lcm:c确定了,且c=p1^c1*

Baoli1008的专栏 1294

UVa 10791 Minimum Sum LCM(分解质因数)

假设输入N=p1^a1*p2^p2*....*pn^an,那么能得到它的数中对于质数pi至少有一个数含有因子pi^ai,对质因数pi,pj而言,满足这两个数有两种方法,要么这两个因子在一个数中,要么分别在两个数中。 显然在两个数中比在一个数中更优。因为可以证明当m,n都大于等于2时,m*n>=m+n。 因此最优的方案就是每个pi^ai单独当成一个数相加。 这样就变成了一个分解质因数的

Baoli1008的专栏 1040

Codeforces 558C - Amr and Chemistry (枚举)

枚举每个数乘二和除二过程中所能到达的所有数,并记录到达时的步数,最后统计在所有数都能到达的数字中步数和最小的数字。 因为只有*2和/2的操作,所以往大往小都是log级的。 注意,如果一个数是奇数,那么它本身一直乘二所能到达的数字,和它除2向下取整再一直乘二所能到达的数字是完全不相同的。因为在二进制下除二后相当于左移把末尾的1弄没了,以后再右移时前缀都不一样了。所以在向下除的过程中每次遇到奇数都

Baoli1008的专栏 1012

UVa 11892 ENimEn(博弈推理)

把所有数分为是1的和不是1的,当把所有不是1的数取完后,显然如果1的数量为奇数则先取的赢,否则后取的赢。因此先手有如下必胜策略: 若1的数量为奇数: 依次把每个不是1的数取成1,这样对手只能把这堆取完,这样两人合作把所有不是1的数取完,先手胜。 若1的数量为偶数: 同上,强迫对手与自己合作取完不是1的数直到最后一个不是1的数,先手直接取完这个数,这样后手先取是1的那些数,先手胜。 因此,

Baoli1008的专栏 1004

UVa 11752 The Super Powers(数学)

设一个数为x=a^k,如果k是合数,k=m*n,那么x=(a^m)^n=(a^n)^m,这样这个数就是超级幂了。 首先1是答案,然后底数从2开始循环,指数最多是64,所以先扫一遍64以下的合数。底数的范围是65536,因为2以上的合数最小是4,65536^4已经超过最大值了。这样一个二重循环,把2到65536的每个数的合数次幂都加到答案里。 显然这些答案是有重复的,去重两种方法: 1.头文件

Baoli1008的专栏 852

Codeforces 424C Magic Formulas(异或应用)

本题使用了异或的两个性质,交换律,自己是自己的逆元。 把公式用交换律改变顺序,把mod值相同的数放在一组,这样这些值在组内是循环的,算出循环的组数是奇数还是偶数,是偶数就不用算了。再把尾巴异或上。 还有要注意循环是从1开始的。 mod对异或没有分配律,即(a%mod)^( b%mod) != (a^b)%mod mod 对加,减,乘有分配率,对除没有分配率 代码:

Baoli1008的专栏 802

Codeforces 546D. Soldier and Number Game(找所有数质因子数量)

对于给定的数只要保证每次除的是它的质因子就可以使除的次数最多。问题就转化为求b+1到a中所有数的质因子总和。 求所有数的质因数数量,可以在筛法求素数对于因子i枚举i的倍数j时,对j一直除i直到不能整除,除了几次就说明j中有几个质因子i,把这些统计起来,具体看代码。 因为询问很多,要做一个前缀和的结构。 代码: #include #include #include #i

Baoli1008的专栏 765
上一篇: POJ 1019 Number Sequence(枚举)
下一篇: POJ 1026 Cipher
Baoli1008
博客等级 码龄12年 70粉丝 293原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值