08 2017 档案

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2419 给一个图,预分配点值。随后有三种操作,F u v查询与u联通部分大于等于v的最小的数,没有则返回0,U u v更新u的值为v,E u v删除u-v的边。 联通块可以用并查集解决,但是删边无法处理。因为没有加 阅读全文
posted @ 2017-08-30 15:41 Luke_Ye 阅读(183) 评论(0) 推荐(0)
摘要:给定A,B,对于A^B的每一个因子,M为其因子的因子数的三次方求和。 容易推导得出A^B的每一个因子都是A的质因子的组合(质因子可重复利用),其因子数自然等于所使用的每个质因子的数量乘积。 假设A由质因子a1,a2,a3组合而成,对应数量为k1,k2,k3,那么A的因子数为(k1+1)*(k2+1) 阅读全文
posted @ 2017-08-30 11:35 Luke_Ye 阅读(268) 评论(0) 推荐(0)
摘要:#include #include #include #include #include #include #include #include #include #include #include #define LL long long using namespace std; const LL MAXN = 550; const LL INF = 1000000009; LL n, m, e... 阅读全文
posted @ 2017-08-30 10:20 Luke_Ye 阅读(365) 评论(0) 推荐(0)
摘要:将一棵树剖分成log条树链,用数据结构维护每一段树链,操作复杂度从n降为log(n)*log(n). 阅读全文
posted @ 2017-08-27 10:21 Luke_Ye 阅读(174) 评论(0) 推荐(0)
摘要:补充中 阅读全文
posted @ 2017-08-25 14:56 Luke_Ye 阅读(121) 评论(0) 推荐(0)
摘要:另一种更快的 阅读全文
posted @ 2017-08-24 10:05 Luke_Ye 阅读(215) 评论(0) 推荐(0)
摘要:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1810 题目给出一个1~n的排列,问有多少连续区间。连续区间的定义为区间内元素排序后之间间隔为1。 对于一个区间[l,r],令mid=(l+r)/2,我们如果能在O(n)内 阅读全文
posted @ 2017-08-23 23:30 Luke_Ye 阅读(338) 评论(0) 推荐(0)
摘要:dp[n][2],维护儿子的联通块数量和父亲的联通块数量。 第一遍dfs求儿子,第二遍dfs求爸爸。 阅读全文
posted @ 2017-08-18 19:32 Luke_Ye 阅读(237) 评论(0) 推荐(0)
摘要:题目给出一棵树,求切出一棵节点数为p的新树最少要切多少条边。 比较明显的树形DP,dp[i][j]为第i个节点为根的子树具有j个节点最少要切的边数。 初始化的时候不应该考虑子树需要切断与父亲的边才能成树这一情况,因为dp在转移的时候是把子树当成与当前节点连接着来考虑的,这样写起来更加方便。最后更新a 阅读全文
posted @ 2017-08-09 16:40 Luke_Ye 阅读(167) 评论(0) 推荐(0)
摘要:题目意思是计算所有路径(n*(n-1)/2)经过的不同颜色的数目和。 这个数目和可以转化为每种颜色经过的路径数目的求和,而这个求和又等价于颜色总数*n*(n-1)/2-没有经过某种颜色的边的数量的求和。 没有结果某种颜色的数量等价于由此颜色的节点将树拆分出多个联通块,每个联通块的节点数为k,则边数为 阅读全文
posted @ 2017-08-01 21:02 Luke_Ye 阅读(185) 评论(0) 推荐(0)