[贪心]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 ...
随机推荐
- vs code & macOS services
vs code & macOS services Mac OS X, Open Folder With VS Code (right click) https://github.com/Mic ...
- React Hooks & useCallback & useMemo
React Hooks & useCallback & useMemo https://reactjs.org/docs/hooks-reference.html#usecallbac ...
- NGK项目八大板块是什么?
公链项目生态各板块中,应用生态繁荣与实体经济联系作为密切,也被看做公链平台追求的终极目标,NGK公链以实体企业粘合客户,致力于重塑金融体系,构建全球区块链生态. NGK让经济权益上链发行,目前已有八大 ...
- 21_MySQL表外连接实战
-- 查询每名员工的编号.姓名.部门.月薪.工资等级.工龄.上司编号.上司姓名.上司部门? SELECT e.empno,#员工编号 e.ename,#员工姓名 e.deptno,#员工部门 e.sa ...
- Hive-常见调优方式 && 两个面试sql
Hive作为大数据领域常用的数据仓库组件,在设计和开发阶段需要注意效率.影响Hive效率的不仅仅是数据量过大:数据倾斜.数据冗余.job或I/O过多.MapReduce分配不合理等因素都对Hive的效 ...
- VMware安装centos.6.8无法访问主机的问题
安装步骤 点击下一步,如下图: 接上图: 接上图: 接上图 接上图: 接上图: 接上图: 接上图 接上图: 接上图: 接上图: 接上图: 接上图: 接上图: 点击 完成: 启动虚拟机进行安装: 发现报 ...
- TERSUS无代码开发(笔记09)-简单实例前端样式设计
前端常用样式设计 =========================================================================================== ...
- BigDecimalUtil:对double类型的数据进行处理(加减乘除、四舍五入、类型转换、比较两个值的大小)
该工具类所在的包:import java.math.BigDecimal; 项目中使用该工具类的相关代码: // 如果Output表中已经存在该节点(插入数据的节点)的信息,则修改Output表中的这 ...
- python类的内部方法
目录 一.绑定方法与非绑定方法 1.绑定方法 2.非绑定方法 二.property 1.什么是property? 2.为什么要用property? 3.如何使用property? 三.isinstan ...
- ValidationUtils 验证工具
package com.appnirman.vaidationutils;import android.content.Context;import java.util.regex.Matcher;i ...