摘要:
a . You Are Given Two Binary Strings... 二进制乘法和十进制一样,列下竖式或者直接根据二进制定义乘一下,就会发现这个乘2^k就是把f(y)左移k位,然后观察一下就会发现只要把f(y)的最低位1 与 f(x)中向左最靠近它的那一位的1 对齐就行 b.You Are 阅读全文
摘要:
6629 string matching 题意:给定一个字符串s,求s与自身所有前缀暴力匹配所需匹配次数 分析:每个前缀匹配次数即自身长度,exkmp的next数组记录的就是与自身最大匹配前缀的长度,加一遍就行,注意边界 代码: #include<cstdio> #include<iostream> 阅读全文
摘要:
字典树是一种很简单的数据结构,就是将字符串存在书上,相同前缀进行压缩 模板题:http://acm.hdu.edu.cn/showproblem.php?pid=1251 #include<bits/stdc++.h> #define fi first #define se second #defi 阅读全文
摘要:
两道题 1.edu 25 D. Suitable Replacement 题意:给定字符串s,t,s中‘?’字符可以以任何字符替换,问如何替换 可使 替换后的s重新排序与t的匹配次数最多(len_t<len_s) 分析: 1.比赛时又用贪心模拟结果把自己写死了啊啊啊 2.一些贪心的题可以用二分做,而 阅读全文
摘要:
题意:边权树链剖分 ,三种操作 1.CHANGE把第i条边的权值改为a 2.NEGATE把第a个点到第b个点的边的权值全部取相反数 3.QUERY求第a个点到第b个点的最大边权。 分析: 这次是没看板子自己默的树链剖分哈哈 意料之中的出现了错误: 1.链式前向星用的不熟,之前都是vector存边的 阅读全文
摘要:
题意: 给定一棵含n个结点的树和树的边权,共有q次操作,分为两种 0 c :求从位置s到c的距离,然后s变成c 1 a b:把第a条边的权值变为b 边权处理一般有两种方案: 1.化边为点 即将所有的n-1条边上都增加一个节点,点权即边权,再有2n-1个节点的新树上进行点权的树链剖分即可 (一般不用 阅读全文
摘要:
详解:https://www.cnblogs.com/ivanovcraft/p/9019090.html 树链剖分的本质是序 以尽量走重链为序,使一棵树的结点尽量集中地分解成较少的链,而链作为连续的数据结构是易于维护的 剖分的过程有两遍dfs : dfs1:找出重结点 ,确立各个点的深度 ,这个过 阅读全文
摘要:
一个不错的树链剖分文章,码一下: https://www.nowcoder.com/discuss/175445?type=101 阅读全文
摘要:
1008 K-th Closest Distance(在线查询,二分+主席树 题意:给定数组a ,每次查询给定l,r,p,k ,求l~r区间内第k小的距离|p-ai|,强制在线查询:每次给定的四个参数必须异或上一次的查询结果ans; 分析: 1.求期间第k大用主席树 2.绝对值不是一个很好处理的东西 阅读全文
摘要:
因为太菜了,前几场的题都没补,从今天开始慢慢补 以后晚上要早睡,早上早起,抽出时间看书,每天只肝一局杀戮尖塔,上床不玩手机 每周五把一周总结的板子打印下来,毕竟老年人记性 补题顺序按难度升序 1001 AND Minimum Spanning Tree 题意:定义边的权值为两结点的&和,构造字典序最 阅读全文