题意:给定一棵树,每个节点是一堆石子,给定两种操作:
1.改变x号节点的石子数量
2.用从x到y的路径上的所有堆石子玩一次Nim游戏,询问是否有必胜策略
Nim游戏有必胜策略的充要条件是所有堆的石子数异或起来不为零
这题首先一看就是树链剖分 然后题目很善良地告诉我们深搜会爆栈 于是我们可以选择广搜版的树链剖分
BFS序从左到右是深搜,从右到左是回溯,一遍BFS就够
单点修改区间查询还可...
分类:
其他好文 时间:
2014-09-02 10:34:04
阅读次数:
334
UVA 10510 - Cactus
题目链接
题意:给定一个有向图,问这个图是否为仙人掌图(一条边不属于两个及以上环)
思路:类似构造scc的dfs,判定方法为:
1、必然是一个强连通分量
2、一个环上的节点必然只能经过一次
那么dfs的时候,只要记录下每个结点的父亲结点,如果遇到一个结点之前遍历过了,那么就回退的找到改结点,把环上的结点都+1(注意当前结点不算,因为...
分类:
其他好文 时间:
2014-09-01 17:49:33
阅读次数:
216
题意:
给一棵树
给出两种操作:
1.在某个结点上加上一个值,在这个结点所有的儿子结点上减去这个值,在这个结点的所有孙子结点上加上这个值,在所有曾孙子结点上减去这个值,直到底。
2.查询某个结点上的值
分析:
把这个问题转化为树状数组的区间求和
样例经过dfs处理后如下,每个结点处理出了两个值l,r,层数1,2,3...,层数为奇数的属性为0,层数为偶数的属性为1
可以看到...
分类:
其他好文 时间:
2014-09-01 14:09:03
阅读次数:
213
Combination Sum II
Total Accepted: 13710 Total
Submissions: 55908My Submissions
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C wher...
分类:
其他好文 时间:
2014-09-01 14:03:23
阅读次数:
188
Combination Sum
Total Accepted: 17319 Total
Submissions: 65259My Submissions
Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where
the ca...
分类:
其他好文 时间:
2014-09-01 12:42:03
阅读次数:
259
题目:UVA10624 - Super Number(dfs)
题目大意:给你n和m要求找出这样的m位数,从第n位到第m位都满足前i位是可以被i整除,如果没有这样的数,输出-1.有多个就输出字典序最小的那个。
解题思路:将每个位置都用0..9枚举一下,注意第一个字符不能是0,然后dfs判断每个位置是否都满足要求。注意这里是会爆long long的,所以要取模一下。本来以为这样的...
分类:
其他好文 时间:
2014-09-01 10:47:33
阅读次数:
243
Combinations
Total Accepted: 18327 Total
Submissions: 60479My Submissions
Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.
For example,
If n = 4...
分类:
其他好文 时间:
2014-09-01 01:40:32
阅读次数:
204
UVA 610 - Street Directions
题目链接
题意:给定一个无向图,要求把尽可能多的边定向,使得形成一个强连通图,输出定向后的图,不能定向的边就变成两条有向边
思路:找出割边,只有割边是需要定成两条的,其他的双连通分量中,边肯定都可以定向,然后在dfs不经过割边打印路径,最后在打印出割边(拆成两条)
代码:
#include
#include
...
分类:
其他好文 时间:
2014-09-01 00:27:52
阅读次数:
274
http://acm.hdu.edu.cn/showproblem.php?pid=4850
题意:构造长度为n的字符序列,使得>=4的子串只出现一次
其实最长只能构造出来26^4+4-1= 456979 的序列,大于该数的都是不可能的。构造方法,就是那种欧拉回路的序列,此题DFS会爆栈,手动扩展栈也可以AC......
递归形式的开始WA了,没有细调就换非递归了,后来又想了想,虽然自己电脑上运行不了,但是先把长度按小的来,然后调试代码,然后在扩大,AC了,当时错在MOD,递归的MOD应该是26^4,而不是...
分类:
其他好文 时间:
2014-08-31 23:02:42
阅读次数:
332
题目链接:点击打开链接
题意:
给定n个点m条边的无向图
问图中是否存在 有且仅有一个简单环和一些树,且这些树的root都在这个简单环上。
瞎写了个点双。。==
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define N 105
#define M...
分类:
其他好文 时间:
2014-08-31 22:57:02
阅读次数:
256