随笔分类 -  AL-倍增

摘要:【恢复计划】CF ROUND 620 div2 简要题解 找神腮要了一个简单场 A - Two Rabbits 判断$(a+b)|(x-y)$​就行了 //@winlere #include<iostream> #include<algorithm> #include<cstdio> #includ 阅读全文
posted @ 2021-08-07 17:34 谁是鸽王 阅读(52) 评论(0) 推荐(0) 编辑
摘要:【题解】CF1142B Lynyrd Skynyrd(倍增) 调了一个小时原来是读入读反了.... 求子段是否存在一个排列的子序列的套路是把给定排列看做置换,然后让给定的序列乘上这个置换,问题就转化为最长上升序列。这是因为一个数的前驱后继是唯一的。 这一题稍微改变了一下,我们要求的是类似于$4\qu 阅读全文
posted @ 2019-11-06 21:57 谁是鸽王 阅读(166) 评论(0) 推荐(0) 编辑
摘要:【题解】HDU Homework(倍增) 矩阵题一定要多多检查一下是否行列反了... 一百个递推项一定要存101个 说多了都是泪啊 一下午就做了这一道题因为实在是太菜了太久没写这种矩阵的题目... 设一个行向量$e$,和一个增逛矩阵$A$,他们咋定义的见我那篇讲线性递推博客 现在我们再预处理$st$ 阅读全文
posted @ 2019-09-20 21:22 谁是鸽王 阅读(190) 评论(1) 推荐(0) 编辑
摘要:【题解】Coins(二进制拆分+bitset) "【vj】" 俗话说得好,bitset大法吼啊 这道题要不是他多组数据卡死了我复杂度算出来等于九千多万的选手我还不会想这种好办法233 考虑转移的实质是怎样的,就是对于一个$dp$数组表,平移$val_i \times num_i'$位然后异或起来,这 阅读全文
posted @ 2019-05-15 13:28 谁是鸽王 阅读(334) 评论(0) 推荐(1) 编辑
摘要:【题解】 " P3626 [APIO2009\]会议中心" 真的是一道好题!!!刷新了我对倍增浅显的认识。 此题若没有第二份输出一个字典序的方案,就是一道$sort+$贪心,但是第二问使得我们要用另外的办法。 考虑到题目的性质,贪心地想,假如我们已经选择了区间$i$,我们就可以~~盖将自其变者而观之 阅读全文
posted @ 2019-02-14 16:44 谁是鸽王 阅读(351) 评论(7) 推荐(0) 编辑
摘要:【题解】 " P1613 ~~鸽王~~跑路" 一道思维好题! 考虑$2^k$的传递性。直接64遍$floyd$求所有$2^k$的路径,转移方程是 $dp(i,j,k)=[dp[i][t][k 1]$&&$dp[t][j]][k 1]$ 有了这个之后先$O(n^3)$预处理,然后根据这样的数组直接建边 阅读全文
posted @ 2019-01-29 14:26 谁是鸽王 阅读(145) 评论(0) 推荐(0) 编辑
摘要:【题解】 " P1198 [JSOI2008\]最大数" 正难则反,意想不到。 这道题是动态让你维护一个数列,已经在数列里面的数据不做改变,每次在最后加上一个数,强制在线。 既然正着做很难,考虑如果 时间倒流 ,不会改变之前的维护的任何数据结构。于是我们反着维护一个St表。 cpp include 阅读全文
posted @ 2019-01-23 11:59 谁是鸽王 阅读(197) 评论(0) 推荐(0) 编辑
摘要:算法:最小生成树,树上倍增。 这道题要先知道一个结论,那就是货车走过的道路一定是在最大生成树上面的,证明可以使用反证法。十分显然。 之后,我们得到一棵树之后,就可以树上倍增了。我们同时维护一个lca数组和一个ans数组,分别用来表示从它开始第$2^k$父亲的节点和到父亲节点这么多地方最小的边权。到时 阅读全文
posted @ 2019-01-23 11:37 谁是鸽王 阅读(180) 评论(0) 推荐(0) 编辑