随笔分类 - B 总结
摘要:双指针有两类 一类是指向两段序列 一类是指向一段序列 题目一 题目链接:https://codeforces.com/edu/course/2/lesson/9/1/practice/contest/307092/problem/B 题意:给定 a b 数组 递增排序 问对b中每一个数 有多少个a[
阅读全文
摘要:在二分图中 题目一 染色法 题目链接:https://www.acwing.com/problem/content/259/ 思路:二分check 然后判是否能成为二分图, 大于mid 的边可以不用判 1 #include<bits/stdc++.h> 2 using namespace std;
阅读全文
摘要:总结acwing上的 贪心问题 记下结论即可 左端点升序应该对应右端点降序 左端点降序对应右端点升序 所以 只需要猜 左端点/ 右端点升序即可 而不用猜四种 1.区间选点问题,选最少的点使得每个区间至少包含一个点 思路:右端点升序排序,没有被覆盖的右端点全部选上 题目链接:https://www.a
阅读全文
摘要:acwing 树状数组 线段树 题目链接:https://www.acwing.com/problem/content/245/ ###K 类似于已知逆序对 还原原数组的过程, 从倒序开始还原, 本质是求数组中的第k小值 那么用树状数组的话就需要通过二分来做, 通过query(mid)>=k 来一直
阅读全文
摘要:并查集总结 维护连通块的数量的话 可以在修改f[t1]=t2的时候 让sum[t2]+=sum[t1] 即可 在维护每个点到根节点的距离的时候 需要在并查集的过程中维护 即 t=f][x] d[x]+=d[t] 题目链接:https://www.acwing.com/problem/content/
阅读全文
摘要:背包问题总结 当空间优化为一维后的限制 除了完全背包 和多重背包的单调队列优化写法 其他的背包问题 体积都是从大到小循环的 体积至多为v 一般的背包问题 体积恰好为v 除了dp[0]外 其他初始化为无穷即可 体积至少为v 除了dp[0]外 其他初始化为无穷 更新的时候 j-w[i] 可以是负数也可以
阅读全文
摘要:转换成 状态机的 线性dp来写 状态机转移 只会从i-1来 题目一 题目链接:http://noi.openjudge.cn/ch0206/8462/ 同样可以根据 当前有抢劫/无抢劫 画出状态机图 抢 -> 没抢 没抢->没抢 没抢->抢 画出这个环形图即可 不要忘记边权 1 #include<b
阅读全文
摘要:数位dp题目总结 一 题目链接:https://vjudge.net/problem/URAL-1057 题意:求[l,r] 区间内满足条件的整数个数 这个数恰好等于K个不相等的B的整数次幂的和 1 #include<bits/stdc++.h> 2 #define ll long long 3 #
阅读全文
摘要:此处总结的是 矩阵类地图和LIS LCS问题 何时能用: dp一定是最优解 因为dp是得到了所有的情况 只不过取了最优的答案,所以三种属性一定满足,即 数量/max/min 也可以用来判断是否存在的合法性 见题目3 即dp[i][j]=1 即代表这个状态的合法 注意dp得到了模型之后,下次再见到类似
阅读全文
posted @ 2020-11-16 16:06
canwinfor
摘要:期望dp 只能逆推 概率dp 只能顺推 附上大佬的博客链接:https://www.cnblogs.com/fusiwei/p/11743090.html 大佬的题目集: https://www.cnblogs.com/hua-dong/p/8166093.html 经典的邮票收集问题 https:
阅读全文
posted @ 2020-11-03 13:11
canwinfor
摘要:len=i-next[i] 等价于 以i为终点的最小循环节长度 假设 总长为n 如果len能整除n 说明周期为n/len 否则 差几个就补几个就能达到一个周期 即 ans= (len-n%len)%len 题目链接:https://vjudge.net/contest/394060#problem/
阅读全文

浙公网安备 33010602011771号