noip 2012 国王游戏(贪心+高精)
/*
我是不会说我考试的时候想到了正解却把金币取大看成金币求和的....
觉得只按左右手乘积排序不太对 有反例 也可能我反例放到这个题里是错的吧
按自己的理解排的序 就是各种讨论...
假设 第i个人是x1 y1 第i+1个人是x2 y2 前面所有的左手乘积为S
我们通过考虑这两个人决定排序的规则
答案就是 min(max(S/y1,S*x1/y2),max(S/y2,S*x2/y1))
拿掉S并通分就是 min(max(y2,x1y1),max(y1,x2*y2))
因为每个max里的值不是只来自一个人 所以不能简单地通过某个值或某几个值来排序
那就讨论吧 ^ ^
接下来就是神奇(恶心)的高精...
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 1010
using namespace std;
int n,ans[maxn*],s[maxn][maxn*],l[maxn];
struct node{int l,r,s;}p[maxn];
int cmp(node const &x,const node &y)
{
if(y.r>x.s)
{
if(x.r>y.s)return y.r<x.r;
else return y.r<y.s;
}
else
{
if(x.r>y.s)return x.s<x.r;
else return x.s<y.s;
}
}
void mul(int k,int x)
{
int a[maxn*],len=l[k];memset(a,,sizeof(a));
for(int i=;i<=len;i++)a[i]=s[k][i];
for(int i=;i<=len;i++)a[i]*=x;
for(int i=;i<=len;i++)
if(a[i]>)
{
a[i+]+=a[i]/;
a[i]%=;
}
while(a[len+])
{
len++;
a[len+]+=a[len]/;
a[len]%=;
}
for(int i=;i<=len;i++)s[k+][i]=a[i];
l[k+]=len;
}
void del(int k,int x)
{
int a[maxn*],len=l[k],b[maxn*],r=,t=;
memset(a,,sizeof(a));memset(b,,sizeof(b));
for(int i=;i<=len;i++)a[i]=s[k][i];
for(int i=len;i>=;i--)
{
r=r*+a[i];b[i]=r/x;r%=x;
}
for(int i=len;i;i--)
if(b[i]!=)
{
t=i;break;
}
l[k]=t;
for(int i=;i<=len;i++)s[k][i]=b[i];
}
void big(int k)
{
int c[maxn*];memset(c,,sizeof(c));
for(int i=;i<=l[k];i++)c[i]=s[k][i];
if(l[k]>ans[])
{
for(int i=;i<=l[k];i++)
ans[i]=c[i];
ans[]=l[k];
}
else if(l[k]<ans[])return;
else
{
int falg=;
for(int i=l[k];i>=;i--)
if(c[i]>ans[i])
{
falg=;break;
}
if(falg==)return;
for(int i=;i<=l[k];i++)
ans[i]=c[i];
ans[]=l[k];
}
}
int main()
{
scanf("%d%d%d",&n,&p[].l,&p[].r);
for(int i=;i<=n;i++)
scanf("%d%d",&p[i].l,&p[i].r),p[i].s=p[i].l*p[i].r;
sort(p+,p++n,cmp);
while(p[].l)
{
s[][++l[]]=p[].l%;
p[].l/=;
}
for(int i=;i<=n;i++)
mul(i-,p[i].l);
for(int i=;i<=n;i++)
{
del(i-,p[i].r);
big(i-);
}
for(int i=ans[];i>=;i--)
printf("%d",ans[i]);
return ;
}
noip 2012 国王游戏(贪心+高精)的更多相关文章
- 【NOIP 2012 国王游戏】 贪心+高精度
题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右 手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排 成一排,国王站在队伍 ...
- [NOIp 2012]国王游戏
Description 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国 ...
- [贪心][高精]P1080 国王游戏(整合)
题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王站在队伍的最 ...
- 国王游戏 2012年NOIP全国联赛提高组(贪心+高精)
P1080 国王游戏 题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成 ...
- NOIP 2012 T2 国王游戏 (贪心+高精)
思路: 呃呃网上那么多题解写得都不错-.. 就是高精 巨坑... 这里展出的是任氏高精(纯自己yy滴) //By SiriusRen #include <cstdio> #include ...
- P1080 【NOIP 2012】 国王游戏[贪心+高精度]
题目来源:洛谷 题目描述 恰逢 H国国庆,国王邀请n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王 ...
- luoguP1080 国王游戏 题解(NOIP2012)(贪心+高精)
luoguP1080 国王游戏 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include& ...
- P1080 国王游戏 贪心 高精度
题目描述 恰逢 HH国国庆,国王邀请nn 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 nn 位大臣排成一排,国王站在队伍的 ...
- Luogu P1080国王游戏(贪心)
国王游戏 题目链接:国王游戏 ps:题目数据说明了要写高精度. 这个题的答案是\(a.l * a.r < b.l * b.r\)按照这个进行排序 题解中大部分只是如何证明排序是: \(a.l * ...
随机推荐
- SQL Server 连接字符串和身份验证
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1;P ...
- C# ERP开发框架
C/S系统开发框架-企业版 V4.0 (Enterprise Edition) 简介: http://www.csframework.com/cs-framework-4.0.htm 视频下载: 百度 ...
- Laravel框架——增删改查
增: //save返回true false $res = new member(); res->username = 'a'; $res->password = 'b'; dd($res- ...
- Solr4.8.0源码分析(24)之SolrCloud的Recovery策略(五)
Solr4.8.0源码分析(24)之SolrCloud的Recovery策略(五) 题记:关于SolrCloud的Recovery策略已经写了四篇了,这篇应该是系统介绍Recovery策略的最后一篇了 ...
- Dao 处理
1. 写一个基础的接口和类来做基本的操作 /** * */ package com.wolfgang.dao; import java.util.List; /** * @author Adminis ...
- delphi编程里的bool跟boolean类型有什么区别
bool是LongBool类型. Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool.后面三种布尔类型是为了与其他语言兼容而引入的,一般情况下建议使 ...
- Prime Path(素数筛选+bfs)
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9519 Accepted: 5458 Description The m ...
- 分治(CDQ):[BOI2007]摩基亚Mokia
[题目描述] 摩尔瓦多的移动电话公司摩基亚(Mokia)设计出了一种新的用户定位系统.和其他的定位系统一样,它能够迅速回答任何形如“用户C的位置在哪?”的问题,精确到毫米.但其真正高科技之处在于,它能 ...
- windows7旗舰版IIS6配置-保证能发布
http://wenku.baidu.com/view/20b4d26248d7c1c708a145d1.html
- JQuery固定表头插件fixedtableheader源码注释
在开发XX车站信息系统时,需要将大量数据显示在一个巨大的表格内部,由于表格是一个整体,无法分页,加之数据很多,超出一屏,为了方便用户,决定使用固定表头的插件,经过测试,发现JQuery 插件:fixe ...