题解 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学习之--------深入理解Vuex、原理详解、实战应用(2022/9/1)

    @ 目录 1.概念 2.何时使用? 3.搭建vuex环境 3.1 创建文件:src/store/index.js 3.2 在main.js中创建vm时传入store配置项 4.基本使用 4.1.初始化 ...

  2. 『现学现忘』Git分支 — 40、分支基本操作(一)

    目录 1.创建分支 (1)创建分支 (2)图示理解 2.查看分支列表 3.分支切换 4.查看所有分支的最后一个提交 5.删除分支 1.创建分支 (1)创建分支 Git 是怎么创建新分支的呢? 很简单, ...

  3. 基于 Redis 生成分布式订单号

    环境依赖: //spingBoot <version>2.6.6</version> //jdk11 <dependency> <groupId>org ...

  4. Python基础之面向对象:3、继承与派生

    面向对象 一.三大特征之继承 python三大特征: 封装.继承.多态 三者中继承最为核心,实际应用对,感受较为直观 封装和多态略微抽象 1.继承的概念 继承的含义: ​ 在现实生活中,继承表示人与人 ...

  5. Go语言核心36讲42-----io包中接口的好处与优势

    我们在前几篇文章中,主要讨论了strings.Builder.strings.Reader和bytes.Buffer这三个数据类型. 知识回顾 还记得吗?当时我还问过你"它们都实现了哪些接口 ...

  6. HDLBits答案——Verilog Language

    Verilog Language 1 Basics 1.1 Wire module top_module( input in, output out ); assign out = in; endmo ...

  7. 基于python的数学建模---运输问题

    代码 import pulp import numpy as np from pprint import pprint def transport_problem(costs, x_max, y_ma ...

  8. 我的第一个项目(二):使用Vue做一个登录注册界面

    好家伙,   顶不住了,太多的bug, 本来是想把背景用canvas做成动态的,但是,出现了各种问题 为了不耽误进度,我们先把一个简单的登录注册界面做出来 来看看效果:  (看上去还不错) 本界面使用 ...

  9. day19-web开发会话技术01

    WEB开发会话技术01 1.会话 Web开发中,用到的4种会话跟踪技术 - 博客园 (cnblogs.com) 会话的基本介绍 什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服 ...

  10. uniapp 微信小程序 配置分享朋友和朋友圈

    uniapp 微信小程序 配置分享朋友和朋友圈 首先在小程序中配置微信分享,和微信朋友圈, onShareAppMessage, onShareTimeline 这两个API 和 onLoad 同级目 ...