11 2015 档案

摘要:这种情况一般发生在“在静态方法里面使用内部类”测试代码:public class Test { public static void main(String[] args) { A a = new A(1); } class A { int x; public A() {} public A... 阅读全文
posted @ 2015-11-19 12:21 jklongint 阅读(766) 评论(0) 推荐(0)
摘要:题意:给一个N个带权节点的树,权值以给定的K个素数为因子,求路径上节点乘积为立方数的路径条数思路:立方数的性质是每个因子的个数为3的倍数,那么每个因子只需要保存0-2三个状态即可,然后路径就可以转化为一个K位3进制数,点分治后,便可以用一个map来查询路径经过根的答案。代码与上一题(poj1741)... 阅读全文
posted @ 2015-11-12 20:40 jklongint 阅读(352) 评论(0) 推荐(0)
摘要:题意:给一个N个节点的带权树,求长度小于等于K的路径条数思路:选取一个点作为根root,假设f(root)是当前树的答案,那么答案来源于两部分:(1)路径不经过root,那么就是完全在子树内,这部分可以递归统计(2)路径经过root,这部分可以通过容斥原理统计,具体见有关点分治资料。。。点分治有个特... 阅读全文
posted @ 2015-11-12 19:38 jklongint 阅读(513) 评论(0) 推荐(0)
摘要:题意:树的重心定义为树上的一个点把这个点删掉后形成的若干棵子树中节点数的最大值最小。求树的重心和那个最小值思路:考虑dfs,当根从fa转到cur时,那么fa以及fa除cur以外的其它子树变成cur的一个儿子,它的大小为N-sizeof(cur)。其它的递归统计即可。#include #include... 阅读全文
posted @ 2015-11-10 01:59 jklongint 阅读(311) 评论(0) 推荐(0)
摘要:题意:要求在一棵N(#include #include #include using namespace std;#define X first#define Y second#define pb(x) push_back(x)#define mp(x, y) make_pair(x, y)#def... 阅读全文
posted @ 2015-11-09 17:49 jklongint 阅读(317) 评论(0) 推荐(0)
摘要:题意:给n个数字串,求它们的所有不包含前导0的不同子串的值之和思路:把数字串拼接在一起,构造SAM,然后以每个状态的长度len作为特征值从小到大排序,从前往后处理每个状态,相当于按拓扑序在图上合并计算答案。#include using namespace std;#define X first#de... 阅读全文
posted @ 2015-11-06 04:39 jklongint 阅读(370) 评论(0) 推荐(0)
摘要:题意:给出串A和串集合B={B1,B2,...,Bn},求串A的所有不同子串中不是B中任一串的子串的数目。思路:把A和B中所有字符串依次拼接在一起,然后构造后缀自动机,计算每个状态的R集合元素的最大值r,然后统计那些r≤length(A)的状态。hdu不卡时间卡空间,这是最郁闷的。。。导致下面的程序... 阅读全文
posted @ 2015-11-06 04:10 jklongint 阅读(273) 评论(0) 推荐(0)
摘要:题目原意:给一棵n个点的树添加边,给定度函数f(d)为一个点的度的函数,求所有点的度函数的和思路:函数只与点的度有关,而与点无关,n个点的树有n-1条边,共产生2(n-1)个度,每个点至少有1个度。可以证明,一个合法的分配方式对应一棵树那么先对每个点各分配1个度,考虑把n-2个度分配给n个点由于结果... 阅读全文
posted @ 2015-11-01 20:11 jklongint 阅读(605) 评论(0) 推荐(0)