摘要:
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4008题意很简单,给出一棵树,找出以x节点为根节点的情况下,y节点的最小儿子节点和最小子孙节点,每次进行一次搜索肯定是不行的,所以我们考虑只进行一次搜索,利用得到的结论去找到在其他情况下的解,先在以1为根节点的树中进行一遍深度优先搜索,记录下son[u][0](以u为根节点的子树中标号最小的子节点点)son[u][1](以u为根节点的树中标号次小的子节点)因为在选定不同的根节点导致图旋转的过程中,这两个节点最多有一个会变成u的父节点,所以直接确定另一个就可以了。low[u][0](以u为节点的子树中,标 阅读全文
posted @ 2012-09-05 14:27
zhenhai
阅读(153)
评论(0)
推荐(0)
摘要:
链接:http://poj.org/problem?id=1222这题是说有5*6个开关,0处于关闭状态,1处于开启状态,每按一个开关,周围的上下左右方向的开关会跟着翻转,而且题目中给了提示,任何一个开关,按偶数次和不按的作用是一样的,所以每个开关最多转换一次,问的是如何转换能达到全部都为关闭状态。我们可以知道,任意一个位置的开关由自己和周围的开关共同决定,那么可以对每一个开关建立一个方程,这样就有30个方程,30个未知数,一定有解,利用高斯消元加位运算可以解出每个未知数。View Code 1 #include<iostream> 2 #include<cstring> 阅读全文
posted @ 2012-09-05 11:52
zhenhai
阅读(204)
评论(0)
推荐(0)

浙公网安备 33010602011771号