Analysis ①首先将所有粉刷匠,按照必须刷的小木块Si从小到大排序. 上面这个操作为了保证我们可以顺序处理. ②我们可以设f[i][j]表示为,前i个粉刷匠,刷了前i个木块.可以有些木块选择不刷 状态确定好了后,我们分两种情况讨论. 第i个粉刷匠不工作,那么f[i][j]=f[i−1][j]第j个木板不刷,那么f[i][j]=f[i][j−1] . 结合上面的讨论,我们不难发现,f[i][j]=max(f[i−1][j],f[i][j−1])接下来的问题就是,如果说粉刷匠工作,而且也还刷第…