倍增算法
cervoliu
这个作者很懒,什么都没留下…
展开
-
JZOJ 4295【NOIP2015模拟11.2】愉快的logo设计
DescriptionK理事长正在思考日本信息学奥林匹克竞赛选手的应援道具的logo问题。某天,K理事长突发奇想,想要设计一个用’J’,’O’,’I’三种文字环形排列的logo,意为希望选手能从JOI中收获快乐的意思。 (注:“环形地”在日文中的表述为“円状に”,“円”读作“en”,再加上“JOI”三个字即为“enjoy”……) 如下所示,对于任意非负整数k,我们定义标号为k的JOI序列Sk为:原创 2016-04-08 19:40:20 · 489 阅读 · 0 评论 -
【COCI2014】utrka
Description给定一个带权有向图,边权可能为负,输出边数最小的正环,并保证边数最小的情况下使环内边权和最大,输出最大边权和。 2<=N<=300,2<=M<=N*(N-1)Analysis并不知道SPFA能不能做,好像是水法 弄一个邻接矩阵Ak[N][N]A^k[N][N],我们可以像矩阵乘法一样乘法若干次,求出某点走若干步到某点的最长路,那么AkA^k就表示乘了k次 于是,朴素想法可原创 2017-03-10 12:39:34 · 461 阅读 · 0 评论 -
【JZOJ 5403】 Lost My Music
Description n<=5∗105,ci<=109n<=5*10^5,ci<=10^9凸壳将dis(u,v)写成dep[u]-dep[v],这就是个斜率的形式 手动脑补一下可以发现我们只需要维护根到当前点u的一个凸壳,即可算出答案 暴力弹栈,暴力加入复杂度是O(n^2)的,我们需要优化倍增记录每个点在凸壳上的前一个点,于是我们不需要暴力弹栈,可以倍增二分判断 成功将复杂度优化为O(nl原创 2017-10-09 21:46:08 · 701 阅读 · 0 评论