zoukankan      html  css  js  c++  java
  • [SCOI2009]粉刷匠(读错题版)

    昨天这道题想了一下午还是不会,晚上弃疗决定抄题解,总觉得题解做法哪里不太对劲,后来发现是我自己读错题了。。。

    先简述一下读错后的题面吧:

    其实和原题是差不多的,唯一的改动就是——原题中每个格子只能涂一次,而读错的版本中每个块可以涂若干次,以最后一次为准(就是颜色可以覆盖)

    晚上就这个读错的版本请教了两位大佬,两位大佬都轻松切掉了这题(果然是我太菜了)

    $$Solution$$

    解法的核心在于将读错的版本中的涂色次数转化为只能涂一次的涂色次数

    按原题涂色段数为奇数时,因为相邻两涂色段颜色必不相同,所以原题中的涂$k$次在读错的版本转化为了涂$(k+1)/2$次

    按原题涂色段数为偶数时,可以单独对最边上的一段涂色,将段数转化为奇数,故原题中的涂$k$次在读错的版本中转化为了涂$k/2+1$次

    这样只需按照原题的转移方程进行$DP$再对段数进行转化即可

    (解法的思想是很清晰的,但是个人感觉在没有原题做铺垫的情况下还是有一定难度的)算了算了不狡辩了就是我太菜了

  • 相关阅读:
    割边
    割点
    缩点
    强连通分量
    本地读取服务器Xml文件及本地读本地的xml
    获取webconfig配置文件内容
    c# winform中使用WebKit实现网页与winform的交互
    【Django】ContentType组件
    【Django】实现跨域请求
    【DRF解析器和渲染器】
  • 原文地址:https://www.cnblogs.com/ivanovcraft/p/14361052.html
Copyright © 2011-2022 走看看