蓝桥杯上岸每日N题第三期(一)!!!

大家好 我是寸铁💪

考前需要刷大量真题,大家一起相互监督,每日做N题,一起上岸吧✌️ ~

冲刺蓝桥杯省一模板大全来啦 💥 ~

蓝桥杯4月8号就要开始了 🙏 ~

还没背熟模板的伙伴们背起来 💪 💪 💪

祝大家4月8号蓝桥杯上岸 ☀️ ~

不清楚蓝桥杯考什么的点点下方👇

考点秘籍

想背纯享模版的伙伴们点点下方👇

蓝桥杯省一你一定不能错过的模板大全(第一期)

蓝桥杯省一你一定不能错过的模板大全(第二期)

想背注释模版的伙伴们点点下方👇

蓝桥杯必背第一期

蓝桥杯必背第二期

往期精彩回顾

蓝桥杯上岸每日N题 第一期(一)!!!

蓝桥杯上岸每日N题第一期(二)!!!

蓝桥杯上岸每日N题第一期(三)!!!

蓝桥杯上岸每日N题第二期(一)!!!

操作系统期末题库 第九期(完结)

LeetCode Hot100 刷题(第三期)

idea创建SpringBoot项目报错解决方案

数据库SQL语句(期末冲刺)

想看JavaB组填空题的伙伴们点点下方 👇

填空题


考前需要刷大量真题,大家一起相互监督,每日做N题,一起上岸吧✌️ ~

第三期(一)

李白打酒加强版

初始化

酒最多是m

为什么?

如果大于m 走到最后的花时,酒不为0,与题意冲突!!!
走到最后的花时,刚好酒用完了为
0。

而花最多为m ,所以酒最多是m

状态表示:

f [ i ] [ j ] [ k ] 表示 i 个店, j 个花,酒壶还剩 k 斗酒 f[i][j][k]表示i个店,j个花,酒壶还剩k斗酒 f[i][j][k]表示i个店,j个花,酒壶还剩k斗酒
集合:一共遇到i个店、j朵花,且有k斗酒的所有方案的集合

属性:count

状态计算:

分为两种状态:要么最后是店、要么最后是花。

并且只会属于其中一种情况,划分的集合是不重不漏的。

(1)最后是店

最后的状态为f[i][j][k]

则前面走了i-1个店、j朵花、酒还剩k/2

每次走到店,会多2 倍,走到最后的店时酒为k

最后一次 走到店的k/2*2=k

所以是k/2(k要能整除2)
方案数: f [ i − 1 ] [ j ] [ k / 2 ] ( i > = 1 , k / 2 ) 方案数:f[i-1][j][k/2] (i>=1,k/2) 方案数:f[i−1][j][k/2](i>=1,k/2)


(2)最后是花

最后的状态为f[i][j][k]

则前面走了i个店,j-1朵花,酒剩余k+1

为什么是k+1?

需要反推一下,最后的状态一定是K

每次走到花,会减少1 ,走到最后的花时酒为k

所以是k+1
方案数: f [ i ] [ j − 1 ] [ k + 1 ] ( j > = 1 ) 方案数:f[i][j-1][k+1] (j>=1) 方案数:f[i][j−1][k+1](j>=1)

类似于数字三角形!!!

一类是从i走过来,一类是从j走过来。

注意

最后一站是 ,走到最后一站前 酒还剩1斗。
所以
最后的答案是
f [ n ] [ m − 1 ] [ 1 ] f[n][m-1][1] f[n][m−1][1]


Accode

java 复制代码
import java.util.*;
public class Main{
    static int mods=1000000007;
    static int N=110;
    static int f[][][]=new int[N][N][N];
    public static void main(String []args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int m=sc.nextInt();
        f[0][0][2]=1;
        for(int i=0;i<=n;i++){
            //店数最多为n,i最多为n
            for(int j=0;j<=m;j++){
            //花数最多为m,j最多为m
                for(int k=0;k<=m;k++){
            //走到最后的花,酒最多为m。
            
            //最后为店的方案数
            if(i>=1&&k%2==0)f[i][j][k]+=f[i-1][j][k/2]%mods;
            
            //最后为花的方案数
            if(j>=1)f[i][j][k]+=f[i][j-1][k+1]%mods;
                }
            }
        }
         
         //倒推倒数第二个状态
        //最后一站是花,走到最后一站前酒还剩1斗。
        System.out.println(f[n][m-1][1]);
    }
}

☀️☀️☀️☀️☀️☀️

后续有补充,持续更新中🌋

喜欢的伙伴点点赞,关个注💗

相关推荐
.格子衫.9 小时前
Spring Boot 原理篇
java·spring boot·后端
多云几多9 小时前
Yudao单体项目 springboot Admin安全验证开启
java·spring boot·spring·springbootadmin
Swift社区10 小时前
LeetCode 394. 字符串解码(Decode String)
算法·leetcode·职场和发展
tt55555555555510 小时前
LeetCode进阶算法题解详解
算法·leetcode·职场和发展
让我们一起加油好吗11 小时前
【基础算法】DFS中的剪枝与优化
算法·深度优先·剪枝
Jabes.yang11 小时前
Java求职面试实战:从Spring Boot到微服务架构的技术探讨
java·数据库·spring boot·微服务·面试·消息队列·互联网大厂
聪明的笨猪猪11 小时前
Java Redis “高可用 — 主从复制”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
Q741_14711 小时前
C++ 模拟题 力扣495. 提莫攻击 题解 每日一题
c++·算法·leetcode·模拟
兮动人11 小时前
Spring Bean耗时分析工具
java·后端·spring·bean耗时分析工具
MESSIR2211 小时前
Spring IOC(控制反转)中常用注解
java·spring