LightOJ 1047 Neighbor House (DP 数字三角形变形)

硬件工程师入门进阶,一文搞懂,看这篇就对了 每家公司的datasheet都有严格的规范,及独特的风格,有时候还会穿插一些原理性的介绍,比如ADI公司的一些ADC/DAC器件资料里面,还会包含AD/DA转换的原理性讲解内容,Datasheet既可以是我们设计上的好帮手,也是学习的好资料。在出货量大的产品中,尽量减少物料种类,比如开头说的,1%的电阻不得不用,那么5%的替换成1%的,物料种类就减少一种,量就大了,能不能争取更优的价格呢?如果说前面学的是内功,那这一关,是招式、是工具的使用,原理图和PCB设计都有对应的工具,教程也很多,且比较容易上手。 阅读详情
1047 - Neighbor House
Time Limit: 0.5 second(s)Memory Limit: 32 MB

The people of Mohammadpur have decided to paint each oftheir houses red, green, or blue. They've also decided that no two neighboringhouses will be painted the same color. The neighbors of housei arehouses i-1 and i+1. The first and last houses are not neighbors.

You will be given the information of houses. Each house willcontain three integers"R G B" (quotes for clarity only),where R, G and B are the costs of painting the correspondinghouse red, green, and blue, respectively. Return the minimal total costrequired to perform the work.

Input

Input starts with an integer T (≤ 100),denoting the number of test cases.

Each case begins with a blank line and an integern (1≤ n ≤ 20) denoting the number of houses. Each of the next nlines will contain 3 integers "R G B". These integers will liein the range[1, 1000].

Output

For each case of input you have to print the case number andthe minimal cost.

Sample Input

Output for Sample Input

2

 

4

13 23 12

77 36 64

44 89 76

31 78 45

 

3

26 40 83

49 60 57

13 89 99

Case 1: 137

Case 2: 96

 

题目链接:http://lightoj.com/volume_showproblem.php?problem=1047


题目大意:相邻行不能取同一列的数字,从上往下路径最大权值和问题。


解题思路:只有三列,每步有两次选择,dp[i][j]表示到第a[i][j]步的最小数字累加和,起点处分三条路,最后选出和最小的一条路。


代码如下:


#include <cstdio>
#include <cstring>
int a[25][4],dp[25][4];
int min2(int a,int b)
{
    return a>b?b:a;
}
int min3(int a,int b,int c)
{
    if(a<=b&&a<=c)
        return a;
    if(b<=a&&b<=c)
        return b;
    if(c<=b&&c<=a)
        return c;
}
int main()
{
    int t,n,i,j,cnt=0;
    scanf("%d",&t);
    while(t--)
    {
        int ans;
        memset(dp,0,sizeof(dp));
        memset(a,0,sizeof(a));
        scanf("%d",&n);
        for(i=0;i<n;i++)
            for(j=0;j<3;j++)
                scanf("%d",&a[i][j]);
        dp[0][0]=a[0][0];
        dp[0][1]=a[0][1];
        dp[0][2]=a[0][2];
        for(i=1;i<n;i++)
        {
            dp[i][0]=a[i][0]+min2(dp[i-1][2],dp[i-1][1]);
            dp[i][1]=a[i][1]+min2(dp[i-1][2],dp[i-1][0]);
            dp[i][2]=a[i][2]+min2(dp[i-1][0],dp[i-1][1]);
        }
        ans=min3(dp[n-1][0],dp[n-1][1],dp[n-1][2]);
        printf("Case %d: %d\n",++cnt,ans);
    }
    return 0;
}


UE5 Metahuman与Blender手动绑定:ARKit面部动画实战对比 面部动画是角色动画领域的核心技术,其核心原理在于通过驱动面部骨骼或混合形状来模拟真实肌肉运动,从而赋予数字角色生命力。这项技术的价值在于极大地提升了虚拟角色的表现力与沉浸感,广泛应用于游戏开发、影视制作、虚拟现实和实时交互应用。在技术实现路径上,开发者常面临工业化集成方案与高度自定义方案的选择。本文聚焦于使用行业标准的ARKit 52个面部混合形状数据,深度对比了虚幻引擎Metahuman的工业化流程与Blender手动绑定方案在视觉保真度、工作流效率、性能开销和扩展性上的差异,为不同项目规模与技术需求的团 阅读详情

相关推荐

Simulink小白必看:用Simscape轻松搭建二阶倒立摆模型(附完整参数配置)

本文为Simulink初学者提供了使用Simscape Multibody模块库,从零开始搭建二阶倒立摆非线性物理模型的完整实战教程。文章详细讲解了如何通过物理组件(如刚体、关节)直观建模,替代复杂的数学推导,并涵盖参数配置、仿真调试及模型线性化方法,帮助读者快速掌握这一高效的物理建模路径。

