CF1178 F1 Short Colorful Strip】的更多相关文章

题目链接 题意 有个长度为\(m\)公分的布,要在上面每公分都染上颜色,整块布染恰好\(n(n=m)\)种颜色.颜色标号从\(1\)到\(n\).染色需遵循: 1.从颜色\(1\)到颜色\(n\)依次,即必须先染标号小的颜色 2.每次可以染任意一个区间,但必须满足这个区间之前的颜色是相同的. 询问将这块布染成所给颜色的方案数. solution 区间\(dp\). \(f[l][r]\)表示染好\([l,r]\)这个区间的方案数.\(g[l][r]\)表示最小的颜色最后单独染的方案数. 所以就有…
说起来,这题好像也不难-- 先考虑 F1 怎么做. 既然别的方法都不行不如试试\(f_{i,j}\) 表示在刚刚准备开始涂 \([i,j]\) 中最小编号的颜色之前,整个区间是同色的,且最后能做到 \([i,j]\) 变成要求的颜色,且所有连续颜色段要么完全在 \([i,j]\) 内,要么完全在 \([i,j]\) 外的方案数.(有点绕,好好理解一下) 那么先找到区间 \([i,j]\) 中的最小值 \(c\),下一步染色的区间 \([l,r]\) 一定要满足 \(i\le l\le r\le…
传送门 首先涂区间,那么区间最多有 $2n$ 个相邻位置不同的情况,并且连续相同的颜色可以合并起来 那么这样操作完以后,区间长度最多为 $2n$ 发现涂完一段区间以后其他的操作都不能出现一边在区间内而另一边在区间外的情况 又因为区间长度 $n<=1000$ ,时间 $6$ 秒,考虑一下不满的 $n^3$ 的区间 $dp$ 设 $f[i][j]$ 表示把区间 $[i,j]$ 涂成最终状态的方案数 设 $mi[i][j]$ 表示区间 $[i,j]$ 内最小的颜色编号,$L[i]$ 表示颜色 $i$…
目录 Contest Info Solutions A. Prime Minister B. WOW Factor C. Tiles D. Prime Graph E. Archaeology F1. Short Colorful Strip Contest Info Practice Link Solved A B C D E F1 F2 G H 6/9 O O O O O Ø - - - O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solutions A. Prime…
教大家如何在树莓派上自己动手做一个天气预报.此次教程需要大家有一定的python 基础,没有也没关系,文末我会放出我已写好的代码供大家下载. 首先在开始之前 需要申请高德地图API,去高德地图官网注册一下,然后创建一个天气应用(免费的),得到一个免费key.然后开始撸码了 (说一下,我用的是python 3) 1.下面给出调用高德地图API,获取天气数据的方法.将申请的key替换进url中,再将你的城市代码(网上可查,可以具体到区)替换下即可. def GetWeatherInfo(): url…
1. 如何修改Mysql的用户密码 mysql> update mysql.user set password=password('hello') where user='root'; mysql> flush privileges; 2. 关于分区数量的限制 Prior , the maximum possible . Beginning , this limit partitions. Regardless of the MySQL Server version, this maximum…
需求: 1.可进行模糊查询,语法至少支持下面3种: 1.select name,age from staff_table where age > 22 2.select  * from staff_table where dept = IT 3.查到的信息,打印后,最后面还要显示查到的条数 2.可创建新员工纪录,以phone做唯一键,staff_id需自增 3.可删除指定员工信息纪录,输入员工id,即可删除 4.可修改员工信息,语法如下: 1.UPDATE staff_table SET dep…
要求 1. 根据用户输入输出对应的backend下的server信息2. 可添加backend 和sever信息3. 可修改backend 和sever信息4. 可删除backend 和sever信息5. 操作配置文件前进行备份6 添加server信息时,如果ip已经存在则修改;如果backend不存在则创建:若信息与已有信息重复则不操作 def find(backend): ''' 查看backend下sever信息 :param backend: :return: ''' ls = [] w…
PS:最近一直忙于项目开发..所以一直没有写博客..趁着空闲期间来一发.. 学习内容: 1.初始化 2.清理 1.初始化   虽然自己的Java基础还是比较良好的..但是在解读编程思想的时候还是发现了许多的细节问题自己并没有完全的掌握.既然是研磨,那么就应该更加的细致.   i.构造方法的重载.   首先说明一下,为什么构造方法需要重载.   需要重载的一个重要原因就是,因为我们的构造器只能有一个名字,也就是和类名相同.但是如果我们需要通过不同的方式去构造一个对象的时候我们该如何是好?那么这里就…
TIJ读书笔记04-方法重载 为什么会有方法重载 方法签名 如何区分重载 关于基本类型的重载 为什么会有方法重载 OOP的编程方式就是让程序的逻辑更加接近现实世界的逻辑. 而在现实世界中,自然语言本身就是很强的冗余容错能力的. 比如,水有个方法叫洗. 那么在自然语言中,洗车,洗衣服…这都是洗这个方法. 映射到程序语言就是water.wash(car);,water.wash(clothes) 而不会说以洗车的方式洗车water.washCar(car)和以洗衣服的方式洗衣服water.washC…