博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【算法学习笔记】65. 双向扫描 SJTU OJ 1382 畅畅的牙签盒
阅读量:6500 次
发布时间:2019-06-24

本文共 708 字,大约阅读时间需要 2 分钟。

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

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

#include 
#include
using namespace std;int N,S;unsigned int l[100000+5]={
0}; //记录每包的数目bool cmp_int(const int& a, const int& b){ return a
>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) //直到找到刚好可以装入的cur break; } if(cur

 

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

你可能感兴趣的文章
java 反射
查看>>
ASP.NET Core Web API 与 SSL
查看>>
思维体系---技术思维、业务数据思维、产品思维、复合思维
查看>>
强大的原生DOM选择器querySelector和querySelectorAll
查看>>
Monkey测试命令【学习笔记】
查看>>
MySQL表结构变更,不可不知的Metadata Lock
查看>>
LeetCode - 766. Toeplitz Matrix
查看>>
基于Docker的UI自动化初探
查看>>
生产BackPressure 的代码
查看>>
秒懂,Java 注解 (Annotation)你可以这样学
查看>>
七月随想
查看>>
(原創) 如何使用C#與DrectDraw在Windows模式下繪製矩形? (.NET) (DirectX)
查看>>
[关注]Visual Studio 2010 和 .NET Framework 4.0 专题
查看>>
信息系统开发平台OpenExpressApp - 支持差异保存
查看>>
linux下的webserver BOA及CGIC库的使用指南(转帖)
查看>>
[zz]在linux中出现there are stopped jobs 的解决方法
查看>>
Delphi下实现全屏快速找图找色 一、数据提取
查看>>
Dissecting a C# Application: Inside SharpDevelop Announcement
查看>>
查询表字段信息
查看>>
Mysql中文输入出现1366错误的解决办法
查看>>