POJ-1037-dp

poj 1037 dp+排列计数(美妙的栅栏) 题意:N 个木棒, 长度分别为1, 2, ..., N。构成美妙的栅栏。要求满足:除了两端的木棒外,每一跟木棒,要么比它左右的两根都长,要么比它左右的两根都短。即木棒呈现波浪状分布,这一根比上一根长了,那下一根就比这一根短,或反过来。符合上述条件的栅栏建法有很多种,对于满足条件的所有栅栏, 按照字典序(从左到右, 从低到高) 排序。问给定一个栅栏的排序号,请输出对应的栅栏方案, 即每一个木棒的长度 阅读详情

(一到普通的dp , 整了好久才AC。。dp只记录个数,输出时需要逻辑 。。


__int64 dp[22][22][2];
int ans[22];
int vis[22];

void init()
{
    memset(dp, 0, sizeof(dp));
    dp[1][1][0] = 1;
    dp[1][1][1] = 1;
    for(int i=2; i<=20; i++)
    {
        for(int j=1; j<=i; j++)
        {
            for(int k=1; k<j; k++)
                dp[i][j][1] += dp[i-1][k][0];
            for(int k=j; k<i; k++)
                dp[i][j][0] += dp[i-1][k][1];
        }
    }
}

int main()
{
    int t, n;
    __int64 C;
    init();
    scanf("%d", &t);
    while(t--)
    {
        memset(vis, 0, sizeof(vis));
        scanf("%d%I64d", &n, &C);
        int i, tmp = 2, ii=1;
        while(n)
        {
            for( i = ii; ; i++)
            {
                if(tmp!=1)
                {
                //cout<<n<<' '<<i<<" 1 "<<dp[n][i][1]<<' '<<C<<endl;
                    if( C>dp[n][i][1] ) C -= dp[n][i][1];
                    else { tmp = 1; ii = 1;break;}
                }
                if(tmp!=0)
                {
                //cout<<n<<' '<<i<<" 0 "<<dp[n][i][0]<<' '<<C<<endl;
                    if( C>dp[n][i][0] ) C -= dp[n][i][0];
                    else { tmp = 0; ii = i; break;}
                }
            }
            int j, k;
            for(j=1, k=1; j<=i; k++)
            {
                if(j==i && !vis[k]) break;
                if(!vis[k]) j++;
            }
            n--;vis[k] = 1;
            printf("%d ", k);
        }
        printf("\n");
    }
	return 0;
}



69、Dp入门,最短路径问题(C)-a.pdf 69、Dp入门,最短路径问题(C)-a 立即下载

相关推荐

Python接口自动化测试实战:Requests+Pytest+Excel+Allure框架搭建指南

接口自动化测试是现代软件工程中保障软件质量的关键实践,其核心原理是通过脚本模拟客户端请求,自动验证API的功能、性能和可靠性。在Python技术栈中,Requests库以其简洁的API成为处理HTTP请求的基石,而Pytest框架则凭借其灵活的Fixture机制和强大的参数化功能,为测试用例的组织与执行提供了优雅的解决方案。结合Excel进行数据驱动测试,能够有效实现测试数据与脚本逻辑的分离,提升协作效率;最终通过Allure生成可视化测试报告,清晰呈现测试结果与过程。这套技术组合(Requests, Py

weixin_28677451的博客 304

poj1037(dP+排列计数)

http://poj.org/problem?id=1037

u014236804的专栏 2402

FOC控制必看:单/双/三电阻电流采样方案全对比(附NXP实战避坑指南)

本文深入对比了FOC控制中单电阻、双电阻和三电阻电流采样方案的优劣与适用场景,重点剖析了采样时序、窗口与ADC转换的工程挑战。针对NXP平台,提供了解决采样窗口过窄的实战方案与配置指南,帮助工程师根据成本与性能需求做出最优选择,并规避常见设计陷阱。

n2o3p4的博客 412

poj 1037解题报告

Poj 1037是一道很好的动态规划的题目。这道题也是想了很久才Accept。 下面分享一下解题思路, 记录一下自己的思想历程, 同时如果有错误的话希望大家能给予指导。 一、题目大意       题目的基本意思是这样的: 给定N个栅栏,这N栅栏的长度互不相同,1~N。N栅栏显然有很多不同的排列。在这些排列中,有一些排列被称为“cute”排列。这些排列有一下特点:      1.这些栅栏的长度

vally1989的博客 1024

深入解析ADC采样电容:从充电误差到LSB精度的关键设计

本文深入解析了ADC采样电容在模数转换中的核心作用,重点探讨了充电时间常数与采样误差的博弈关系。通过推导最小采样时间公式,揭示了精度、速度、源阻抗与内部电容之间的制约关系,并提供了从理论计算到外部驱动电路设计的实战指南,是确保ADC达到LSB精度的关键。

android的专栏 1103

告别卡顿!OBS Studio最佳录制参数设置指南(适合游戏/网课/会议场景)

本文提供OBS Studio录制参数优化指南,针对游戏、网课及会议三大场景,详细解析帧率、码率与编码器设置。重点推荐利用硬件编码器(如NVENC)实现游戏录制零卡顿,并分享清晰稳定的网课录制与长时间会议录制配置方案,助你告别视频卡顿与音画不同步问题。

e4f5g6h7的博客 1334

poj1037(计数dp)

题意:给定n个数字,规定一种 cute 排序:序列中的数字大小为严格的波浪形,即 a[0] > a[1] < a[2] > a[3] < .... 或者 a[0] < a[1] > a[2] < a[3] .....。对于N个数字来说,可以构成多个cute序列,这些序列按照字典序进行排序,求出第k个序列。 分析:《算法竞赛训练指南》P339-342。 ...

常胜将军的博客 363

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的生活垃圾检测与分类系统(Python+PySide6界面+训练代码)

随着城市化进程的加速和人口增长,生活垃圾管理已成为现代城市面临的重要挑战。传统的垃圾处理方法效率低下且成本高昂,急需智能化解决方案。本文详细介绍了基于YOLO系列算法(特别是YOLOv8)的智能生活垃圾检测与分类系统,该系统能够实时识别和分类多种生活垃圾,为智能垃圾处理和回收提供技术支持。系统包含完整的数据集构建、模型训练、评估和可视化界面,并提供了完整的实现代码。

YOLO 117

POJ 1037 动态规划 计数问题

POJ 1037 计数DP难题。 这个题真正的难点并不在求出总的组合数,而在于如何将解还原出来。首先我们建立状态转移方程。我们定义 高低高低高 为0型,定义 地高低高低高 为1型,假设S[i]为长度为i的可行方案的全部升序数列集合。S[i][j]是开头第j大的可行方案的全部数列集合 dp[...

chuizhuanrun0253的博客 266

AUTOSAR 导入DBC ISOLAR工程配置

ISOLAR工程配置-dbc导入

汽车电子电气 2406

Centos 7 Linux 离线安装单机 Kafka:下载、安装、配置、使用

本文详细介绍了在 CentOS 7 系统上离线安装单机版 Apache Kafka 的完整流程,包括环境准备(JDK 安装)、Kafka 安装包上传与解压、关键配置修改(如监听地址)、ZooKeeper 与 Kafka 服务的启动,以及 Topic 的创建、消息的生产和消费等基础操作。适用于无网络环境下的 Kafka 快速部署与学习,为后续开发或测试提供本地消息队列支持。

寒水馨 · 轻量级技术文档 · hanshuixin.org 1319

POJ 1037 A decorative fence

A decorative fence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5280   Accepted: 1880 Description Richard just finished building his new house. Now the

cmonkey 1062

Unreal5从入门到精通之Landscape地形系统

虚幻引擎 5 (UE5) 能够利用其强大的地形编辑工具套件创建大规模的地形世界。使用地形工具可以创建身临其境的户外地形,这些地形经过优化,可在多种不同设备上保持可播放的帧速率。

TxNet 4142

poj1037 dp +排列计数

poj1037 dp +排列计数 今天学习dp  看的是北大培训的课件 看到了这道题  开始看的时候  就算知道是dp 也不知道怎么去写  后面看了ac代码 直接写思路  c[i][k][down]表示的是前i根木头中 以k打头阵的down总数                     //c[i][k][up]表示的是 前i根木头中 以k打头阵的up总数 再写这道题时  首

liyanfeng1996的博客 459

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

POJ 1037 DP

题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!!          (参考于:http://blog.youkuaiyun.com/sj13051180/article/details/6669737 ) #include #include #include #include #include #include #include

PWZER 781

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

poj 1037(经典dp)

题目链接:http://poj.org/problem?id=1037 理解了牛人的代码才明白的,花了一晚上的功夫,orz....跪dp. 思路:dp[len[i][0]表示长度为len的以i开始的前两个下降的序列的个数,dp[len][i][1]表示长度为len的以i开始的前两个上升的序列的个数; 则有 dp[len][i][0]+=dp[len-1][j][1](j dp[len][

几百个教授的专栏 450

[POJ 1037] A decorative fence

[题目链接] http://poj.org/problem?id=1037 [算法] DP [代码] #include <algorithm> #include <bitset> #include <cctype> #include <cerrno> ...

89

POJ 1037 DP

题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!! (参考于:http://blog.youkuaiyun.com/sj13051180/article/details/6669737 ) #include <iostream> #include <cstdio> #include <c...

weixin_30606669的博客 70

【DP】poj1037

有点麻烦的一个DP 一开始已经想到只跟顺序有关系,但是忘记了只要维护一个上升一个下降就可以解决转移的问题了 然后还有一个点就是其实把任意一个数拿出去的话剩下序列跟拿出的数的关系是能推导出的。#include #include #include #include #include #include using namespace std; long long f[31][31][3]; bool

Pro_space的专栏 602

DP---基本思想 具体实现 经典题目 POJ1160 POJ1037

DP---基本思想 具体实现 经典题目 POJ1160 POJ1037 POJ1160, post office。动态规划的经典题目。呃,又是经典题目,DP部分的经典题目怎就这么多。木有办法,事实就这样。 求:在村庄内建邮局,要使村庄到邮局的距离和最小。 设有m个村庄,分别为 V1 V2 V3 … Vm, 要建n个邮局,...

weixin_30882895的博客 85

Poj1037 A decorative fence(DP好题)

题目链接:http://poj.org/problem?id=1037 题意:给你N个板子,每个板子长度都不一样。长度为1~n,使板子排列成波浪形,即对于对于1#include <iostream> #include<algorithm> #include<cstring> using namespace std; #define LL long long LL dp[25][25][2];//0

Hawkeye_z的博客 871

poj1037 DP

转载:http://archive.cnblogs.com/a/2122079/ up[n][k]         长度为n以k开始的,前两个数呈上升趋势的数列的个数 down[n][k]     长度为n以k开始的,前两个数呈下降趋势的数列的个数 up[n][k] = sigma(down[n-1][i])      k down[n][k]= sigma(up[n-1][i])

浅空之下 2004

POJ 1037 A decorative fence DP+排列计数 *

题目地址:http://poj.org/problem?id=1037  #include #include #include #include using namespace std; typedef long long LL; const int UP=0,DOWN=1,maxn=20+5; LL C[maxn][maxn][2],R; //C[i][k][DOWN] 是S(i)中以第k短的

BRCOCOLI的博客 309

poj 1037 A decorative fence dp+序列构造

//poj 1037 //sep9 #include using namespace std; typedef long long ll; ll dp[32][32][2]; bool vis[32]; int main() { memset(dp,0,sizeof(dp)); dp[1][1][0]=dp[1][1][1]=1; for(int len=2;len<=20;++len)

sepNINE的专栏 869

poj 1037 DP

大致就是一位一位的遍历,比方说第一位,看1在最前有temp种情况,然后temp和C比较,如果比C大,第一位为1,否则C=C-temp,看2在第一位有多少种情况,然后和C比较,依次类推 long long DFS( int statu, int a, int b )   statu == 0 表示之前是递减,然后有a个大数,b个小数的个数 statu == 1 表示之前是递增,然后有a个大数,

马德里小铁匠的铁匠铺 717
上一篇: POJ-2440-矩阵
下一篇: HDU-1693-插头dp
walk_up
博客等级 码龄15年 2粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值