TC SRM628 DIV1

----------------------------------------------------------
1000太难了就没做_(:3 」∠)_
 
----------------------------------------------------------
250:
首先枚举一下$x=log_{k}n$(2<=k<=63)
然后暴力验证一下x的约数个数就可以了
然后当时我想着x有可能有10^9那么大,要是质数是不是就跑不出来了啊
然后就写了个miller-robin先判一下是不是质数
后来仔细一想发现自己逗比了...
----------------------------------------------------------
500:
刚开始想了好久,感觉像是什么神DP之类的...
后来发现这不是SB题么...
这迷之数据范围啊
首先根据输入的线圈可以建一棵满二叉树,每个非叶子节点的权值要么是两个儿子之和(A),要么是两个儿子取最大值(B)
而叶子节点的权值是需要分配的,使得根的权值最大
然后设f(x)表示节点x最多能吃到几个叶子节点的权值
那么显然有:(设x的两个儿子是lx,rx)
f(x)=1                (x是叶子节点)
f(x)=f(lx)+f(rx)      (x是A型节点)
f(x)=max{f(lx),f(rx)} (x是B型节点)
 
然后r=f(根)就是根能吃到的叶子节点数,把前r大的权值分给这些叶子节点就行了(不需要知道具体是哪些节点,只需要知道他们的和就行了)
----------------------------------------------------------
1000:
以后要是想做了做了再来写吧...
----------------------------------------------------------