[贪心]D. 【例题4】国王游戏
D
.
【
例
题
4
】
国
王
游
戏
D. 【例题4】国王游戏
D.【例题4】国王游戏


解析
贪心思想,考虑交换后的值比交换前的小.
然后数据规模用高精度
Code
#include <bits/stdc++.h>
using namespace std;
int n, et[10005], ans[10005], ex[10005], aer,aet,ert;
struct node
{
int l, r, lr;
}a[10005];
bool cmp(node x,node y)
{
return x.lr < y.lr ? 1 : 0;
}
void qer(int x)
{
for (int i = 1; i <= aet; ++ i) et[i] *= x;
for (int i = 1; i <= aet; ++ i)
{
et[i + 1] += et[i] / 10;
et[i] %= 10;
if (i == aet && et[i + 1] != 0) ++ aet;
}
}
void tue(int x)
{
memset (ex, 0, sizeof (ex));
ert = 0;
int val = 0;
for (int i = aet; i > 0; -- i)
{
val = val * 10 + et[i];
ex[i] = val / x;
if (ert == 0 && ex[i] != 0) ert = i;
val%=x;
}
for (int i = 1; i <= ert; ++ i)
{
ex[i + 1] += ex[i] / 10;
ex[i] %= 10;
if (i == ert && ex[i + 1] != 0) ++ ert;
}
}
bool check()
{
if (aer < ert) return 1;
if (ert < aer) return 0;
for (int i = aer; i > 0; -- i)
{
if (ex[i] > ans[i]) return 1;
if (ex[i] < ans[i]) return 0;
}
return 0;
}
void swp()
{
for (int i = 1; i <= ert; ++ i) ans[i] = ex[i];
aer = ert;
}
int main()
{
scanf("%d",&n);
aet = et[1] = 1;
for (int i = 0; i <= n; ++ i)
{
scanf ("%d%d", &a[i].l, &a[i].r);
a[i].lr = a[i].l * a[i].r;
}
sort (a + 1, a + n + 1, cmp);
for (int i = 1; i <= n; ++ i)
{
qer (a[i - 1].l);
tue (a[i].r);
if (check ()) swp ();
}
for (int i = aer; i > 0; -- i) printf ("%d", ans[i]);
return 0;
}
[贪心]D. 【例题4】国王游戏的更多相关文章
- [贪心][高精]P1080 国王游戏(整合)
题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王站在队伍的最 ...
- Luogu 1080 【NOIP2012】国王游戏 (贪心,高精度)
Luogu 1080 [NOIP2012]国王游戏 (贪心,高精度) Description 恰逢H国国庆,国王邀请n位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己 ...
- Luogu P1080国王游戏(贪心)
国王游戏 题目链接:国王游戏 ps:题目数据说明了要写高精度. 这个题的答案是\(a.l * a.r < b.l * b.r\)按照这个进行排序 题解中大部分只是如何证明排序是: \(a.l * ...
- 国王游戏 2012年NOIP全国联赛提高组(贪心+高精)
P1080 国王游戏 题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成 ...
- [noip2012]国王游戏<贪心+高精度>
题目链接: https://vijos.org/p/1779 https://www.luogu.org/problem/show?pid=1080 http://codevs.cn/problem/ ...
- 【NOIP 2012 国王游戏】 贪心+高精度
题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右 手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排 成一排,国王站在队伍 ...
- luoguP1080 国王游戏 题解(NOIP2012)(贪心+高精)
luoguP1080 国王游戏 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include& ...
- NOIP2012 国王游戏
2国王游戏 (game.cpp/c/pas) [问题描述] 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数 ...
- AC日记——国王游戏 洛谷 P1080
国王游戏 思路: 贪心+高精: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 1005 struct Dat ...
随机推荐
- vscode Paste Image插件使用
Paste Image 在编写md需要插入图片,这个插件可以将粘贴板的图片保存到本地资源 假如我在/readme.md中编写文档,我需要将粘贴板的图片放在/images/下面,配置两个关键配置即可: ...
- VAST助推NGK公链热度升温,日活超过以太坊!
在区块链市场,如果说过去是比特币和以太坊的时代,那么现在和未来绝对是NGK的时代. NGK公链的出现,让区块链市场看到了新的希望.它不仅仅是开放的和可编程的,而且是低Gas燃耗的,以及创新共识机制的. ...
- 谈一下HashMap的底层原理是什么?
底层原理:Map + 无序 + 键唯一 + 哈希表 (数组+Entry)+ 存取值 1.HashMap是Map接口的实现类.实现HashMap对数据的操作,允许有一个null键,多个null值. Co ...
- Go的指针
目录 指针 一.指针的声明 二.指针的默认值(Zero Value) 三.指针的解引用 四.向函数传递指针参数 1.非 数组/切片 指针传参 2.数组/切片 指针传参 五.Go不支持指针运算 指针 指 ...
- Cassandra数据操作管理工具tableplus
一.概述 Cassandra是一个NoSQL数据库,具有类SQL CQL入口,基本语法与SQL保持一致.其实笔者认为 Cassandra的自带的cqlsh已经满足本的需求:如: 但是用习惯了数据库操作 ...
- join为啥会阻塞主线程?
join使用 上篇我们介绍了CountDownLatch,顺便说到了Thread中的join方法! import java.util.concurrent.TimeUnit; /** * @autho ...
- 学习java的第二天
Java第二天 标识符 标识符开头只能以字母和_开头 严格区分大小写 不能以关键词命名 变量 变量是什么:就是可以变化的量 Java是一种强类型语言,定义变量必须声明后才能使用 Java变量是程序中最 ...
- Java编程开发之数据图表分析模型
数据统计分析 多曲线图表分析实现 基本需求分析 假设在怪兽出没的年岁,加上年关在即,需要统计分析各个道路卡口车流量出入统计,主要从车流量和车牌地角度出发.如图所示的业务需求: 道路卡口-车流量分析: ...
- 剑指 Offer 43. 1~n 整数中 1 出现的次数 + 数位模拟 + 思维
剑指 Offer 43. 1-n 整数中 1 出现的次数 Offer_43 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author ...
- 如何在 ASP.NET Core 中写出更干净的 Controller
你可以遵循一些最佳实践来写出更干净的 Controller,一般我们称这种方法写出来的 Controller 为瘦Controller,瘦 Controller 的好处在于拥有更少的代码,更加单一的职 ...