codeforce 589B枚举
2017-08-25 12:00:53
writer:pprp
很简单的枚举,但是我调试了很长时间,出现各种各样的问题
/*
theme:cf 589B
writer:pprp
declare:枚举
date:2017/8/25
*/ #include <bits/stdc++.h> using namespace std;
const int N = ;
typedef long long ll;
ll ans = -, record_w = -, record_h = -; class rect
{
public:
int w;
int h; bool operator <(const rect & r2)
{
return w < r2.w;
} }; rect rec[N]; int main()
{
int n;
scanf("%d",&n); //input section
for(int i = ; i < n ; i++)
{
scanf("%d%d",&rec[i].w, &rec[i].h);
//w is bigger than h
if(rec[i].w > rec[i].h) //w > h??
swap(rec[i].w,rec[i].h);
}
//sort the w
sort(rec,rec + n); //define a vector to store the height
vector<int> hh; //从小到大枚举w的长度
for(int i = ; i < n ; i++)
{
hh.clear();
//将宽度高于w的对象的h储存在vector中
for(int j = i ; j < n ; j++)
hh.push_back(rec[j].h);//一开始这里写成i了粗心犯的错 //对高度进行排序
sort(hh.begin(), hh.end()); //记录当前高度
int len = hh.size(); //枚举当前w的情况下,采用不同的h的最佳解
for(int j = ; j < hh.size() ; j++, len--)
{
ll cmp = (ll)rec[i].w * hh[j] * len; //wrong before: (ll)(rec[i].w * hh[j] * len) 这样就会越界,这个错误是调试出来的,如果都是ll就会溢出
if(cmp > ans)
{
ans = cmp;
record_h = hh[j];
record_w = rec[i].w;
}
}
}
cout << ans << endl;
cout << record_w << " " << record_h << endl; return ;
}
codeforce 589B枚举的更多相关文章
- codeforce Pashmak and Buses(dfs枚举)
/* 题意:n个同学,k个车, 取旅游d天! 要求所有的学生没有两个或者两个以上的在同一辆车上共同带d天! 输出可行的方案! 对于d行n列的矩阵,第i行第j列表示的是第i天第j个同学所在的车号! 也就 ...
- codeforce No to Palindromes!(枚举)
/* 题意:给定一个字符串中没有任何长度>1的回文子串!求按照字典序的该串的下一个字符串 也不包含长度>1的任何回文子串! 思路:从最低位进行枚举,保证第i位 不与 第 i-1位和第 i- ...
- Codeforce 733B - Parade (枚举)
Very soon there will be a parade of victory over alien invaders in Berland. Unfortunately, all soldi ...
- Two progressions CodeForce 125D 思维题
An arithmetic progression is such a non-empty sequence of numbers where the difference between any t ...
- Swift enum(枚举)使用范例
//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...
- 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)
建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...
- Objective-C枚举的几种定义方式与使用
假设我们需要表示网络连接状态,可以用下列枚举表示: enum CSConnectionState { CSConnectionStateDisconnected, CSConnectionStateC ...
- Help Hanzo (素数筛+区间枚举)
Help Hanzo 题意:求a~b间素数个数(1 ≤ a ≤ b < 231, b - a ≤ 100000). (全题在文末) 题解: a~b枚举必定TLE,普通打表MLE,真是头疼 ...
- 枚举:enum
枚举 所谓枚举就是指定好取值范围,所有内容只能从指定范围取得. 例如,想定义一个color类,他只能有RED,GREEN,BLUE三种植. 使用简单类完成颜色固定取值问题. 1,就是说,一个类只能完成 ...
随机推荐
- ajax数据提交数据的三种方式和jquery的事件委托
ajax数据提交数据的三种方式 1.只是字符串或数字 $.ajax({ url: 'http//www.baidu.com', type: 'GET/POST', data: {'k1':'v1'}, ...
- java基础06 switch
public class SwitchDemo01 { /** * 韩嫣参加计算机编程大赛 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 如果获得第二名,将奖励惠普笔记本电脑一部 如果获得第三 ...
- POJ1470Closest Common Ancestors 最近公共祖先LCA 的 离线算法 Tarjan
该算法的详细解释请戳: http://www.cnblogs.com/Findxiaoxun/p/3428516.html #include<cstdio> #include<alg ...
- neutron ml2
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhoumingbo532/article/details/27964675 在介绍ml2之前,先介绍 ...
- 出现 Request Entity Too Large问题的解决方法
根据经验判断应该是上传文件大小被限制了,检查了应用配置是10M,把它设置成100M,重启服务也不能解决问题. 原来我们的tomcat是通过nginx发现服务代理的,问题就出现nginx服务器上,原来n ...
- 生信-RPKM与FPKM学习[转载]
转自:https://baike.baidu.com/item/RPKM/1197657 均反应基因的表达水平 1.RPKM的计算公式 分母是总共比对到这个基因的reads的数目(条 为单位),分母是 ...
- 推荐系统第5周--- 基于内容的推荐,隐语义模型LFM
基于内容的推荐
- Yii 2.x 和1.x区别以及yii2.0安装
知乎上有个类似的问题:http://www.zhihu.com/question/22924271/answer/23085751 大致思路不会变,开发流程变化也不是很大.有变化的是1.yii2带入的 ...
- Flask组件 flask_session
flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis memcac ...
- openURL的使用
1)私有方法跳转 /** 私有方法,不建议使用 利用ASCII值进行拼装组合方法.这样可绕过审核. 上面是进入蓝牙界面的方法.也可以有其他的页面可以跳转.设置页面是@"@"Pref ...