随笔分类 -  DFS

摘要:首先,块的大小确定的话,可以发现方案最多只有1种 然后就可以O(nsqrt(n))搞,不过会TLE 接着我们又发现,一个节点可以作一个块的根,当且仅当该节点的size能被块的大小整除 然后就可以O(nlogn)搞了 阅读全文
posted @ 2016-08-11 15:16 Yangjiyuan 阅读(124) 评论(0) 推荐(0)
摘要:dfs,连边,边权为比值,赋值搜索,遇到矛盾时退出 阅读全文
posted @ 2016-05-31 20:37 Yangjiyuan 阅读(224) 评论(1) 推荐(0)
摘要:记忆化搜索 阅读全文
posted @ 2016-05-31 19:30 Yangjiyuan 阅读(125) 评论(0) 推荐(0)
摘要:题目意为:给一颗二叉树,每一次操作可以交换该子树的左右两颗子树,要将该树变为完全二叉树,求最小操作次数。从根开始进行一遍DFS。记录每棵子树的大小size,如果左子树的size小于右子树的size那么答案+1。实际上并不需要真的将两颗子树交换。接下来就是处理无解的情况了。我们进行分类讨论。 1. 由 阅读全文
posted @ 2016-05-14 10:47 Yangjiyuan 阅读(326) 评论(0) 推荐(0)
摘要:首先可以知道,如果已知第一行和第一列的数,那么可以很容易的计算出其余的数。进一步的,如果笔算将每个数的表达式写出可以得出如下结论: 第i行的第j个数(i>1,j>1)只与(1,1),(i,1),(1,j)有关 更数学化地说,设输入矩阵为S,定义C如下: C(i,j)=0 i=1或j=1 S(i,j) 阅读全文
posted @ 2016-03-25 20:59 Yangjiyuan 阅读(643) 评论(0) 推荐(0)
摘要:显然我们取的肯定是前ans块木板。然后砍的木材也应该是从小到大砍(如果小的木材可以满足条件,就一定不会去动大的木材) 所以两遍排序。 二分答案。 然后对于要取的每块木板,我们搜索它是在第x块木板上砍下来的。。 要加剪枝: ①如果砍下了这块木材然后这块木材小于第一块木板,那就失去价值,用t来记录。当t 阅读全文
posted @ 2016-03-25 20:54 Yangjiyuan 阅读(172) 评论(0) 推荐(0)