随笔分类 - 算法竞赛 / 题解 / 洛谷
何时才能成为巨犇!
摘要:洛谷题单 【数据结构2-1】二叉堆与树状数组 P1878 舞蹈课 优先队列+模拟 题目链接 每次要取出最小值,考虑用优先队列维护。维护出跳舞的两个人的 以及技术相差值。 然后每次取出队头元素,判断左右两边的是否可以构成新的舞伴加入优先队列即可。 注意:每个人只能和一个人组成舞伴,所以要
阅读全文
摘要:洛谷题单 算法2-3 字符串 KMP模板 使用前保证字符串下标从 开始。e.g. s="?"+s; template<class Type> struct KMP{ vector<int> init(Type s){ int n=(int)s.size()-1; vector<int>
阅读全文
摘要:洛谷题单 算法2-3 分治与倍增 P2345 [USACO04OPEN] MooFest G 树状数组 题目链接 思路: 让我们求所有两两之间 的值之和。 经典思路,考虑每个数对答案的贡献。对于每个数 ,会产生所有比 \(v
阅读全文
摘要:洛谷题单 算法2-2 常见优化技巧 单调栈 单调栈最经典的应用,就是在一个数列里寻找距离元素最近的比其大/小的元素位置。 模板题,寻找每个元素右边第一个比它大的元素下标。 stack<int> s; for(int i=n;i>=1;i--){ while(s.size()&&a[s.top()]<
阅读全文