{"trustable":false,"prependHtml":"\u003cstyle type\u003d\"text/css\"\u003e\n #problem-body \u003e pre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333;\n background: rgba(255, 255, 255, 0.5);\n border: 1px solid #ccc;\n border-radius: 6px;\n }\n\u003c/style\u003e\n","sections":[{"title":"","value":{"format":"HTML","content":"\u003chtml\u003e\n \u003chead\u003e\u003c/head\u003e\n \u003cbody\u003e\n \u003cdiv id\u003d\"problem-body\"\u003e \n \u003cp\u003eYou are given a tree (an acyclic undirected connected graph) with N nodes, and nodes numbered 1,2,3...,N. Each edge has an integer value assigned to it(note that the value can be negative). Each node has a color, white or black. We define dist(a, b) as the sum of the value of the edges on the path from node a to node b. \u003c/p\u003e \n \u003cp\u003e All the nodes are white initially. \u003c/p\u003e \n \u003cp\u003e We will ask you to perfrom some instructions of the following form: \u003c/p\u003e \n \u003cul\u003e \n \u003cli\u003e\u003cb\u003eC a\u003c/b\u003e : change the color of node a.(from black to white or from white to black)\u003cbr\u003e \u003c/li\u003e \n \u003cli\u003e\u003cb\u003eA\u003c/b\u003e : ask for the maximum dist(a, b), both of node a and node b must be white(a can be equal to b). Obviously, as long as there is a white node, the result will alway be non negative. \u003c/li\u003e \n \u003c/ul\u003e \n给出一棵n个结点的树,每条边有边权。一开始,每个点都是白色的。\n\u003cbr\u003e\n再给出q个询问,每次询问有两种操作:\u003cbr\u003e\n1.C a 表示改变a结点的颜色,黑变白,白变黑。\u003cbr\u003e\n2.A 表示询问树上某两个白点(可以是同一个点)间最远距离\u003cbr\u003e\n注意原题卡常,可以尝试换用clang编译器提交。\n \u003ch3\u003eInput\u003c/h3\u003e \n \u003cul\u003e \n \u003cli\u003eIn the first line there is an integer N (N \u0026lt;\u003d 100000) \u003c/li\u003e \n \u003cli\u003eIn the next N-1 lines, the i-th line describes the i-th edge: a line with three integers a b c denotes an edge between a, b of value c (-1000 \u0026lt;\u003d c \u0026lt;\u003d 1000) \u003c/li\u003e \n \u003cli\u003eIn the next line, there is an integer Q denotes the number of instructions (Q \u0026lt;\u003d 100000) \u003c/li\u003e \n \u003cli\u003eIn the next Q lines, each line contains an instruction \"C a\" or \"A\" \u003c/li\u003e \n \u003c/ul\u003e \n \u003ch3\u003eOutput\u003c/h3\u003e \n \u003cp\u003eFor each \"A\" operation, write one integer representing its result. If there is no white node in the tree, you should write \"They have disappeared.\". \u003c/p\u003e \n \u003ch3\u003eExample\u003c/h3\u003e \n \u003cpre\u003e\n\u003cb\u003eInput:\u003c/b\u003e\n3\n1 2 1\n1 3 1\n7\nA\nC 1\nA\nC 2\nA\nC 3\nA\n\n\u003cb\u003eOutput:\u003c/b\u003e\n2\n2\n0\nThey have disappeared.\n\n\u003c/pre\u003e \n \u003cp\u003e \u003cb\u003eSome new test data cases were added on Apr.29.2008, all the solutions have been rejudged.\u003c/b\u003e \u003c/p\u003e \n \u003c/div\u003e\n \u003c/body\u003e\n\u003c/html\u003e"}}]}