【蓝桥杯】题目 1117: K-进制数
暴力解法:
遍历:(超时)
从第一个遍历到最后一个(+1遍历,不能用dfs,否则超内存)
#include<iostream>
#include<vector>
#include<string>
#include<math.h>
using namespace std;int main()
{int n;int k;cin >> n;cin >> k;long long count = 0;long long begin = pow(float(10), float(n - 1));long long end = pow(float(10), float(n));for (long long i = begin; i < end; i++){string s = to_string(i);for (int i = 0; i < s.size() - 1; i++){if (!((s[i] == 0 && s[i + 1] == 0) || s[i] >= k + 48))count++;}}cout << count;
}
递归:
f(n,k)为结果
n=1,有k-1种情况
n=0,有一种情况(假设N=3,K=2时不完全归纳得出)
f(n,k)=(k-1)f(n-1,k)+f(n-2,k)
#include<iostream>
#include<vector>
using namespace std;
int sum=0;
vector<int>vec;
//每个位数都是0~k-1
int f(int n,int k)
{if(n==0){return 1;}if(n==1){return k-1;}return (k-1)*(f(n-1,k)+f(n-2,k));
}
【蓝桥杯】题目 1117: K-进制数相关推荐
- P1066 2^k进制数 NOIP 2006 提高组 第四题
洛谷蓝题(点击跳转) 提高组 第四题 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的 ...
- [NOIP2006] 提高组 洛谷P1066 2^k进制数
题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后 ...
- 蓝桥杯基础之16进制、10进制、8进制、2进制换算总结
常用函数的一些小总结 string to int(字符串转到int类型) #include<sstream> //重要的库 #include<iostream> #includ ...
- P1066 2^k进制数
传送门 好好看题 看懂了就不难了 在2^k进制下,一位一位看 每一位都有一些数可以填 除非是最左边一位,不然可以填的数最大都是 2^k-1 所以显然当填的位数为 i 时(不是最后一位),可能的选取方案 ...
- 2022蓝桥杯b组--X进制减法--c语言
[问题描述] 进制规定了数字在数位上逢几进一. X 进制是一种很神奇的进制,因为其每一数位的进制并不固定!例如说某 种 X 进制数,最低数位为二进制,第二数位为十进制,第三数位为八进制,则 X 进制数 ...
- dfs记忆化搜索(带限制的选择问题) 讲解:LeetCode打家劫舍||| / 蓝桥 地宫取宝/蓝桥 k进制数//剪格子//方格分割
记忆化递归的必要性: 普通的递归可能会重复求解某一值,类似斐波那契数列.同样的子问题可能会被求解多次,这样就会很慢很慢很慢 解决方法:我们把历史求解(子问题)记录下来,如果下次需要求解子问题,那么直接 ...
- 【题解】洛谷P1066 [NOIP2006TG] 2^k进制数(复杂高精+组合推导)
洛谷P1066:https://www.luogu.org/problemnew/show/P1066 思路 挺难的一道题 也很复杂 满足题目要求的种数是两类组合数之和 r的最多位数m为 w/k(当w ...
- 2017.4.21 2^k进制数 思考记录
题目很长很坑爹 读了半天才知道什么意思 原来是数位dp... 然而我第一次打时用滚动数组忘了消除上一维的影响 (本次不能调用本次) 然后还要用dt的高精 然后调试的时候查看里不能 ...
- 蓝桥杯 ADV-117 算法提高 进制转换
问题描述 程序提示用户输入三个字符,每个字符取值范围是0-9,A-F.然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出. 输入格式:输入只有一行,即三个字符. 输出 ...
- [Java] 蓝桥杯ALGO-85 算法训练 进制转换
问题描述 编写一个程序,输入一个二进制的字符串(长度不超过32),然后计算出相应的十进制整数,并把它打印出来. 输入格式:输入为一个字符串,每个字符都是'0'或'1',字符串的长度不超过32. 输出格 ...
最新文章
- oracle 数据导出
- 5G空口存疑 革新还是4G演进?
- 一步一步SharePoint 2007之十二:实现Form认证(2)——创建添加管理帐户的工程
- 原生app跳html页面传值,HTML页面跳转及参数传递问题
- 四路由器的OSPF DR ,BDR
- Android 日夜间切换Demo
- 玩客云刷windows做服务器_精选 | 搭建一个私人服务器如何?
- TypeError: 'numpy.int64' object is not iterable ,'int' object is not iterable
- 目标检测矩形框与polygon数据增加--裁剪,拓展,旋转
- jquery实现双击事件不触发单击事件
- 安装logstash5.4.1,并使用grok表达式收集nginx日志
- 辽工大计算机网络实验报告,辽工大计算机硬件实验报告.doc
- 聚类算法:kmeans
- 几个负载均衡软件比较(Haproxy vs LVS vs Nginx)
- 基于android的手机点名签到学生请假考勤系统app
- 插件学习笔记:搜索引擎ElasticSearch
- Qt信号与槽机制原理及优缺点
- 域名带www和不带的区别
- 用Python进行数据整理
- IDEA中修改html页面后在浏览器不生效的解决方法