ur c题练习

ur的c果然sxbk啊

ur5:“三个莫比乌斯反演掷地有声"——摘自v(c)f(z)k(y)语录,无删改

ur2:有根树分治裸题,复杂度玄学$O(n\sqrt{n})$。

首先,转化为统计k的倍数的个数。

经过重心C的路径分两种情况:(设n为当前树的大小)

1、在C的子树中,直接O(n)计算;

2、一个在C的子树中,另一个不在,则枚举路径的lca=p,计算出p的不在C到当前分治结构的根的路径上的孩子的子树中深度为每个数的倍数的个数,再计算C的孩子到p的长度为p倍数的个数。考虑算法复合,若当前枚举的深度d小于 $\sqrt{H}$那么记忆化,否则直接暴力在C的子树中找深度符合要求的点的个数,复杂度$O(n\sqrt{n})$。

根据主定理,总复杂度$O(n\sqrt{n})$。随便写写居然在uoj上时间rank1。。。

ur4: 熟练剖分+堆

好像上面五个字就够了

卡内存sxb(x2)k,priority_queue只有97分,手写堆才能a

ur6: 大劼论题。我怎么会告诉你这题就是求反图末端dag的每个点的能直接或间接到它的点的个数呢(第一问为sigma(2^个数-1)*2^(dag点数-个数),第二问为sigma(2^(dag点数-个数))。不压行代码长度都最短吼评

ur7:大picks论题+树形dp,不过做法还是十分巧妙,题解戳这里代码长度最短吼评,同样的代码连跑5遍一遍时间比一遍长不明真相。

一天刷三道ur c题真是酸爽。。。

 

ur1: 卡了三天的仙人掌题。。。

一开始看大家代码都>7k,我一脸害怕,等a了再看一看好像只要3.7k就够了。

裸的仙人掌点分治套fft,每个当前分治重心维护当前分治结构根出发的路径多项式和根到重心的路径多项式。暴力上fft即可。

卡常书sxbk,需要读入优化+inline+小范围用暴力替代fft才能过

代码长度最短+时间第二短吼评

 

ur11:复杂度O(跑得过)的segment tree beats。照着劼劼劼的ppt写的,无穷大开小了只有97分?丢雷楼某啊

ps:为什么关键过程照着劼劼劼写的跑的还比他快?

posted @ 2016-04-20 22:24  shanquan2  阅读(414)  评论(3编辑  收藏  举报