4812专题

【HDU】4812 D Tree 点分治

传送门:【HDU】4812 D Tree 题目分析:点分治搞之。乘积等于K的路径。 首先我们定义一个path[ i ]用以记录从根结点x在子树x内的第 i 条路径的值(乘积)。然后每次我们搞完当前重心rt的一棵子树以后,我们用判断K*逆元[ path[ i ] * val[ rt ] %MOD ] % MOD 是否存在来确定乘积为K的路径是否存在,然后再用这个path[ i ]去更

HDU 4812 D Tree 点分治 + 逆元

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5977 题目要求在树上找到一条链使得这条链上的点的乘积模mod等于k,求链首尾字典序最小的一条 看到题目就能知道是一个点分治的题目,将树按照重心分治之后,就是要统计以重心为根的子树中,过树根的mod为k的链字典序最小的一条,这里的统计必需是在时间复杂度O(n) 以下才能过 代码: #pragma

【2013南京区域赛】部分题解 hdu4802—4812

上周末打了一场训练赛,题目是13年南京区域赛的 这场题目有好几个本来应该是我擅长的,但是可能是太久没做比赛了各种小错误代码写的也丑各种warusn trush搞得人很不爽 全场题之一的1002也没有想出来,最终只出了三题连铜牌线都没有达到,心好累 赛后又补了三道题,还是写一下题解毕竟好久都没写了   1001: 全场题,队长秒过 代码: #include <iostream>#in