grpc6streamer的博客 1045

Codeforces 429B Working out (dp 数字三角形变形)

Codeforces 429B Working out (dp 数字三角形变形)

Tc的专栏 1235

时间序列分析:ARCH、GARCH、TGARCH与DCC-GARCH波动率模型(含代码)

关注TGARCH模型和DCC-GARCH的应用,通过在沪深300和中证500指数上应用TGARCH和DCC-GARCH模型,揭示这两个指数之间的条件异方差及动态相关性的变化规律。

celiaweiwei的博客 1万+

滚球游戏(数字三角形的变形)

问题 F: 滚球游戏 [命题人 : admin] 时间限制 : 1.000 sec 内存限制 : 128 MB 题目描述 某滚球游戏规则如下:球从入口处(第一层)开始向下滚动,每次可向下滚动一层,直到滚至最下面一层为止。球每次可滚至左下、下方或右下三个方格中的任意一个,每个方格都有一个得分,如样例所示。第1层有1个方格,第2层有3个方格,……,以此类推,第n层有2n-1个方格。设计一个算法,使得球从入口滚至最下面一层的总得分和最大。 输入 对于每个样例,第1行的正整数n表示数字三角形的行数。(n<=

weixin_53488675的博客 1178

阿里云天池大数据长期赛:金融风控-贷款违约预测(含代码)

本次比赛让自己在大数据的处理流程上有了更明确的认知,从数据清洗、特征工程、数据建模,每一个过程都能学到很多经验和知识,值得去历练。

weixin_46685991的博客 1万+

给粒子物理萌新的Geant4保姆级入门:从看懂B1示例代码到跑通第一个模拟

本文为粒子物理初学者提供Geant4的保姆级入门指南,从解析B1示例代码到跑通第一个模拟。详细介绍了环境准备、代码解析、可视化系统实战及扩展模拟的方法,帮助新手快速掌握Geant4的基本概念和工具包使用。

weixin_29231725的博客 500

动态规划之数字三角极其变形

1.数塔问题 代码 #include <bits/stdc++.h> using namespace std; const int maxn = 1000; int f[maxn][maxn], dp[maxn][maxn]; int main() { int n; cin >> n; for (int i = 1; i <= n; i++...

维生素C吃多了会上火 236

Fiddler Everywhere保姆级教程:10分钟搞定手机HTTPS抓包(附证书配置避坑指南)

本文提供Fiddler Everywhere移动端HTTPS抓包的保姆级教程,涵盖环境配置、代理设置、证书安装及常见问题排查。重点解析如何正确安装并信任Fiddler根证书以解密HTTPS流量,帮助开发者快速搭建抓包环境,高效分析应用网络行为,提升调试效率。

git9versioner的博客 703

LightOJ 1047 - Neighbor House(DP)

题意:n个房子涂色,相邻须不同色。涂色有不同花费,求最小花费。 思路:dp[i][now][last]表示到第i个房子,现在涂now色,上一次涂last色的最小花费。 代码略长,但意思比较清楚。 #include #include #include #include #include #include #include #include #include #include

ACMiao的博客 495

Visual Studio 2022与Qt集成实战:解决Qt.props导入错误的完整指南

本文详细解析了在Visual Studio 2022中集成Qt开发时,如何解决因Qt.props文件导入失败导致的编译错误。文章从问题根源入手,深入剖析了Qt.props文件与QtMsBuild环境变量的关系,并提供了从检查文件存在性、配置环境变量到直接修改项目文件路径的完整排查与修复方案,帮助开发者快速恢复项目构建。

wdx01234567的博客 672

基于Simulink的雷达跟踪系统仿真(附源码)

此示例包含对雷达系统的基本特征进行建模的子系统。该模型是用于目标位置和速度检测的雷达系统的典型模型。该示例包括雷达脉冲发生器、射频发射器子系统、移动目标的 Simulink 表示、射频接收器和接收模块(Rx 模块)。

珞瑜的博客 3512

LightOJ 1047 - Neighbor House(dp)

题目链接:LightOJ 1047 - Neighbor House代码#include <cstdio> #include <cstring> #include <algorithm>using namespace std; const int maxn = 30; const int inf = 0x3f3f3f3f;int N, dp[maxn][3];int main () { in

不慌不忙、不急不躁 604

生成模型实战 | VQ-GAN(Vector Quantized-Generative Adversarial Network)

向量量化生成对抗网络 (Vector Quantized-Generative Adversarial Network, VQ-GAN) 结合了向量量化变分子自编码器 (VQ-VAE) 和生成对抗网络 (GAN) 的优势,通过向量量化 (Vector Quantised, VQ) 构建离散潜空间,结合感知损失与对抗损失,在保持语义一致性的同时能够生成纹理细节丰富的图像。在本节中,我们将详细解释 VQ-GAN 的技术原理和各个组成,并使用 PyTorch 从零开始实现 VQ-GAN。

盼小辉丶的博客 6634

LightOJ 1047 Neighbor House (DP 数字三角形变形)

Description The people of Mohammadpur have decided to paint each of their houses red, green, or blue. They've also decided that no two neighboring houses will be painted the same color. The neigh

lu_1110的博客 490

廖雪峰Python教程[完整版]

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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

lightoj 1047 - Neighbor House DP

有n个房子,每个房子都可以染红绿蓝三种颜色,并且给出了每个房子染每种颜色费用,相邻房子不能同色,求染完房子的最小费用。 dp[i][j]就是第i个房子染第j个颜色后的总费用。简单的DP.. #include using namespace std; #define ll long long #define N 1005 int dp[N][3],R[N],G[N],B[N]; int main

505

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

免费馅饼(数字三角形变形)

免费馅饼 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落

昨日明眸 538

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LightOJ - 1047 Neighbor House 【动态规划】

题目链接:https://cn.vjudge.net/problem/LightOJ-1047 Description The people of Mohammadpur have decided to paint each of their houses red, green, or blue. They've also decided that no two neighboring hou...

MengHao的博客 230

Spring Boot 3.2 集成 QQ 邮箱验证码:5步配置与 2分钟过期策略实现

本文详细介绍了如何在Spring Boot 3.2中集成QQ邮箱验证码功能,包括5步配置流程和2分钟过期策略的实现。通过SMTP服务配置、验证码生成与发送、Redis存储方案等关键技术点,帮助开发者快速构建高可用的邮箱验证系统,适用于用户注册、登录等安全验证场景。

weixin_30321449的博客 518

lightoj 1047 Neighbor House(Dp)

思路:定义dp[i][j] 为粉刷第i个房子用的颜色j dp[i][j] = min(dp[i-1][(j+1)%3] , dp[i-1][(j+2) % 3]); 一共有三种颜色{0, 1, 2},任取一种颜色{j},那么和颜色j不同的颜色就为{(j + 1) % 3 , (j + 2) % 3}; /********************************************

fisty 1514

lightoj1047 【简单线性DP】

因为写不出hdu3401...好像要用单调队列优化...这边水了一个... 题意: 给n个房子涂色,给出n个房子对应颜色的花费,问涂完所有颜色花费最少。 保证相邻房子颜色不能相同。 思路: dp[i][j] 表前i个房子,第i个房子是j颜色的最少花费; #include<bits/stdc++.h> using namespace std; int dp[2][...

weixin_30780649的博客 159

LightOJ - 1047 Neighbor House(DP)

题目大意:给你N个相邻的点,现在要求你将这些点染色(红,蓝,绿),使得任意相邻的点的颜色不一样,且染色的费用达到最小解题思路:用dp[i][j]表示前i个点都染色了,且第i个点染成j的颜色需要的最小费用 则dp[i][j] = min(dp[i][k]) + val[i][j]#include <cstdio> #include <algorithm> #include <cstring> us

静静地码 651

【lightoj1047】Neighbor House

1047 - Neighbor House PDF (English) Statistics Forum Time Limit: 0.5 second(s) Memory Limit: 32 MB The people of Mohammadpur have decided to paint each ofth

better_space的博客 403

免费馅饼 (数字三角形变形1)

都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝...

点点滴滴 260

Lightoj 1047 DP

dp[i][j] 表示第i个取j时的最小值 然后状态转移方程是: dp[i][0] = cost[i][0] + min( dp[i-1][1], dp[i-1][2] ); dp[i][1] = cost[i][1] + min( dp[i-1][0], dp[i-1][2] ); dp[i][2] = cost[i][2] + min( dp[i-1][1], dp[i-1][

马德里小铁匠的铁匠铺 675

lightoj-1047-Neighbor House【矩阵DP】

题目链接:点击打开链接 1047 - Neighbor House     PDF (English) Statistics Forum Time Limit: 0.5 second(s) Memory Limit: 32 MB The people of Mohammadpur have decided to

_Somethingwill 415

LightOJ 1047 - Neighbor House

题意:对于n个用户,选择R,G,B三种颜色中的一种涂色房子,第i和i+1,i-1的不相同,给出选某一颜色的花费,使得这n个人的总花费最小。 题目链接 解决方法:类似数字三角形,只是每次的选择的要求不一样,直接A~~~

我心中有猛虎 细嗅蔷薇 787
上一篇: LightOJ 1004 Monkey Banana Problem (DP 数字三角形)
下一篇: noj 1076 机器狗组装费用(优先队列)
雨狮子
博客等级 码龄12年 24粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值