首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
poj3237专题
poj3237--Tree(树链剖分+线段树)
题目链接:poj--3237 题意很简单,给出n个节点的一棵树,有三种操作: 1、C修改第i条边的值为v 2、N改变节点a到b内边的权值的符号(取反) 3、Q询问节点a到b内权值的最大值 首先树链剖分,将边整合到线段树上,线段树数组cl,因为存在取反操作,所以最大值可能是由最小值取反得到,所以记录最大和最小值,cl[i][0]记录第i段的最大值,cl[i][1]记录最小值,lazy做标记
阅读更多...
poj3237 Tree 树链剖分
题意:在spoj375基础上增加了一条路径的取反操作,其他都一样。 思路:剖分没有变化,在线段树部分,需要一个tag标记该段是否需要需要取反,记录一个最大值、最小值即可。= =(打tag的那 段应该已经跟新好,push_down的时候如果tag=1那么直接对两个子段进行更新。。一开始意识模糊了。。)详见代码: /************************************
阅读更多...