第九届蓝桥杯国赛参赛心得

ps:这是我第一次参加蓝桥杯的国赛,非专门玩ACM的,也很少去彻底钻研很高深的算法

        我参加的是C/C++大学B组,客观来说题目从题难度不高,总共6道,我估计自己做出了4.5道,最后拿的是国二,没有一等奖有点遗憾,不过归根结底还是自己水平还不够吧。简单说下国赛的题目内容吧。

        第一题签到题,大概意思是用面额为1,2,5的钞票换取200的金额,并且有约束条件“面额为2的张数恰好为1的10倍”,三种钞票必须有(任何一种数量不得为0),问兑换最少的钞票数量是多少。这其实是一道数学问题,即使不借助编程或其他工具也能用数学知识求解,而且我求出的解也只有一个,那肯定就是答案了,没啥特别高深的技巧。

        第二题讲的是有n盏灯,任意相邻的两盏灯不得同时打开,问n盏灯的亮法有多少种组合。这题我观察了一下就找到了规律,n=2有3种,00(相邻可以同时灭,但不能同时亮),01,10,n=3有5种,000,001,010,100,101,n=4有8种,一直下去其实是一个斐波那契数列。或者也可以用DP的思想推出这个规律,当第n盏亮时,n-1一定不能量,那么有两盏灯的情况已经确定了,此时f(n) = f(n-2)。当第n栈灯不亮时,有f(n) = f(n-1),两种情况加起来就是f(n) = f(n-1) + f(n-2)了,显然这就是斐波那契数列的递推公式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值