数位DP POJ3208 Apocalypse Someday
题目大意
求第X个有3个连续的6的数。
解题思路
#include<iostream>
#include<algorithm>
using namespace std;
int t,n,m,k;
long long f[21][4];
void work()//预处理!!!
{f[0][0]=1;for(int i=0;i<20;i++){for(int j=0;j<3;j++){f[i+1][j+1]+=f[i][j];f[i+1][0]+=f[i][j]*9;}f[i+1][3]+=f[i][3]*10;}
}int main(){work();scanf("%d",&t);while(t){t--;scanf("%d",&n);//题目中第几个魔鬼数 for(m=3;f[m][3]<n;m++);//求出第n个魔鬼数的位数!!! k=0;for(int i=m;i>0;i--){ //从小到大枚举第i位数字!!! for(int j=0;j<=9;j++){//求出后面i-1位有多少填法能让整个数是魔鬼数 long long tmp=f[i-1][3];if(k==3||j==6)for(int p=max(0,3-k-(j==6?1:0));p<3;p++)tmp+=f[i-1][p];if(tmp<n) n-=tmp; //如果cnt比n小,说明第n个魔鬼数的第i位比j更大!!! else//否则,第i位就应该为 j {if(k<3&&j==6) k++;//k记录当前位已有连续几个连续6 if(k<3&&j!=6) k=0;printf("%d",j);break;}}}printf("\n");}return 0;
}
数位DP POJ3208 Apocalypse Someday相关推荐
- poj3208 Apocalypse Someday (数位dp + 二分)
The number 666 is considered to be the occult "number of the beast" and is a well used num ...
- POJ-3208 Apocalypse Someday (数位DP)
只要某数字的十进制表示中有三个6相邻,则该数字为魔鬼数,求第X小的魔鬼数\(X\le 5e7\) 这一类题目可以先用DP进行预处理,再基于拼凑思想,用"试填法"求出最终的答案 \( ...
- POJ3208:Apocalypse Someday
题目描述 The number 666 is considered to be the occult "number of the beast" and is a well use ...
- poj3208 Apocalypse Someday
Description The number 666 is considered to be the occult "number of the beast" and is a w ...
- poj3208 Apocalypse Someday 题解报告
题目传送门 [题目大意] 包含连续的至少三个6的数称为"beastly number",将这些数从小到大排序,求第n个数. [思路分析] (注:以下加粗的"数" ...
- 数位dp真·浅谈 By cellur925
预警:由于是从$Vergil$学长那里和$Mathison$大神那里学来的,所以清一色记忆化搜索!qwq 巨佬的数位dp讲解(未来的咕咕日报头条): https://www.luogu.org/blo ...
- poj 3208 Apocalypse Someday 数位dp+二分答案
Apocalypse Someday Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 2203 Accepted: 11 ...
- poj 3208 Apocalypse Someday(数位dp)
题意:给定n,输出第n大包含666的数字. 分析:数位dp,详见<算法竞赛进阶指南>P342-344. 代码: #include<iostream> #include<c ...
- Poj 3208 Apocalypse Someday(数位dp + 二分)
题目大意: 有三个连续的6在一起的数就是beast数,前几个beast数是:666,1666,2666,- T组数据,每组询问排名为n的beast的数是什么? 解题思路 第一眼看到懵逼了,不是 ...
最新文章
- 利用计算机软件温度补偿,基于自主传感器信号调理芯片温度补偿的软件设计
- python 代码分块_[代码全屏查看]-python多进程分块读取文件
- mysql数据通讯方式_c# 与 Mysql 的通讯方式总结
- 浅析五种C语言内存分配的方法及区别
- 前端学习(2666):完成vue3.0的todolist编辑
- linux的定时任务有多耗资源,linux定时任务的一些相关操作汇总
- 什么是ooa,oop
- 省级国土空间基础信息平台建设方案分析
- JavaEE学习03--Servlet
- 解决启动CAD时没有响应
- 粤省事:随时、随地、随处的便民解决方案
- 碲化铋纳米线合成步骤
- ubuntu16.04编译obmc
- 字节数组与字节流、缓冲字节流、字符流、缓冲字符流、对象流
- 【矩阵论笔记】最小多项式与Jordan型的关系
- 【CEC2017】CEC2017优化算法目标测试函数综述以及CEC2017的matlab实现
- 职场技巧:如何跟老板谈涨工资?
- 全球及中国B2B支付平台行业应用前景及盈利趋势预测报告(2022-2027)
- 基于pycharts的白蛇2影评分析
- 华南理工大学建筑学院建筑设计及其理论专业考研上岸经验分享