当前位置: 首页 > news >正文

常见优化技巧 - L

常见优化技巧

  • P1102 A-B 数对

    因为 \(a-b=c\),所以 \(a+c=b\),也就是对于每个数组内的 \(a\),要找出所有等于 \(a+c\) 的元素个数。

    因此可以对数组进行排序,再写两个二分方法,分别查询第一个合法元素和最后一个合法元素,通过两方法返回的索引之差计算元素个数,然后累加答案即可。

    同样地,我们可以使用库内置的二分方法。

    upper_bound(a+1,a+1+n,k) 返回最后一个元素值等于 k 的下一位索引, lower_bound(a+1,a+1+n,k) 返回第一个元素值等于 k 的索引。

  • P1638 逛画展

    因为我们要看到所有画师的画,所以可以维护一个区间,用一个桶记录该区间内画师的画的数量。

    可以先设置区间的左右端点(即左右指针)均为 1,并维护一个计数器,表示目前区间内画的种类数,接着重复执行以下步骤:

    • 每次r向右移动,将新画加入区间。如果这个画家是第一次出现,计数器自增;
    • 在准备将左指针l向右移动时,如果当前画作a[l]在区间中只有1幅,那么可以将计数器自减,维护计数器表示的意义永远是画的种数
    • 尝试将左指针向右移动;
    • 如果移动后仍然包含所有画家,继续移动;
    • 如果移动后缺少某个画家,回退一步并退出循环;
    • 如果计数器等于画的种类总数,则更新答案。
  • P2671 [NOIP 2015 普及组] 求和

    推式子发现 \(x\)\(z\) 同号,与 \(y\) 没有关系。

    进而把每个颜色种类按照奇偶性再分类,最后把奇数产生的分数和偶数产生的分数加起来即可。

    再推式子,发现一个前缀和,可以优化。

  • P2866 [USACO06NOV] Bad Hair Day S

    开一个单调栈,从栈底到栈顶单调递减。

    如果一个元素要入栈,并且栈顶的元素小于或等于该元素,那么弹栈,直到栈顶的元素大于该元素,并将该元素入栈。

    将每个元素入栈时,都将栈的大小累积到答案里。

  • P2032 扫描

    滑动窗口维护区间最值板子。

    背下来吧。

http://www.jsqmd.com/news/28260/

相关文章:

  • 2025年诚信的全屋定制门墙柜最新TOP厂家推荐
  • 问题解决
  • 2025年优质的湖北大米厂家最新TOP推荐榜
  • 2025年有实力注册公司优质商家推荐
  • 2025年热门的品牌内衣厂家推荐及采购指南
  • 2025年靠谱的屋面树脂瓦厂家推荐及采购指南
  • 2025年帮我推荐几家抖音运营年度热榜
  • 手把手教你在Mac上安装Python 3.8.4:从下载.dmg到验证成功
  • 2025年专业的1688运营人气推荐榜
  • 2025年正规的广东阿里巴巴运营精选推荐榜
  • 2025年靠谱的物流热销口碑榜
  • 2025年热门的别墅装修管理方案口碑信赖榜
  • 2025年比较好的短视频制作热销服务榜
  • 使用微信编辑器时如何授权绑定公众号?
  • Javascript对象遍历方式
  • 2025年企业谷歌优化热门选择榜
  • 2025年比较好的网站建设行业权威榜
  • 2025年11月网上兼职赚钱正规平台推荐:市场报告与选择指南 ,
  • 2025年正规的餐饮设计高评分口碑榜
  • 2025年正规的网站建设高评分口碑榜
  • 2025年有能力的短视频拍摄用户推荐榜
  • 2025年专业的景区策划实力机构权威推荐榜
  • 2025年11月印刷厂推荐:知名主流榜单选择全攻略
  • 2025年正规的装修全屋定制行业口碑排行榜
  • 2025年知名的应届生云计算就业高薪岗位榜
  • 2025年11月印刷厂推荐:行业口碑评价与排行榜指南
  • 2025年比较好的茶饮喝茶果茶饮品最新TOP排名
  • 函数版 任务1 任务2 任务3 最终版 2025/11/1 9:44
  • 2025年11月铝材厂家推荐:主流厂家评测与选择避坑
  • 2025年靠谱的指示系统设计公司最新评价高榜联系电话