Luogu P4109 [HEOI2015]定价 贪心
思路:找规律?$or$贪心。
提交:1次
题解:
发现:若可以构成$X0000$,答案绝对不会再在数字最后把$0$改成其他数;
若可以构成$XX50...0$更优。
所以左端点增加的步长是增加的($inc=pow(10,x),x$递增)。
所以去掉了一些不必要的枚举。
#include<cstdio> #include<iostream> #include<cmath> #define R register int using namespace std; #define ull unsigned long long #define ll long long #define pause (for(R i=1;i<=10000000000;++i)) #define In freopen("NOIPAK++.in","r",stdin) #define Out freopen("out.out","w",stdout) namespace Fread { static char B[1<<15],*S=B,*D=B; #ifndef JACK #define getchar() (S==D&&(D=(S=B)+fread(B,1,1<<15,stdin),S==D)?EOF:*S++) #endif inline int g() {R ret=0,fix=1; register char ch; while(!isdigit(ch=getchar())) fix=ch=='-'?-1:fix;if(ch==EOF) return EOF; do ret=ret*10+(ch^48); while(isdigit(ch=getchar())); return ret*fix; } inline bool isempty(const char& ch) {return (ch<=36||ch>=127);} inline void gs(char* s) {register char ch; while(isempty(ch=getchar()));do *s++=ch; while(!isempty(ch=getchar())); } } using Fread::g; using Fread::gs; namespace Luitaryi { int T,l,r; ll ans; const ll Inf=1E+9; inline void main() {T=g(); while(T--) { R mn=Inf;l=g(),r=g();while(l<=r) {R x=l,cnt=0;while(x%10==0) x/=10,++cnt;R y=x,len=0,lst=x%10;while(y) y/=10,++len;R tmp=2*len-(lst==5);if(mn>tmp) mn=tmp,ans=l;l+=pow(10,cnt);} printf("%lld\n",ans);} } } signed main() {Luitaryi::main(); return 0; }
转载于:https://www.cnblogs.com/Jackpei/p/11186457.html
Luogu P4109 [HEOI2015]定价 贪心相关推荐
- BZOJ 4032 luogu P4112 [HEOI2015]最短不公共子串 (DP、后缀自动机)
这其实是道水题... 题目链接: (bzoj)https://www.lydsy.com/JudgeOnline/problem.php?id=4032 (luogu)https://www.luog ...
- [luogu]P1315 观光公交[贪心]
[luogu]P1315 [NOIP2011]观光公交 --!x^n+y^n=z^n 题目描述 风景迷人的小城Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车, ...
- Luogu P1031 均分纸牌(贪心)
P1031 均分纸牌 题目描述 有 N 堆纸牌,编号分别为 1,2,-, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以在任一堆上取若干张纸牌,然后移动. 移牌规则为:在编号为 1 堆上取的纸牌 ...
- luogu P4108 [HEOI2015]公约数数列(分块、gcd性质)
题解链接 #include <cstdio> #include <algorithm> #include <cstring> #include <vector ...
- BZOJ4029: [HEOI2015]定价
[传送门:BZOJ4029] 简要题意: 给出一个定义:每个数都有一个荒谬度,荒谬度是这样计算的: 1.先将这个数末尾的0去掉 2.然后设这个数当前的位数为a,如果当前末尾为5,则荒谬度为2a-1,如 ...
- [颓废史]蒟蒻的刷题记录
QAQ蒟蒻一枚,其实我就是来提供水题库的. 以下记录从2016年开始. 1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查 ...
- mysql 外键详解_mysql外键详解
1.1.MySQL中"键"和"索引"的定义相同,所以外键和主键一样也是索引的一种.不同的是MySQL会自动为所有表的主键进行索引,但是外键字段必须由用户进行明确 ...
- [暑假的bzoj刷水记录]
(这篇我就不信有网站来扣) 这个暑假打算刷刷题啥的 但是写博客好累啊 堆一起算了 隔一段更新一下. 7月27号之前刷的的就不写了 , 写的累 代码不贴了,可以找我要啊.. 2017.8.27upd ...
- 退役前的做题记录1.0
退役前的做题记录1.0 租酥雨最近很懒qwq,具体表现在写题的时候不想发题解了. 但是想想这样也不太好,就决定发个一句话(半句话到几句话不等)题解上来. 2018-09.18-2018-09.28 [ ...
- [总结]2019年9月 OI学习/刷题记录
从现在开始记录一下每天的学习情况.主力LOJ? 2019/9/5 LibreOJ #2543. 「JXOI2018」排序问题 答案显然是\(\frac{(n+m)!}{Cnt_1!Cnt_2!\cdo ...
最新文章
- DllMain中不当操作导致死锁问题的分析--死锁介绍
- boxFilter 滤波器实现
- 为什么都要鄙视 PHP 程序员? Java联盟 百家号 07-24 21:43 前几天发表了一篇文章《图解:程序员之间是如何相互鄙视的?》,有人就在留言处留言。 可以解释下:为什么都鄙视PHP工程师
- 最小生成树之Kruskal
- VTK:几何对象之Line
- Java 数字相关操作通用类 NumberUtils.java
- [vue] vue能监听到数组变化的方法有哪些?为什么这些方法能监听到呢?
- play(一) play介绍,helloworld项目
- 2015蓝桥杯C++A:方程整数解;星系炸弹(3种解法)
- django的 信号
- edxp显示未安装_EPLAN因缺少加密狗驱动而无法安装解决方案
- MD5加密解密工具类
- Java实现 LeetCode 480 滑动窗口中位数
- python调用百度地图、通过经纬度定位_python调用百度地图API得到两地经纬度计算直线距离...
- 自下而上合并排序算法
- (连载)Android系统源码分析--Android系统启动流程之Linux内核
- Python 用turtle画多个八边形组成的蜘蛛网
- 杭电 1287 破译密码
- 18.链表插入——尾插法
- 炒美股-史考特证券开户流程