化妆晚会
来源:互联网 发布:mysql for mac 安装 编辑:程序博客网 时间:2024/04/27 14:37
(分治)化装晚会
题目描述
万圣节又到了!FJ打算带他的奶牛去参加化装晚会,但是,FJ只做了一套能容下两头总长不超过S (1≤S≤1000000)的奶牛恐怖服装。FJ养了N(2≤N≤20000)头按1--N顺序编号的奶牛,编号为i的奶牛的长度为L_i(1≤L_i≤1000000)。如果两头奶牛的总长度不超过S,那么她们就能穿下这套服装。
FJ想知道,如果他想选择两头不同的奶牛来穿这套衣服,一共有多少种满足条件的方案。
输入
第1行是2个整数:N和S;
第2~N+l行每行一个整数:L_i。
输出
1个整数,表示FJ可选择的所有方案数。注意奶牛顺序不同的两种方案是被视为相同的。
样例输入
4 65
3
2
1
样例输出
4
提示
样例说明:4种选择分别为:奶牛1和奶牛3;奶牛l和奶牛4;奶牛2和奶牛4;奶牛3和奶牛4。
AC代码:
#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;int a[20010];int main (){int n,l,count;scanf("%d%d",&n,&l);int i,j;for (i=0;i<n;i++){ scanf("%d",&a[i]);}sort(a,a+n);count=0;for(i=0;i<n-1;i++){for(j=i+1;j<n;j++){ if(a[i]+a[j]<=l) count++; elsebreak; }}printf("%d",count);return 0;}
第一次用了sort函数,觉得真是个好东西。
大体思路:这个题目上写了个分治,但是我还没看分治,我就先把我写的这个贴在这里,这个题我超时两次,第一次直接用的两个for循环,然后判断if满足条件count++,但是现在想这样不超时才怪,然后我就用冒泡排序后再判断,又超时,这时候我才想起来sort函数,虽然没学还c++,但是我见过sort,交了两次才想起来,真是惭愧。
排序后,从第一个数开始,依次向后,1+2,1+3,1+4,1+5...23,24,25...,34,35...这样只要加到某个不合条件,后面的就不需要加了,break即可。
阅读全文
0 0
- 化妆晚会
- 化妆晚会
- 化妆
- 化妆
- 一中OJ #1151 [USACO Jan08] 化妆晚会 | 排序与查找 | 解题报告
- 在化妆学校学习化妆可靠吗靠谱吗
- 毕业晚会
- 中秋晚会
- 新年晚会
- 中秋晚会
- 圣诞晚会
- 晚会动员会
- 毕业生晚会
- 纳凉晚会
- TKD 晚会
- 周末晚会
- 化装晚会
- 毛戈平化妆教程
- java面向对象
- Servlet学习笔记(一)
- 136. Single Number
- 51nod 1428 活动安排问题
- gdb调试libvirt
- 化妆晚会
- webstorm 2017 激活破解
- 数据结构中链表作为函数参数进行传递
- STL学习之一:vector用法示例1
- HDU 6038 Function
- Scanning Strings
- mybatis之入门到开发(五)之 关联查询 一对一 和一对多
- Red-Hat-Linux7添加防火墙开发端口
- 23. 实例 --- 变量