BZOJ 4029 [HEOI 4029] 定价 解题报告
这个题好像也是贪心的感觉。。
我们枚举 $1,5,10,50,100,\dots$ ,找出在 $[l, r]$ 内能整除它们的最小的数。
然后找到其中在荒谬值最小的情况下数值最小的那个数,
就做完了。
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long LL;
#define INF 593119681 int _;
LL l, r; inline LL Calc(LL x)
{
if (!~x) return INF;
while (x % == ) x /= ;
int f = (x % ) ? : -;
int res = ;
for (; x; x /= )
res += ;
return res + f;
} int main()
{
#ifndef ONLINE_JUDGE
freopen("4029.in", "r", stdin);
freopen("4029.out", "w", stdout);
#endif for (scanf("%d", &_); _; _ --)
{
scanf("%lld%lld", &l, &r);
LL best = -, top, bot;
for (LL x = , _x = ; x <= r; x *= , _x *= )
{
top = (l + x - ) / x * x;
bot = r / x * x;
if (top <= bot) best = (Calc(best) < Calc(top) || (Calc(best) == Calc(top) && best < top)) ? best : top;
top = (l + _x - ) / _x * _x;
bot = r / _x * _x;
if (top <= bot) best = (Calc(best) < Calc(top) || (Calc(best) == Calc(top) && best < top)) ? best : top;
}
printf("%lld\n", best);
} #ifndef ONLINE_JUDGE
fclose(stdin);
fclose(stdout);
#endif
return ;
}
4029_Gromah
BZOJ 4029 [HEOI 4029] 定价 解题报告的更多相关文章
- bzoj 1565 [NOI2009]植物大战僵尸 解题报告
1565: [NOI2009]植物大战僵尸 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2161 Solved: 1000[Submit][Stat ...
- BZOJ 3998 [TJOI 2015] 弦论 解题报告
这是一道后缀自动机经典题目. 对于 $t=0$ 的情况:每个节点都代表一个子串,所以我们给每个节点的 $Size$ 都记为 $1$, 对于 $t=1$ 的情况:我们只给 $last$ 节点的 $Siz ...
- BZOJ 3997 [TJOI 2015 组合数学] 解题报告
这个题我脑洞了一个结论: 首先,我们定义满足以下条件的路径为“从右上到左下的路径”: 对于路径上任何不相同的两个点 $(x_1, y_1)$,$(x_2, y_2)$,都有: $x_1\neq x_2 ...
- BZOJ 3996 [TJOI 2015] 线性代数 解题报告
首先,我们可以得到: $$D = \sum_{i=1}^{n}\sum_{j=1}^{n}a_i\times a_j\times b_{i,j} - \sum_{i=1}^{n}a_i\times c ...
- BZOJ 3990 [SDOI 2015] 排序 解题报告
这个题哎呀...细节超级多... 首先,我猜了一个结论.如果有一种排序方案是可行的,假设这个方案是 $S$ . 那么我们把 $S$ 给任意重新排列之后,也必然可以构造出一组合法方案来. 于是我们就可以 ...
- BZOJ 3955 Surely You Congest 解题报告
首先,我们可以求出源为 $1$ 号点的最短路图以及各个点到 $1$ 号点的最短路. 然后我们考虑那些距离不同的点,是一定不会发生拥堵现象的. 然后我们就只需要考虑那些距离相同的点,就相当于做一个最大流 ...
- BZOJ 3929 Circle of digits 解题报告
首先,我们可以得到最高位的位数为:\(\lfloor\frac{n+k-1}{n}\rfloor\),记作 \(E\). 然后给这 \(n\) 个长为 \(E\) 的数字排序,后缀数组 \(O((n+ ...
- BZOJ 4145 [AMPPZ2014] The Prices 解题报告
感觉也是一个小清新题.. 我们考虑设立状态 $Dp[i][s]$ 表示考虑了前 $i$ 个商店后,购买状态为 $s$ 的最小花费. 转移的话就枚举每个商店 $i$,首先令: $$Dp[i][s] = ...
- BZOJ 4710 [Jsoi2011]分特产 解题报告
4710 [Jsoi2011]分特产 题意 给定\(n\)个集合,每个集合有相同的\(a_i\)个元素,不同的集合的元素不同.将所有的元素分给\(m\)个不同位置,要求每个位置至少有一个元素,求分配方 ...
随机推荐
- 关于新feature对应的增加一个新的测试单子(QA)和文档单子(Doucmentation)的步骤
一,增加一个new feature的文档单子. 1.new feature 增加对应的文档单子(公司有一个组是专门写产品说明的)所以增加一个新的功能就要有这个新的功能对应的一个文档(Documenta ...
- 冒泡排序小实例 php
源代码如下,仅用于参考: <?php$a = array(10,2,36,14,10,25,23,85,99,45); for($j=0;$j<9;$j++){ for($i=0;$i&l ...
- 在DataTable中添加行和列数据
DataRow newRow = dtResult.NewRow(); newRow["ProName"] = "名字"; newRow["ProPr ...
- 过滤网页中HTML代码的ASP函数
Function LoseHtml(ContentStr) Dim ClsTempLoseStr,regEx ClsTempLoseStr = Cstr(ContentStr) Set regEx = ...
- THP Transparent HugePages关闭
ambari 安装Hortonworks HDP 时在检测host异常 The following hosts have Transparent Huge Pages (THP) enabled.TH ...
- C#定义自定义类型转换
类型转换不限于单一继承链中的类型(派生类转换为基类或者基类转换为派生类),完全不相关的类型之间也能进行转换.关键在于在两个类型之间提供转型操作符. 在下面这样的情况下应该定义显式转型操作符: 在转型有 ...
- 英语中的 姓氏/Surname
.Chomsky (Belarusian: Хомскі, Russian: Хомский, Ukrainian: Хомський, Hebrew: חומסקי, "from (V ...
- C++异常处理(Exception Handling)
在C++中引入了三种操作符来处理程序的出错情况,分别是:try , throw , catch 1.基本的用法如下: try{ //code to be tried throw exceptio ...
- lambda表达式————一看就会
这里没有过多讲解,只有几个连接,进入看,看完后你就会觉得什么博客对lambda的介绍都是浮云,不是片面就是不准确. 链接地址: 1: https://msdn.microsoft.com/en-us/ ...
- iOS 分类思想(1)
1.需求:如果对一个类在不更改代码的基础上要为它再扩充额外的方法可以使用继承和分类 2.分类 作用:可以在不修改原来类代码的基础上,给某一个类扩充一些对象方法或者类方法,因此一个类可以有多个分类 实现 ...