博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codeforces 817C Really Big Numbers
阅读量:4968 次
发布时间:2019-06-12

本文共 672 字,大约阅读时间需要 2 分钟。

注意到一点,如果x是Really Big Number,那么x+1一定是Really Big Number

原因是sumd(x+1)一定不超过sumd(x)+1 sumd表示各个数位的数字之和

所以在序列中存在一个数字,这个数字之前全不是Really Big Number,它和他之后的

全是Really Big Number,通过二分就可以找到这个数字

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define DEBUG(x) cout<<#x<<" = "<
<
=s;}int main(){// freopen("in.txt","r",stdin); cin>>n>>s; ll l=1,r=n; ll lp=-1; while(l<=r){ ll mid=(l+r)>>1; if(judge(mid)){ lp=mid; r=mid-1; } else l=mid+1; } ll ans=lp==-1?0:n-lp+1; cout<
<

 

转载于:https://www.cnblogs.com/MalcolmMeng/p/10029026.html

你可能感兴趣的文章
自己动手构造编译系统++编译、汇编与链接pdf
查看>>
JAVA 中文件读写函数BufferedReader 和 BufferedWriter 的使用
查看>>
Codeforces Round #206 (Div. 2)
查看>>
提升混合应用页面打开速度的新思路
查看>>
Mycat分表分库
查看>>
2019.7.11
查看>>
Php取扩展名
查看>>
模板的文件名和方法名一定要一致!!
查看>>
**p
查看>>
优先队列详解
查看>>
VS2012 创建项目失败,,提示为找到约束。。。。
查看>>
外观模式(Facade Pattern)
查看>>
PHP-----数组和常见排序算法
查看>>
通过给定的文件流,判断文件的编码类型
查看>>
zookeeper(3) 持久化
查看>>
Windows Socket I/O模型 以及 Linux Epoll模型 的有关资料(转)
查看>>
用guava快速打造两级缓存能力
查看>>
随服务初始化的Servlet
查看>>
如何修改eclipse中maven默认仓库路径
查看>>
mysql--插入,删除
查看>>