题解 YMOI2019-5.4

前言

欸,被干爆了.. 太菜了。亏我还提前看题了,还是自古大神出民间

YMOI2019的第二次考试吧。第一次没参加,这一次是第一次却出师不利..还要继续加强

还是总结一下考试吧,这回的考试偏向于数学(但我最近练的全是字符串和数据结构!!)

但不论怎样,感谢前辈辛苦出题!

T1

第一题,我太TM自信了!本觉得容斥不会,写出来也不是就果断放弃。(放弃你个蛋,考试的时候得分最重要!)总之是吃了一个大亏。以后要记住,做题要从第一题做起!考试的时候能写出来正解的都是大神,而你不是,所以老老实实写暴力!

扯完了经验,扯一扯这道题的思路:这道题是一个容斥题。其实学会了容斥之后,再看这道题,特征还是比较明显的。这道题给出了一堆性质,然后要你去求类似于满足A且满足B的情况的个数。这就和容斥所解决的内容非常接近

容斥这个东西,感觉也比较玄。如果想主观理解一下,画个图就一目了然。但是想严格证明,貌似又需要反演的知识..不过好在结论在考场上可以轻松推出来,反演什么的神仙就等以后再学吧

T2

嗯,太大意了!

本来提前看到了题,知道了这道题的思路,就想着先做这道题,结果!!!活活推了半个小时没推出来,弃疗。。。

这道题嘛,讲真,就算没有人讲我也完整的推导出了整个思维过程。但是!时间耗没了!没有时间,就没有其他题的得分,最后就会很委屈地爆零。整理一下经验,还是:规定时间内拼命解题,超过时间果断弃疗

这道题的话难点在于推出公式。但是公式这个东西在这里也懒得再陈述一遍,所以引用一下前辈的题解

Case1: 第 1 和第 n−1 号位置的颜色相同

那么我们可以将第 n−1,n,1 号位置当成一个位置,且这个合并起来的位置的颜色 col=col[n-1]=col[1],那么被夹在中间的 col[n] 有 k-1 中染法

我们发现这样合并相当于将位置减小了两个,所以 \(f[n]+=(k-1)*f[n-2]\)

Case2: 第 1 和第 n−1 号位置的颜色不同

那么我们可以将第 n 号位置删除,现在 1 号位置和第 n−1 号位置相邻,统计出的答案一定满足Case2,那么将第 n 号位置再加回来后有 k-2k−2 种染法

我们发现这样相当于将位置删除了一个,所以 \(f[n]+=(k-2)*f[n-1]\)

所以

\(f[i]=(k−1)∗f[n−2]+(k−2)∗f[n−1]\)

T3

简单的数据结构,加上不会的数学知识!数学的恐惧无处不在

数据结构就是树链剖分,看一眼题就能发现这一点。

而数学知识是指:等比数列的求和

其他,没有难点

后记

突然发现博客有东西可以更新了,更新博客可以让我保持oi热情吧

还有,总感觉这篇博客的语气好强烈,估计是被吊打的缘故

YMOI2019-5.4的更多相关文章

随机推荐

  1. 初始Vue、Vue模板语法、数据绑定(2022/7/3)

    文章目录 1.Vue简介 1.1.Vue的安装使用 1.2.实际的运用案例 1.3.vue开发工具的使用(这个需要在浏览器中安装) 2.初始Vue 2.1 .基础知识 2.1 .代码实例 2.2 .页 ...

  2. golang中的一些实用功能

    0.1.索引 https://waterflow.link/articles/1663921524839 通过使用一些通用代码来节省时间,而无需单独实现它们.以下是一些开发中经常会用到的函数实现的列表 ...

  3. 使用NEON指令加速RGB888和RGB565的相互转换

    最近在做一个项目需要将RGB888转换为RGB565,用C语言转换的代码很简单,这是从ffmpeg中摘抄的代码 static inline void rgb24to16_c(const uint8_t ...

  4. 手把手教你使用LabVIEW实现Mask R-CNN图像实例分割

    前言 前面给大家介绍了使用LabVIEW工具包实现图像分类,目标检测,今天我们来看一下如何使用LabVIEW实现Mask R-CNN图像实例分割. 一.什么是图像实例分割? 图像实例分割(Instan ...

  5. mybatis-核心配置文件讲解

    核心配置文件详解 核心配置文件中的标签必须按照固定的顺序(有的标签可以不写,但顺序一定不能乱): properties.settings.typeAliases.typeHandlers.object ...

  6. Datatable 数据源

    数据源类型 Datatable可以使用三种基本的JavaScript数据类型作为数据源 数组(Arrays[]) 对象(objects{}) 实例(new myclass()) 目前使用过的为前两种, ...

  7. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(34)-Fiddler如何抓取微信小程序的包-上篇

    1.简介 有些小伙伴或者是童鞋们说小程序抓不到包,该怎么办了???其实苹果手机如果按照宏哥前边的抓取APP包的设置方式设置好了,应该可以轻松就抓到包了.那么安卓手机小程序就比较困难,不是那么友好了.所 ...

  8. 5、有一行电文,译码规律为: a ——> z b——> y c ——> x. 即把第一个字母变成第26个字母, 第i个字母变成第(26-i+1)个字母, 非字母字符不变

    /* 有一行电文,译码规律为: a --> z b--> y c --> x. 即把第一个字母变成第26个字母, 第i个字母变成第(26-i+1)个字母, 非字母字符不变 */ #i ...

  9. i春秋who are you

    打开题目网页,抓包,查源码都一无所获,然后就去看cookie,发现一个role变量,刚开始也不知道这个变量是什么,其值也是没有规律的一串字符串.看了别人源码才知道这是base64加密后的字符串,将其用 ...

  10. 模块/os/sys/json

    目录 内容概要 1.os模块 2.sys模块 3.json模块/实战 内容概要 os模块 sys模块 json模块/实战 1.os模块 # os模块主要是与我们的操作系统打交道 1.创建文件夹(目录) ...