首页 > 其他分享 >P5657 [CSP-S2019] 格雷码

P5657 [CSP-S2019] 格雷码

时间:2024-03-22 17:00:51浏览次数:33  
标签:P5657 long 64 S2019 include CSP

#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string>
#include <cmath>
#define For(i, j, n) for(int i = j ; i <= n ; ++i)
using namespace std;

typedef unsigned long long Ull;
const unsigned long long LIM = 18446744073709551615ull;

Ull k;
int n;

int main()
{
    cin >> n >> k;
    Ull res = 0;
    while(n)
    {
        //cout << "\nk :" << k << endl;
        Ull now = 1ull << (n - 1);
        //cout << "\nnow :" << now << endl;
        if(k < now)
            putchar('0');
        else
            putchar('1');
        if(k >= now)
            //k = (1 << n) - k - 1;
        {
            if(n == 64)
                k = LIM - k;
            else 
                k = (1ull << n) - k - 1;
        }
        n--;
    }
    return 0;
}

1.因为n最大是64,会溢出unsigned long long,所以要先打表,打出2^64-1

2.(1ull<<n)的ull不能去掉:虽然说C++在不同数据类型运算的时候会自动转换,但是要注意:

(1<<n)是被括号包起来的,所以它会最优先运算,而1默认是int类型,这里位移位数太多,直接就先溢出,全0了,后面再转unsigned long long也来不及

标签:P5657,long,64,S2019,include,CSP
From: https://www.cnblogs.com/smartljy/p/18089930

相关文章

  • Windows VS2019+opencv配置
    本文是VS2019和opencv4.5.5版本1、配置环境变量(可能用户变量也需要配置)2、打开VS2019添加新属性表,分别为Debud和Release添加3、选择新建属性表的属性,进行下图步骤注意:debug模式和Release模式配置不一样,需要单独配置,debug模式附加依赖项比Release模式多了一个“d”,De......
  • P5664 [CSP-S2019] Emiya 家今天的饭 题解
    题目链接:P5664[CSP-S2019]Emiya家今天的饭思路:显然可以算出总数减去不合法的,不合法即有一列超过一半,显然最多一列,枚举这一列。考虑dp,设\(f(i,j,k)\)表示前\(i\)个方法,\(j\)个这一列,\(k\)个其他列。但是这样是\(O(n^3m)\),我们需要优化。显然我们只关心\(j,k\)相......
  • NXP ECSPI controller简介
    spi协议可参考:https://www.cnblogs.com/lethe1203/p/18083528 ECSPI(EnhancedConfigurableSerialPeripheralInterface)是由NXPSemiconductors(原飞利浦半导体部门)开发的,imx6ull上一共有四组spi接口,每组寄存器都是一样的,都是以第一组为例。 典型的SPIBURST传输图: ECSP......
  • Qt+vs2019+PCL1.12.1+VTK9.1环境搭建中的相关问题
    目录1.VS中双击Ui文件无法打开2.VTK9.0以后在QtDesigner中找不到QVTKWidget组件3.无法打开源文件"QVTKOpenGLNativeWidget.h"4.无法打开源文件"QOpenGLWidget"5.QWidget:MustconstructaQApplicationbeforeaQWidget6.无法打开源文件"QtWidgets/QApplicati......
  • 【CSP考点回顾】C++标准库加速输入输出
    C++标准库加速输入输出ios_base::sync_with_stdio(false);:取消C++标准库(iostream)与C标准库(stdio)之间的同步。默认情况下,为了保证C++的cin、cout与C的stdin、stdout能够互相交换数据,它们之间会进行同步。这样做虽然安全,但会减慢IO操作的速度,因为每次IO操作都需要进行同步。......
  • CSPJ知识点整理
    指针:https://blog.csdn.net/qq_35429198/article/details/109331937排序:https://www.cnblogs.com/myeln/articles/17576193.html递归作业:https://www.luogu.com.cn/training/370327#problems哈夫曼编码:https://zhuanlan.zhihu.com/p/415467000图:https://www.luogu.com.cn/trai......
  • 【QT入门】VS2019+QT的开发环境配置
    声明:该专栏为本人学习Qt知识点时候的笔记汇总,希望能给初学的朋友们一点帮助(加油!) 往期回顾:【QT入门】什么是qt,发展历史,特征,应用,QtCreator-CSDN博客【QT入门】Windows平台下QT的编译过程_qt编译windows应用-CSDN博客【QT入门】VS2019+QT的开发环境配置一、安装流程1......
  • csproj技巧
    1、在项目中我们经常写string?Message{get;set;}明明是引用类型,它底下还是会出现波浪线,我们可以打开csproj找到Nullable将它改为disable,或者删除,它默认是disable<Nullable>disable</Nullable>2、我们的WPF中可能会使用到Winform的类库,添加UseWindowsForms,一定要写在UseWPF......
  • 信息学奥赛一本通题目解析:2086:【22CSPJ普及组】乘方(pow)
    2086:【22CSPJ普及组】乘方(pow)题目描述小文同学刚刚接触了信息学竞赛,有一天她遇到了这样一个题:给定正整数aaa和b......
  • BCSP三期:中岚签证项目
    一、项目介绍本项目采用WebStorm(也可使用VsCode等Web开发工具),使用html+CSS+JS,框架使用BootStrap3进行编写。获取源码:私信我。难度等级:✩✩前端技术:HTML、CSS、JS、BootStrap3运行环境:GoogleChrome、Edge、Firefox等主流浏览器项目结构截图效果展示首页:       ......