随笔分类 -  算法竞赛 / 题解 / 洛谷

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

点击右上角即可分享
微信分享提示