NOIP2016提高组初赛(C++语言)试题 个人的胡乱分析 Part 2.
洛谷秋令营day1模拟赛原地爆炸,心态崩了。于是打算写一下初赛题放松一下。
上次胡乱分析到了选择题,这次我想说说后面的题。
问题求解
T1.有一个1x8的方格图形,黑白两色填涂每个方格,两个黑格并不能相邻,求方案数。
我敢保证当时考场上要是没人跟我说这题是斐波那契数列打死我也想不起来。
当时我的做法是依次考虑填多少个黑格,比如说填0个黑格,有1种方法,填1个黑格,有8种方法,填2个黑格,3个黑格,4个黑格。。
因为方格只有8个,而黑格不能相邻,所以黑格不能填到4格以上,道理显然。
当时我可能是石乐志或者说是数重了,反正最后的数不是55。。
正解是这样讲的。
我们考虑只有一个格子的情况,只有两种填涂方案,可以记f(1) = 2;
然后考虑只有两个格子的情况,只有三种填涂方案,可以记f(2) = 3;
(诶,这俩方案里面应该都有 一个什么也不填的情况啊,这是不是重复啊)
不是。
然后考虑只有三个格子的情况,可以一个也不填,填一个在左,填一个在中,填一个在右,填两个在两侧,有5种情况,我们暂记f(3) = 5。
你能找到f(3)与f(1)和f(2)的关系吗?
我们回看一下f(1)和f(2),f(1)为该格填,或者不填,f(2)为填第一格,填第二格,或者不填。
有没有发现,f(3)中的某几种情况正好是f(1)或者f(2)?
那就对了。这便是递推式斐波那契的变种,既然总有f(n) = f(n-1) + f(n-2) (f(1) = 2,f(2) = 3),算f(8),会了吧。
T2.安排时间。这个题怎么说呢。。我没法说。。答案是3种,如果你要问我为啥是3种,我只能说事实就是这样。。。这个。。很难用很通俗的方法讲,啊反正就是随便找几个试试安排就好。就是找同时段能在一起考的科目,判断两科是不是可以一起考的依据就是看某个人是不是同时报了这两科,如果是同时报了那这两科就必须放在不同的时间段考。
读程题。
T1.恭喜你发现了noip2016初赛经典的卡逗号题!
(虽然我没被卡23333)
看main函数可以得知,这个算法的作用是把a数组倒过来存储,除了那个逗号,剩下的都是送分部分。
T2.恭喜你又发现了noip2016初赛经典的卡逗号题!
(这尼玛是啥啊怎么这么长我怎么模拟)
我们大致可以看出这个题是跟万恶的字符串有关的。说实话,我是根据输入数据猜的输出。
也许是冥冥之中有感应,我发现输入数据有这么个小特点。
字符串都是被一个冒号分开的,左边那个串比较短,右边那个串比较长,但是你应该能发现左串和右串的关系。。就算你前两个看不出来第三个SARS也能提示的很明显了吧。。。
对,就是你想的那样,判断是不是“缩写”。。。
T3.需要靠脑回路的递归。。吗?并不是。。如果你知道lps什么意思。。
自己慢慢模拟吧。。注意记录一下中间结果,可以发现这个是判断最长回文子串的长度。。。
最长回文子串的英文缩写就是lps,所以当年有好多人直接秒掉了这道题。。。
T4.图论的味道(虽然输入数据是树)
这个真没什么好讲的。。给你一棵树,让你去掉某个节点以及相连的边,使得剩下的树里面最大的连通块所包含的节点最少,让你输出删去的节点号以及最大联通块包含的节点数。。
知道意思了就算不看代码手撸也能过。。所以真没啥好讲的。。。
NOIP2016提高组初赛(C++语言)试题 个人的胡乱分析 Part 2.的更多相关文章
- NOIP2016提高组初赛(C++语言)试题 个人的胡乱分析 Part 3.
*已更新 胡乱分析的第三部分,程序填空(所谓的完善程序) 说到初赛,好像本周六就是了.哇好激动.. 填空题都是玄学.也许get到点了就会好做一些.. (标红的是填在空里的答案) T1.交朋友 (小矮个 ...
- NOIP2016提高组初赛(C++语言)试题 个人的胡乱分析
最近在做历年的初赛题,那我捡几道比较有代表性的题说一下好了 原题可以在这里看:https://wenku.baidu.com/view/10c0eb7ce53a580217fcfede.html?fr ...
- NOIP2016提高组初赛(2)四、读程序写结果3、求最长回文子序列
#include <iostream> using namespace std; int lps(string seq, int i, int j) { int len1, len2; i ...
- NOIP2016提高组初赛(2)四、阅读程序写结果2、
#include <iostream> using namespace std; int main() { ][], b[][]; ]; string tmp; , j = , k = , ...
- NOIP2016提高组初赛(1)
一.选择题 6.后缀表达式,使用二叉树来求解,正常情况下的表达式a*(b+c)- d为中序遍历的二叉树. 即 若转换为后缀表达式(左右根)则为abc+*d- 14.代数字进去,多试几遍: 三.问题求解 ...
- NOIP2018提高组初赛准备
NOIP2017提高组初赛错题 一.单项选择题(共15 题,每题1.5 分,共计22.5 分:每题有且仅有一个正确选项) 4. 2017年10月1日是星期日,1949年10月1日是( ). A. 星期 ...
- noip2018提高组初赛试题
一.单项选择题(共 10 题,每题 2 分,共计 20 分: 每题有且仅有一个正确选项) \2. 下列属于解释执行的程序设计语言是( ). A. C B. C++ C. Pascal D. Pytho ...
- NOIP2018提高组初赛知识点
(传说,在神秘的初赛中,选手们经常互相爆零以示友好……) 历年真题:ti.luogu.com.cn 以下标题中打*的是我认为的重点内容 一.关于计算机 (一)计算机组成 硬件组成: 1. 控制器(C ...
- NOIP2016提高组解题报告
NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合
随机推荐
- 非阻塞式的原子性操作-CAS应用及原理
一:问题抛出 假设在出现高并发的情况下对一个整数变量做依次递增操作,下面这两段代码是否会出现问题? 1. public class IntegerTest { private static Integ ...
- 阿里云邮件服务器怎么设置才能在QQ邮箱访问,互发邮件?
必须要在阿里云邮上打开IMAP和SMTP IMAP能够代发代收.在线更改.垃圾拦截,比POP3好: 记住打开的协议号: IMAP:143 带SSL:993 SMTP: 25 带SSL:465 前提是能 ...
- nginx版本如何选择?
生产环境使用Stable version:最新稳定版,现在最新的版本是nginx-1.8.1 注意各版本的区别:Nginx官网提供了三个类型的版本 1.Mainline version:Mainlin ...
- python基础5之装饰器
内容概要: 一.装饰器前期知识储备 1.python解释函数代码过程: python解释器从上往下顺序解释代码,碰到函数的定义代码块不会立即执行它,而是将其放在内存中,等到该函数被调用时,才执行其内部 ...
- 通过Azure Powershell获取asm及arm虚拟机的配置信息
1.asm虚拟机可以使用类似如下Azure Powershell命令获取虚拟机的基本信息,包括发行版本,虚拟机名称及size[备注:虚拟机需要是使用平台image创建的] PS C:\Users\he ...
- _3_body_标签
创:20_3_2017修:5_4_2017 什么是div标签? div 双 -- div标签没有任何默认属性 -可以任意写入样式和内容,和 水一样,水自然平凡而又最多 什么是h1标签? h1 标题(双 ...
- centos7 下搭建hadoop2.9 分布式集群
首先说明,本文记录的是博主搭建的3节点的完全分布式hadoop集群的过程,环境是centos 7,1个nameNode,2个dataNode,如下: 1.首先,创建好3个Centos7的虚拟机,具体的 ...
- JS正则表达式的基础用法
RegExp(正则表达式)对象 正则表达式是一个描述字符模式的对象,可以处理更复杂的字符串.进行匹配替换. 常用的修饰符: i/m/g 使用方法: [声明方法一: new RegExp(value)] ...
- maven系列--maven目录
我们在玩maven,首先就是利用maven来管理我们的项目.其实maven并不难,它无非是一种目录结构.所以在本系列开始之前,我们要细致的了解下maven的目录,其实也就是maven的约定. 约定优于 ...
- Linux常用命令(一)--系统命令
命令字 命令字 [命令选项] [命令参数] 1. 命令中所有字符区分大小写 2. 命令选项分为短格式(-)及长格式(–) 3. 必须在命令行提示符下输入命令 4. 命令中的各个部分至少需要一个空格分隔 ...