POJ-3208-dp

CIMPro孪大师,支持 3DGS 高斯泼溅的一站式零代码数字孪生平台 高斯泼溅导入数字孪生开发引擎 阅读详情
(有点ac自动机思想

(和POJ1037一样,输出麻烦 。。



__int64 dp[15][4];
int s[4][10] = {
        {0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
        {0, 0, 0, 0, 0, 0, 2, 0, 0, 0},
        {0, 0, 0, 0, 0, 0, 3, 0, 0, 0},
        {3, 3, 3, 3, 3, 3, 3, 3, 3, 3}};

void init()
{
    memset(dp,0,sizeof(dp));
    dp[0][3] = 1;
    for(int i=1; i<15; i++)
        for(int j=0; j<4; j++)
            for(int k=0; k<10; k++)
                dp[i][j] += dp[i-1][s[j][k]];
}

int main()
{
    int t, len;
    __int64 n;
    scanf("%d", &t);
    init();
    while(t--)
    {
        scanf("%I64d", &n);
        int i = 0;
        while( dp[i++][0] < n );
        len = i;
        int j = 0;
        int state = 0;
        len--;
        while(len)
        {
            __int64 sum = 0;
            while(j <= 9)
            {
                sum += dp[len - 1][s[state][j]];
                if (sum < n) j++;
                else break;
            }
            n -= (sum - dp[len - 1][s[state][j]]);
            state = s[state][j];
            len--;
            printf("%d", j);
            j = 0;
        }
        puts("");
    }
	return 0;
}


【机器学习(一)】从零到一:用sklearn构建你的第一个机器学习项目 本文为机器学习新手提供了一个完整的端到端实战指南。通过使用Python的scikit-learn库,以经典的鸢尾花数据集为例,详细演示了从环境搭建、数据探索、预处理、模型训练与评估,到超参数调优和模型保存的全流程。文章旨在帮助读者快速构建第一个机器学习项目,掌握核心工作流和工程实践。 阅读详情

相关推荐

避坑指南:雅特力AT32F403A在Keil5中的V2库配置常见问题解析

本文详细解析了国产MCU雅特力AT32F403A在Keil5中配置V2库的常见问题,包括工程创建、库文件配置、编译错误和外设设置等关键环节。针对项目文件夹结构混乱、芯片型号选择错误、头文件路径设置不当等典型问题提供实用解决方案,帮助开发者高效避坑,提升开发效率。

weixin_30335575的博客 375

poj 3208 (666) Apocalypse Someday

题意:规定含有“666”的数就是某种特别的数,给你n,求出第n个数是多少? 题目链接: http://poj.org/problem?id=3208 思路:统计数字,数位dp, 习惯给范围,之后可以求出范围内的数有几个,故采用二分,求出那个数~~ #include #include #include #include #include using na

我心中有猛虎 细嗅蔷薇 1178

C++坦克大战源代码

【代码】C++坦克大战源代码。

强国豪,林中霖 2608

POJ 3208 Apocalypse Someday 二分答案+数位DP

这题应该是POJ最强大的一道数位DP了吧 正解是AC自动机 不会 还是写数位DP吧 题目大意:我们令含有666的数字为不吉利数字,则可以得到一个递增数列: {an}=666,1666,2666,3666,4666,5666,6660,6661,.... 给定n,求an 首先我们把这个问题转化成另一个问题:给定n,求1~n中有多少个数含有666 解决了这个问题,把原问题二分答案即可 首先

世界 2842

Pytorch.nn.Linear 解析(数学角度)

pytorch.nn.Linear 是一个类,下面是它的一些初始化参数 in_features : 输入样本的张量大小 out_features : 输出样本的张量大小 bias : 偏置 它主要是对输入数据做一个线性变换。 y=xAT+b y=xA^T+b y=xAT+b 这里A是权重矩阵,b是偏置。他们都是根据 in_features 生成 测试代码: m = torch.nn.Linea...

Medlen 1万+

VCS的增量和分离编译

vcs的增量和分离编译

yunduor909的博客 3302

POJ 3208 Apocalypse Someday

题意:    将含有连续的三个6的数称为不吉利数,比如666,1666,6662,但是6266吉利。则666为第一个不吉利数,输入整数n,求第n个不吉利数。(n <= 5*10^7) 解法:    如果是给出n,求n以内的不吉利数有多少个,就是一个普通的数位DP。所以,就二分答案,对于每一个mid,求一下小于等于mid的数中不吉利数的个数。 tag:二分法,数位DP 1...

weixin_33924312的博客 144

6.2 磁悬浮轴承:软件架构与实现

本文系统阐述了磁悬浮轴承控制系统的软件架构与实现方法。采用分层架构设计,包括硬件抽象层、实时控制内核、控制算法层和应用层,确保系统实时性和可靠性。重点分析了电流环、位置环等关键控制任务的调度策略,比较了不同硬件平台(DSP、ARM、FPGA)的软件实现方案。强调模块化设计、配置化管理等工程实践,并详细介绍了从算法仿真到系统联调的完整开发流程。最后指出严格的测试验证是保证系统性能的关键,需通过多阶段测试评估起浮时间、稳态精度等核心指标。

技术工作者 752

【POJ3208】传说中POJ最难的数位DP?(正解AC自动机,二解数位DP,吾异与之)

POJ最难数位DP?段段拆解,0ms数位树!

辗转山河弋流歌 2615

《RT-DETR魔术师》专栏介绍 & 优快云独家改进创新实战 & 专栏目录

通过本专栏的阅读,后续你也可以自己魔改网络,在网络不同位置(Backbone、head、neck、loss等)进行魔改,实现创新!!!

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 7366

【CANoe】CAPL_ECU上电后首帧报文发出时间检测

【CANoe】CAPL_ECU上电后首帧报文发出时间检测,通过CANoe I/O口检测电压实现

星Yeah 的博客 2508

数位DP———POJ 3208 启示录

POJ3208 启示录 题目传送门 题目大意:我们称只要某数字的十进制表示中有三个连续的6,我们就称它为“魔鬼数”,比如:666,1666,6663,16666等。现给出一个数X,求“第X小的魔鬼数”。X$\le555\times$10710^7107,一共有T组数据点,T≤1000\le1000≤1000。 $ part.1 $ 引入 这一道题显然是一道数位DP的题目,那么我们先来了解一下什么是数位DP 众所周知 数位DP是与数字相关的一类计数问题,它往往指的是这样的题型: 给定一个闭区间 [l,r][l

zoiert的博客 1606

多物理场耦合仿真-主题032-电磁-流体耦合

电磁-流体耦合,即磁流体动力学(MHD, Magnetohydrodynamics),是研究导电流体在电磁场中运动规律的学科,涉及电磁场与流体力学的深度耦合。本主题系统阐述磁流体动力学的基本理论、控制方程和数值方法。首先介绍MHD的基本概念和物理基础,包括导电流体的性质、电磁场基本方程;然后详细推导MHD控制方程组,包括连续性方程、动量方程、能量方程和电磁场方程;接着讨论MHD流动的特征参数,如Hartmann数、磁雷诺数、相互作用参数等;最后通过六个典型工程案例展示MHD分析的实际应用,包括电磁泵、磁流体

2401_87715305的博客 424

poj3208启示录——数位DP

题目:http://poj.org/problem?id=3208 数位DP,首先按位数预处理出每一种位数的情况,包括有多少个魔鬼数和有多少个以6开头的非魔鬼数,以便递推、累加等等; 然后先找出第X个魔鬼数的位数,再一位一位从0开始填数; 写法有些技巧,详见代码及注释。 代码如下: #include<iostream> #include<cstdio&g...

aodan5477的博客 263

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

poj 3208 Apocalypse Someday(数位dp)

题目链接:poj 3208 Apocalypse Someday 题目大意:给定n,输出第n大包含666的数字。 解题思路:数位dp,用类似AC自动机的思想进行转移。首先dp[i][j]表示说i位最后有j个连续6的情况数,这个预处理出 来。那么dp[i][3]即为i位有多少个满足的数。给定n,先确定位数d。然后从最高位向下判断,一开始肯定是需要3个连续 的6,所以u为3,然

不慌不忙、不急不躁 2344

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【poj3208-Apocalypse Someday】数位DP

【poj3208-Apocalypse Someday】数位DP 题意:问你在所有包含666的数中,第n大的是多少。(1 ≤ n ≤ 50,000,000) 。开头几个是666, 1666, 2666, 3666, 4666, 5666… 题解: 这题可以用AC自动机,不知道这个怎么做。。 用了数位DP。 第一道自己好好调出来的数位DP。。...

qq_25768269的博客 211

POJ3208-Apocalypse Someday【数位dp】

正题 题目链接:http://poj.org/problem?id=3208 题目大意 求第X个有3个连续的6的数。 解题思路 用fi,j(j&lt;3)fi,j(j&lt;3)f_{i,j}(jfi,3fi,3f_{i,3}表示i位的魔鬼数的总数。 然后动态转移方程。 fi,0=9∗(fi−1,0+fi−1,1+fi−1,2)fi,0=9∗(fi−1,0+fi−1,...

QuantAsk 463

【POJ3208】Apocalypse Someday(二分,数位DP)

Description 666号被认为是神秘的“野兽之数”,在所有以启示录为主题的大片中都是一个被广泛使用的数字。但是,这个数字666不能总是在脚本中使用,所以应该使用1666这样的数字。让我们把至少包含三个连续的六位数字的数字称为可怕的数字。头几个可怕的数字是666,1666,2666,3666,4666,5666… 给定一个基于1的索引n,程序应该返回第n个可怕的数字。 Input 第一行包含...

ezoi_ly的博客 309

【POJ3208】Apocalypse Someday【数位DP】

poj链接 题目大意 求第nnn个包含666666666的正整数。 题解 这种有包含字符的数位DP题,一般套用ac自动机(kmp)的思想建出失配指针。 以还缺几个6建出四个节点的fail树,nxt指针预处理出来(即为g[i][j]g[i][j]g[i][j])。 还要预处理f[i][j]f[i][j]f[i][j]:表示位数为iii且包含连续jjj个6的数的个数,规定连续3个或以上的6...

ezoixx118的博客 302

Apocalypse Someday (POJ - 3208,数位 DP)

一.题目链接: POJ-3208 二.题目大意: 定义魔鬼数为含有连续 666 的数. 求第 k 大的魔鬼数. 三.分析: 很明显用填坑法解数位 DP. 假设当前枚举到数字的第 i 位且第 i 位为 j ,那我们需要知道小于等于当前枚举的数的魔鬼数有多少个. 显然需要预处理出 f[i][j]. f[i][0]: 不超过 i 位数且从第 i 位开始有 0 个连续的 6 的非魔鬼数的...

The___Flash的博客 298

POJ3208 Apocalypse Someday(二分 数位DP)

数位DP加二分 //数位dp,dfs记忆化搜索 #include<iostream> #include<cstdio> #include<cstring> using namespace std; typedef long long LL; #define N 20 LL dp[N][3];//dp[i][j]表示长度为i...

Nobel7889的专栏 253

【POJ3208】 (DP)

Apocalypse Someday Description The number 666 is considered to be the occult “number of the beast” and is a well used number in all major apocalypse themed blockbuster movies. However the n...

weixin_30608131的博客 140

poj3208 Apocalypse Someday[数位DP]

数位中出现至少3个连续的'6'的数字(称魔鬼数),询问满足要求的排名k的数。 经典题型。采用试填法。 递推做法:预处理出$i$位数字中满足要求的数(下记为'魔鬼数')。对每一位都从0到9试一遍,然而卡在了试填时试到6这个数时该怎么办,不太会做。然后才知道可以记录填到目前的上一位已有多少个连续的6,这样可以配合当前的计算出来。 所以就有这个$f[i][0]=9*(f[i-1][0...

dianer2977的博客 106

poj 3208 Apocalypse Someday (数位dp)

Apocalypse Someday Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 1490   Accepted: 686 Description The number 666 is considered to be the occult “number

To be what you what to be! 1333

poj 3208 Apocalypse Someday(数位dp)

题意:给定n,输出第n大包含666的数字。 分析:数位dp,详见《算法竞赛进阶指南》P342-344。 代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; long long f[21][4]; i...

常胜将军的博客 333
上一篇: POJ-3691-ac自动机+dp
下一篇: POJ-1739-插头dp
walk_up
博客等级 码龄15年 2粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值