题目大意:给你A,B,C为a,b,c的整数位数,再给你一个k,让你求满足a+b=c这个公式转化为字符串后字典序从小到大的第k个,如果没有就输出-1.

思路:巧妙地计算公式+枚举

对于a有:pow(10,A-1)<=a<=pow(10,A)-1,pow(10,B-1)<=b<=pow(10,B)-1,pow(10,C-1)<=c<=pow(10,C)-1。且由此公式我门可以枚举a而确定b,最终求出c。pow(10,C-1)<=a+b<=pow(10,C)-1,由此公式,可得:max(pow(10,B-1),pow(10,C-1)-a)<=b<=min(pow(10,B)-1,pow(10,C)-1-a),我们可以根据b的l和r的端点范围,来判断,k是否在这个范围之内,每次减去根据一个a而求出的b的范围,最终在a枚举结束前,如果有k落入这个范围之中,我们就可以输出了。

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=1e6+7;
int t,a,b,c,k;
int fastpow(int a,int b){int ans=1;while(b){if(b&1){ans=ans*a;}b>>=1;a*=a;}return ans;
}
void solve(){cin>>a>>b>>c>>k;int f=0;for(int i=fastpow(10,a-1);i<=fastpow(10,a)-1;i++){int l=max(fastpow(10,b-1),fastpow(10,c-1)-i);int r=min(fastpow(10,b)-1,fastpow(10,c)-1-i);//左右端点if(l>r)continue;int len=r-l+1;//每一部分b的区间if(k<=len){cout<<i<<" + "<<l+k-1<<" = "<<l+k-1+i<<"\n";f=1;break;}k-=len;//减去完整的区间}if(!f)cout<<-1<<"\n";return ;
}
signed main(){ios::sync_with_stdio(0);cin.tie(0);cin>>t;while(t--){solve();}return 0;
}

C. k-th equality-880相关推荐

  1. 王者荣耀自动化获取金币/经验周上限 教程

    本教程适用于手机屏幕分辨率为2160*1080,其他分辨率需要自行更改代码中的坐标,显示手机坐标自行百度.如果觉得自己操作比较麻烦,且比较损耗手机,可以尝试使用电脑安卓模拟器或云手机. 准备工作 安卓 ...

  2. GB_T28181-2016.pdf

    国标28181-2016版本检测,由于文件过大,而且博客不支持上传文件,需要GB28181-2016协议文档和公安一所检测文档的可以私信我,QQ:123011785 I C S1 3. 3 1 0 A ...

  3. TuShare获取K线数据

    Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据,为他们在数据获取 ...

  4. codeforces1451 C. String Equality

    真的弱,这题都想蹦了. 这场md,b题看错题调了1小时才发现,c题上来也看错..最后懒得写了睡觉~ C. String Equality 神的讲解 注意到连续k个相同字符才能使用操作二,不过我们可以交 ...

  5. 1451C. String Equality

    C. String Equality:题目 我也不知道这算不算dp....虽然它有一个dp的标签 #include <bits/stdc++.h> using namespace std; ...

  6. oracle下k M G,【性能调优】Oracle AWR报告指标全解析(2)

    7-1 Checkpoint Activity 检查点与 Instance Recovery Stats 实例恢复 Checkpoint Activity Snaps: 70719-70723 -&g ...

  7. d3js mysql_使用d3js画K线图 - ObjectNotFoundException - OSCHINA - 中文开源技术交流社区

    使用 必应和谷歌 搜索了一圈,发现只有一篇使用d3js画K线图的文章,但是将相关的HTML和JavaScript代码内容保存为.html文件并在浏览器打开后,发现当使用d3js V4版本时并不能画出K ...

  8. python生成k线图_基于tushare生成k线图

    tushare简介 TuShare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工到数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据, ...

  9. 部署 Apache Camel K | 从 master 分支源码构建并部署 Camel K 平台

    上一篇文章基于 camel-k:1.0.0-RC2 编写,部署到一半,遇到很多问题卡住了 有些问题修改一下项目比较容易解决,而且也不能干等下一个 Release 版本发布 因此选择从 master 分 ...

  10. 伍六七带你学算法 入门篇-最小的k个数

    java面试题-最小的k个数 难度-简单 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:a ...

最新文章

  1. ❤比较两种模糊特效❤filter: blur(10px)和backdrop-filter: blur(10px)的区别
  2. Golang反射机制的实现分析——reflect.Type类型名称
  3. #linux进阶#归档压缩
  4. Coursera课程Python for everyone:chapter3
  5. nodejs里require的调试截屏
  6. Linux Tomcat安装
  7. Java:GraalVM数据库流性能
  8. Java 8的烹调方式–拼图项目
  9. 用Log4Net来记录系统的日志信息
  10. es6继承 vs js原生继承(es5)
  11. INSTALL_FAILED_UID_CHANGED解决办法
  12. np.roll的用法
  13. dell电脑恢复出厂系统(旧电脑如何重装系统)
  14. 如何扩展硬盘以及删除恢复分区?
  15. JAVA文件夹批量重命名
  16. blender合并物体后材质丢失问题的解决办法
  17. 宏 word 更新域
  18. cs224w(图机器学习)2021冬季课程学习笔记12 Knowledge Graph Embeddings
  19. Linux 网卡驱动的安装
  20. 正方形里面两个扇形相交部分_边长为1的正方形内,两个扇形,一个半圆,求阴影面积....

热门文章

  1. 【mindgo】 彼得林奇PEG价值选股策略
  2. of_parse_phandle_with_args函数详解
  3. CORS Uncaught ReferenceError: is not defined
  4. 论文参考文献的出处怎么找
  5. 一个整数有几个奇数几个偶数字
  6. 【计算机毕业设计】毕业生就业信息管理系统
  7. Datepicker日期控件“今天”按钮点击没反应
  8. kingbase数据库常用sql语句1(人大金仓数据库)
  9. 赋值运算符与赋值表达式
  10. 我们可以和 India CTO 学到些什么?