首页 > 其他分享 >雅礼NOIP2018集训 day3 w

雅礼NOIP2018集训 day3 w

时间:2022-08-17 21:12:56浏览次数:60  
标签:操作数 路径 day3 NOIP2018 雅礼 集训

雅礼NOIP2018集训 day3 w

题面

有一棵n个节点的树,每条边长度为1,颜色为黑或白。 可以执行若干次如下操作:选择一条简单路径,反转路径上所有边的颜色。 对于某些边,要求在操作结束时为某一种颜色。 给定每条边的初始颜色,求最小操作数,以及满足操作数最小时,最小的操作路径长度和。

数据范围

有梯度,所有数据\(n\leq 10^5\)

题解

我们可以把边重新分一下类:任意边(即目标状态是任意的边)、异边(即原状态与目标状态相反的边),同边(即原状态与目标状态相同的边)

经过分析最优解是不会走同边的,因为走了同边会花费更多的操作数或操作路径长度来复原,而任意边可走可不走。

而图的操作数即是图上所有要走的边给点算度,奇数度的点的一半即是图的操作数

因此我们可以进行树形DP求解,注意每个点要分两类讨论,与儿子点要走的边的个数的奇偶性

标签:操作数,路径,day3,NOIP2018,雅礼,集训
From: https://www.cnblogs.com/blln/p/16596760.html

相关文章

  • Day3(复习:java流程控制)
    Java流程控制 Scanner对象用来获取用户的输入基础语法:Scanners=newScanner(System.in) 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取器要......
  • noip2018提高组初赛试题
    一、单项选择题(共10题,每题2分,共计20分;每题有且仅有一个正确选项)\2.下列属于解释执行的程序设计语言是()。A.CB.C++C.PascalD.Python答案:D解析:编译语言:C......
  • NC21467 [NOIP2018]货币系统
    题目链接题目题目描述在网友的国度中共有n种不同面额的货币,第i种货币的面额为a[i],你可以假设每一种货币都有无穷多张。为了方便,我们把货币种数为n、面额数组为a[1..n]的......