Problem 1: 铺地毯
乍一看吓cry,地毯覆盖...好像是2-dims 线段树,刚开头就这么难,再一看,只要求求出一个点,果断水题,模拟即可.(注意从标号大的往小的枚举,只要有一块地毯符合要求就输出,返回.)
(全篇未完结,代码就不发了.)
Problem 2: 选择客栈
模拟果断会超时,所以用类似动态规划的方法.
用$\text{sum}\left[ i\right]$表示从一号客栈到i号客栈途中的符合要求的Café总数,自然,$\text{O}\left( n\right)$的时间复杂度不必多说,可以边读入边统计.
设三个数组分别为$f[1],f[2],f[3]$,以下分别简记为$a,b,c$,设一个临时变量$t$,$color[i]$为i号客栈的颜色编号(雾...). $a[i]$即后一个人住在第i种颜色的客栈此时选择的总方案数(当然要设置一个累加变量以便输出,比如$s$),$b[i]$表示扫描到这时的有效客栈总数(此颜色),$c[i]$表示到此之前此颜色的有效Café总数(当然,不必同色).然后递推,再将结果加入$s$.
NOIP 2011 Day 1 部分题解 (Prob#1 and Prob#2),布布扣,bubuko.com
时间: 2024-10-17 14:21:06