题解 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. Tensorflow Lite从入门到精通

    TensorFlow Lite 是 TensorFlow 在移动和 IoT 等边缘设备端的解决方案,提供了 Java.Python 和 C++ API 库,可以运行在 Android.iOS 和 Ra ...

  2. 利用inotify和rsync服务实现数据实时同步

    文件定时同步的实现: 利用rsync结合cron计划任务实现: rsync -av --delete /data/ 10.0.0.12:/back -a:保留文件属性 -v:显示过程 -delete: ...

  3. SQL--Row_Number() over()的使用

    1.语法 --over里面有两个参数 --partition by 用于分割区域 此参数可选 --order by 用于排序 此参数必有 row_number() over(partition by ...

  4. 你不知道的React Developer Tools,20 分钟带你掌握 9 个 React 组件调试技巧

    壹 ❀ 引 React Developer Tools 是 React 官方推出的开发者插件,可以毫不夸张的说,它在我们日常组件开发中,对于组件属性以及文件定位,props 排查等等场景都扮演者至关重 ...

  5. 重大发现,AQS加锁机制竟然跟Synchronized有惊人的相似

    在并发多线程的情况下,为了保证数据安全性,一般我们会对数据进行加锁,通常使用Synchronized或者ReentrantLock同步锁.Synchronized是基于JVM实现,而Reentrant ...

  6. Anaconda环境搭配(Ipython)-获得jupyter notebook(适用Win10)

    关于如何下载anaconda并获得jupyter notebook的随笔. 首先下载anaconda,然后下载完成后,如果是win10系统,则通过下图的放大镜搜索Jupyter Notebook 会有 ...

  7. uniapp 实现小程序中自定义tabBar 的方法

    uniapp 实现小程序中自定义tabBar 的方法 第一种方式: page.json中配置 "tabBar": { "color": "#7A7E8 ...

  8. i春秋Blog

    打开是个普普通通的hello world 然后有注册有登录 不多说我们直接注册登录试试 登录后有个POST选项,可以上传东西,先试试上传文字 没什么重要的回显 再上传一个文档试试 爆出提示:这里使用的 ...

  9. laravel框架 forelse和foreach

    1. @forelse($data as $v) 循环数据内容..... @empty 数据为空提示... @endforelse 2. @foreach($data as $v) 循环数据内容... ...

  10. fiddler提示"The system proxy was changed,click to reenable fiddler capture"的解决方法

    之前用fiddler 一直都是正常的,但是过了几个月再次使用的时候没几秒钟就提示:The system proxy was changed,click to reenable fiddler capt ...