题解 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中过滤器(filters)的使用(代码实现)(2022/7/18)

    1.过滤器 1.1 概念 过滤器: 定义:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理). 语法: 1.注册过滤器:Vue.filter(name,callback) 或 new V ...

  2. python学习笔记---流程控制

    二.流程控制 2.1选择结构与语句 2.1.1 最简单的if语句 注意:if语句后边必须加上冒号 满足条件后.可以执行多条语句. #最简单的if语句 print("请输入一个既能整除2,又能 ...

  3. 图数据 3D 可视化在 Explorer 中的应用

    本文首发于 NebulaGraph 公众号 前言图数据可视化是现代 Web 可视化技术中比较常见的一种展示方式,NebulaGraph Explorer 作为基于 NebulaGraph 的可视化产品 ...

  4. JS 学习笔记(一)常用的字符串去重方法

    要求:从输入框中输入一串字符,按回车后输出去重后的字符串 方法一: <body> <input type="text" id="input" ...

  5. HTTP(s) API 经验总结

    目录 参考文章 First URL HTTP(s)-Header 请求方式 参考文章 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Overvie ...

  6. Jekyll于windows中使用

    安装 安装Ruby http://rubyinstaller.org/downloads/ 于其中选择最新的带dev套件的. 在安装时,安装目录不能有空格,检查是否已经安装成功 ruby -v gem ...

  7. getAddress和getHostAddress的区别

    getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte数组形式的IP地址.

  8. 基于iNeuOS工业互联网平台的板材实时质检系统

    1.  项目背景 刨花板生产线由于原料.生产工艺等原因,会有一些产品板面出现颤纹.漏砂.胶斑.胶块.大刨花.粉尘斑.板面划痕和油污等缺陷.表面缺陷会降低板材强度.影响板材外观和二次加工,给企业带来经济 ...

  9. RabbitMq发布确认

    RabbitMq发布确认 发布确认原理 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被 ...

  10. php统一的gocheck方法

    这半个月断断续续在学习用PHP的ThinkPHP框架开发后端API.现在总结记录一下开发一个接口需要做好哪些事,以此提高开发效率,并且也有不错的扩展性. 一.流程概要 基本是这么一个流程,略过环境搭建 ...