倍增
文章平均质量分 59
wwt9b15bs
这个作者很懒,什么都没留下…
展开
-
【题解】CH0601 倍增
题目链接 初始化p=1,r=l,求出[l,r+p]这一段区间的“校验值”,若“校验值”≤t,则r+=p,p*=2,否则p/=2,直到p等于零 每次排序时只对新增序列排序,然后合并新旧两段。 代码调试很久不过,去参考了大佬博客,讲解很详细#include<cstdio>#include<cstring>#include<algorithm>us...原创 2018-08-27 15:53:56 · 243 阅读 · 0 评论 -
【题解】洛谷P1081(同CH5701)开车旅行[NOIP2012] 倍增优化DP+离散+链表
题目链接 学习了大佬博客,讲的很好#include<cstdio>#include<algorithm>#include<cmath>#include<climits>using namespace std;#define _rep(i,a,b) fo原创 2018-09-05 07:18:36 · 271 阅读 · 0 评论 -
【题解】洛谷P1613跑路 倍增+floyd
题目链接 感觉自己经常打不中正解,之前看着n的数据范围还愣了……蒟蒻解题历程:管他的先打一波lca再说,然后RE了……打遍dijkstra拿时间来比较,再写个函数得到所有的1,然后样例都没过……再看看数据范围,这么小……然后就知道floyd可做了。初始化用时为INF,记所有距离为2的整数幂的用时为1,枚举幂值s和三个端点,如果两段距离都为2^(s-1),显然可以合成一个2^s,距离值又为1了。这...原创 2018-09-03 06:15:44 · 179 阅读 · 0 评论 -
【题解】牛客OI周赛1-提高组 B.树 树上倍增+组合计数
链接:https://www.nowcoder.com/acm/contest/199/B来源:牛客网学习了大佬代码。对着这份代码看了一个多小时好像有点点明白。大概就是在这头选两个端点在那头选两个端点更新答案(说了等于没说)。选子树内那一头是不能在同一个子节点的子树内部选两个(会多占一些边),选子树外那头也得把共了边的部分减去,保证最后往上跳之后求出来的路径组合长度是在范围内的。#in...原创 2018-10-02 16:21:25 · 392 阅读 · 0 评论 -
【题解】CH5702 Count The Repetitions 倍增优化DP
题目链接描述定义 conn(s,n)conn(s,n)conn(s,n) 为 nnn 个字符串 sss 首尾相接形成的字符串,例如:conn(“abc”,2)="abcabc称字符串 aaa 能由字符串 bbb 生成,当且仅当从字符串 bbb 中删除某些字符后可以得到字符串 aaa。例如“abdbec”可以生成“abc”,但是“acbbe”不能生成“abc”。给定两个字符串 s1s_1s...原创 2018-09-28 23:00:28 · 421 阅读 · 0 评论 -
【题解】[牛客网NOIP赛前集训营-提高组(第七场)]C.洞穴 倍增优化DP+bitset
题目链接#include<cstdio>#include<bitset>using namespace std;const int N=110;int n,m,q;bitset<N>f[N][31];int main(){ //freopen("in.txt","r",stdin); scanf("%d%d",&n,&原创 2018-11-01 10:15:05 · 216 阅读 · 0 评论