http://acm.sjtu.edu.cn/OnlineJudge/problem/1382

注意到 排序之后 i从前向后扫描时,cur恰好是从后向前的,所以即使是双重循环,也是O(n)的算法。

#include <iostream>
#include <algorithm>
using namespace std;int N,S;
unsigned int l[100000+5]={0}; //记录每包的数目bool cmp_int(const int& a, const int& b){return a<b;
}
int main(int argc, char const *argv[])
{cin>>N>>S;//输入for (int i = 1; i <= N; ++i)cin>>l[i];unsigned long long ans = 0;//排序sort(l+1,l+N+1,cmp_int);int cur=N;//i从前向后 cur从后向前  双向扫描for (int i = 1; i <= N; ++i){for(;cur>=1;cur--){if(l[cur]+l[i] <= S)//直到找到刚好可以装入的curbreak;}if(cur<i)break;//下标相减ans += cur - i;}cout<<ans<<endl;return 0;
}

转载于:https://www.cnblogs.com/yuchenlin/p/sjtu_oj_1382.html

【算法学习笔记】65. 双向扫描 SJTU OJ 1382 畅畅的牙签盒相关推荐

  1. 数据结构与算法学习笔记之 提高读取性能的链表(上)

    数据结构与算法学习笔记之 提高读取性能的链表(上) 前言 链表(Linked list)比数组稍微复杂一点,在我们生活中用到最常见的应该是缓存,它是一种提高数据读取性能的技术,常见的如cpu缓存,浏览 ...

  2. 基于MVS的三维重建算法学习笔记(二)— 立体视觉的几何基础总结

    基于MVS的三维重建算法学习笔记(二)- 立体视觉的几何基础总结 声明 概述 1. 常见三维数据类型 2. 三维形状的几种表达形式 3. 三维空间刚体运动 4. 李群和李代数 5. 相机标定 6. 非 ...

  3. 大顶堆删除最大值_算法学习笔记(47): 二叉堆

    堆(Heap)是一类数据结构,它们拥有树状结构,且能够保证父节点比子节点大(或小).当根节点保存堆中最大值时,称为大根堆:反之,则称为小根堆. 二叉堆(Binary Heap)是最简单.常用的堆,是一 ...

  4. Manacher算法学习笔记 | LeetCode#5

    Manacher算法学习笔记 DECLARATION 引用来源:https://www.cnblogs.com/grandyang/p/4475985.html CONTENT 用途:寻找一个字符串的 ...

  5. 数据结构与算法学习笔记之 从0编号的数组

    数据结构与算法学习笔记之 从0编号的数组 前言 数组看似简单,但掌握精髓的却没有多少:他既是编程语言中的数据类型,又是最基础的数据结构: 一个小问题: 为什么数据要从0开始编号,而不是 从1开始呢? ...

  6. 输出dag的所有拓扑排序序列_算法学习笔记(53): 拓扑排序

    拓扑排序是对DAG(有向无环图)上的节点进行排序,使得对于每一条有向边 , 都在 之前出现.简单地说,是在不破坏节点 先后顺序的前提下,把DAG拉成一条链.如果以游戏中的科技树(虽然名字带树,其实常常 ...

  7. 算法学习笔记:对指定金额计算最少钞票数

    算法学习笔记:对指定金额计算最少钞票数 一.引出问题 财务人员给员工发工资时经常遇到这样一个问题,即根据每个人的工资额(以元作为单位)计算出各种面值的钞票的张数,且要求总张数最少.例如,某职工工资为3 ...

  8. matlab中x从0到5不含0,关于MATLAB的数学建模算法学习笔记

    关于MATLAB的数学建模算法学习笔记 目录 线性规划中应用: (3) 非线性规划: (3) 指派问题;投资问题:(0-1问题) (3) 1)应用fmincon命令语句 (3) 2)应用指令函数:bi ...

  9. 机器学习篇01:在线学习的支持向量机算法学习笔记

    在线学习的支持向量机算法学习笔记 oisvm算法实现说明 oisvm算法实现说明 % 本程序是用于实现基于在线学习的调制信号识别的程序 % % % 第一步:调制信号的生成 % 首先是7个信号:2ASK ...

最新文章

  1. 在linux下python爬虫进程发生异常时自动重启直至正常结束的方法
  2. 后盾网lavarel视频项目---phpstorm 配置ftp, 自动更新同步代码
  3. 速递 | 在线教育行业 12 大核心场景案例全解析!
  4. Python中Numpy(2,numpy的基本操作(级联,维度转换,切分,副本))
  5. 解决2次查询User的问题(ThreadLocal)
  6. 全局中断_实时性迷思(3)——80%时间屏蔽了中断,实时性还有救么?
  7. python异常捕获_python 捕获异常
  8. 帝国CMS7.5仿金色财经整站源码+手机端+会员中心+投稿-财经综合门户
  9. python常用的库_这几个常用的python库你需要知道
  10. 【实践】美团到店综合业务场景下的知识图谱构建与应用实践.pdf(附下载链接)...
  11. 佳能9100cdn故障_佳能 打印机故障代码大全
  12. Sendmail在企业网中的应用
  13. day 07总结(数字类型内置方法/字符串类型内置方法)
  14. java可以用var定义吗_浅析java 10中的var关键字用法
  15. SpringMVC中的九大组件
  16. 说下我自己对空号检测的理解跟心得
  17. 网易云课堂 oracle,网易云课堂DBA学习笔记 (一) 数据库基础
  18. python写圣诞祝福_圣诞节啊,用Python写一棵圣诞树出来
  19. 如何查看你的浏览器的Flash版本
  20. 吴恩达深度学习教程中文笔记目录

热门文章

  1. Tableau使用笔记
  2. 深度信念神经网络DBN最通俗易懂的教程
  3. LINUX防御ssh远程暴力破解
  4. 打造全栈安全防护体系,华为云等保合规解决方案帮企业30天过等保
  5. Cluster vs Clustering
  6. python画三维立体图-python绘制三维图
  7. Jenkins使用过程遇到的问题记录
  8. mt6762/mt6765平台i2c驱动能力修改与波形优化
  9. 文创产品的毕业论文设计要怎么写呢?
  10. 动态规划(Dynamic Programming, DP)简介