[贪心]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 ...
随机推荐
- 宝塔部署Nestjs
1. 在宝塔上下载pm2 2. 打包你的服务端代码 "npm run build && cp ./package.json ./dist/" 3. 在宝塔文件&qu ...
- POST 非幂等
POST 非幂等 HTTP幂等方法,是指无论调用这个url多少次,都不会有不同的结果的HTTP方法; 也就是不管你调用1次还是调用100次,1000次,结果都是一样的(前提是服务器端的数据没有被人为手 ...
- APP 金刚区图标设计 & UI
APP 金刚区图标设计 & UI https://www.zcool.com.cn/article/ZNzk4Njg0.html
- ng 基础
文档 组件的工作只管用户体验,而不用顾及其它. 它应该提供用于数据绑定的属性和方法,以便作为视图和应用逻辑的中介者 组件应该把诸如从服务器获取数据.验证用户输入或直接往控制台中写日志等工作委托给各种服 ...
- 「NGK每日快讯」12.11日NGK公链第38期官方快讯!
- django学习-5.获取url参数和name的作用
1.前言 假如我们要打开这两个博客园地址:[https://www.cnblogs.com/xiamen-momo/archive/2020/11.html].[https://www.cnblogs ...
- (数据科学学习手札109)Python+Dash快速web应用开发——静态部件篇(中)
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...
- JAVA基础(零)—— 踩坑与错误(常更)
JAVA基础(零)-- 踩坑与错误(常更) 1 坑 考虑输入为null的情况 自动转换 x/Math.pow(10,i)*Math.pow(10,i) //由于math.pow()返回double类型 ...
- 【函数分享】每日PHP函数分享(2021-3-1)
array_filter - 使用回调函数过滤数组的元素 说明 array_filter ( array $array , callable|null $callback = null , int $ ...
- Linux操作php.ini文件
有时你使用的是别人搭建好的环境,不知道php.ini在哪里,或者好久没有修改配置了,已经忘记了路径在哪,所以在操作文件之前,得先要找到.ini路径. 找php.ini 方式一 $ php -i | g ...