【UVAlive】康托展开的思想

2024-06-13 04:32
文章标签 思想 展开 康托 uvalive

本文主要是介绍【UVAlive】康托展开的思想,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接:点击打开链接

题目大意:就是给你一个n 求0~n之间的数 的k-进制和(-k)进制相同的数目

题目分析:要是的k和(-k)进制的数相同,那么就是在转化为k(-k)进制之后,在奇数位上 为全零。

                    对于n在转化为长度为len的k进制数后 从最高位开始“递归”看

                   即康托展开的思想。


#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int a[150];
int main()
{long long n, k, ans,mul,i,j;int  len,flag;while (cin>>n>>k){i=n, len=0;while (i){a[len++] = i%k;i /= k;}flag=1, i = len-1;if (i%2==0) i--;for(;i>=1&&flag;i-=2){if(a[i]){for(j=i-1; j>=0;j-=2)a[j]=k-1;flag=0;}}ans = 0;mul=1;//cout<<len<<endl;for(i=0; i<len; i+=2){ans += mul*a[i];  mul*=k;}cout<<ans+1<<endl;}return 0;
}

                             


这篇关于【UVAlive】康托展开的思想的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1056285

相关文章

16.Spring前世今生与Spring编程思想

1.1.课程目标 1、通过对本章内容的学习,可以掌握Spring的基本架构及各子模块之间的依赖关系。 2、 了解Spring的发展历史,启发思维。 3、 对 Spring形成一个整体的认识,为之后的深入学习做铺垫。 4、 通过对本章内容的学习,可以了解Spring版本升级的规律,从而应用到自己的系统升级版本命名。 5、Spring编程思想总结。 1.2.内容定位 Spring使用经验

海量数据处理经典思想

第一部分、十五道海量数据处理 1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?     方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(

每日一题——Python代码实现力扣1. 两数之和(举一反三+思想解读+逐步优化)五千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 菜鸡写法 代码分析 时间复杂度分析 空间复杂度分析 改进建议 我要更强 方法1: 使用哈希表(字典) 方法2: 排序和双指针 方法3: 使用集合(仅适用于特殊情况) 哲学和编程思想

每日一题——Python代码实现PAT乙级1048 数字加密(举一反三+思想解读+逐步优化)五千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 初次尝试  再次尝试 代码点评 代码结构 时间复杂度 空间复杂度 优化建议 我要更强 优化建议 完整代码及注释 时间复杂度和空间复杂度分析 进一步优化 哲学和编程思想 模块化

RabbitMQ和Kafka设计思想的感性辨析

RabbitMQ和Kafka架构图 1. 设计初衷不完全相同 RabbitMQ是消息分发中间件 包收包送,服务很周到。 设计初衷:单播,消息一对一,每条消息只会被发送一个消费者(当然也可以扩展,如果想让多个消费者消费同一条消息,就得这条消息复制成多份放到多个Queue)。Kafka是消息存储和订阅中间件 自己放自己取,只负责提供场地,其它的全自助。 设计初衷:广播,消息一对多,凡是

QTreeViews双击任意列展开

一.效果 二.原理 重点是如何通过其他列的QModelIndex(假设为index),获取第一列的QModelIndex(假设为firstColumnIndex)。代码如下所示: QModelIndex firstColumnIndex = model->index(index.row(), 0, index.parent()); 这里要注意index函数的第三个参数,第三个参数为父in

屁股决定脑袋,思想决定高度

转眼不知不觉来到新公司近三个月了,好久没有静下心写博客了 最近看欢乐颂安迪说的有句话很好,每一个管理者并不在乎你因为什么客观原因导致没完成任务,他更在乎交给你什么任务。你完成的结果如何。是啊,我们在职场与其抱怨这个任务是因为什么原因导致流产,不如多想想解决办法。作为员工我们更应该想想对方有什么需求,在实际工作中多从这些方面思考问题。 1欢乐颂安迪的话引起设计模式的思考 1.1单一职责原则1.2

支撑编程理论的三大思想②简洁

是什么 对代码而言,简洁就是消除了"多余的复杂性"后的状态。这里所说的“多余的复杂性”不是反映了目标(代码要达成的目的)复杂程度的复杂性,而是指在修改代码的过程中遗留下来的痕迹所带来的复杂性。 为什么 “多余的复杂性”不具有任何价值。这类复杂性会阻碍代码正常运行,提高修改代码的难度,损害软件的价值。它会给代码埋下祸根。 消除“多余的复杂性”可以让代码变得简洁。这样一来,阅读、使用、修改代码

支撑编程理论的三大思想①交流

是什么 代码也是一种给人看的文档,而文档的本质在于交流。 在编程中,良好的交流意味着读代码人能够理解、修改和使用代码。 为什么 顺利的开发源于顺利的交流。 软件开发大部分成本是在完成以后产生的,这部分就是维护成本。 要想节约成本,就要提高代码的可读性。这是因为程序员之间是需要通过代码进行交流。读代码的时间要多余写代码的时间。 另外,在开发阶段程序员也要一边回顾前面的代码,一边写新代码

IOS Swift 从入门到精通: 可选项、展开和类型转换

文章目录 处理缺失数据展开可选值用保护装置解开强制展开隐式解包可选值零合并可选链式调用可选尝试可失败的初始化器类型转换总结 处理缺失数据 我们已经使用诸如 之类的类型Int来保存像 5 这样的值。但是如果您想存储age用户的属性,如果您不知道某人的年龄,您会怎么做? 您可能会说“好吧,我会存储 0”,但这样一来,您就会混淆新生婴儿和您不知道年龄的人。您可以使用特殊数字(例如 1