每天一道 CodeForces 构造思维题 (day7)

简介: 每天一道 CodeForces 构造思维题 (day7)

题目 Codeforces Subsequences

题目链接 :Codeforces Subsequences

题目大意:

image-20220721222048563

每次让 l+1,直到加到 r,问转换中每个位上的数总共变化了几次

思路:构造

如果暴力求 lr的话一定会超时,所以有没有什么性质可以挖掘。

我们先来看从1x的变化

个位:每次加1就变化一次,所以个位要变化x

十位:每次加10就变化一次,所以十位要变化x / 10 次。

其余同理。。

我们用f(x)表是从1到x变化的总位数,那么从lr的变化次数就等于f(r)-f(l).

我做题的时候刚开始没往f(r)-f(l)这里想,直接算从lr中每个位都变了几次,发现怎么求都不对,因为不仅要看加了多少次,还要看l中的每一位和r中的每一位是啥,非常不好求,然后就想到了分别处理的思想,用总的减去部分的就是剩下的。

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll get(int r)
{
    ll ans = 0;
    ll k = 1;
    while (r >= k)
    {
        ans += r / k;
        k = k * 10;
    }
    return ans;
}
void solve()
{
    int l, r;
    cin >> l >> r;
    cout << get(r) - get(l) << endl;
}
signed main()
{
#ifdef Xin
    freopen("in.in", "r", stdin);
    freopen("out.out", "w", stdout);
#endif
    int T = 1;
    cin >> T;
    while (T--)
        solve();
    return 0;
}
中间断了,继续补上
相关文章
|
10月前
|
人工智能 JSON API
快速上手Cursor,让AI替你敲键盘
Cursor Editor基于VS Code内核,深度集成GPT-4等大模型,支持对话式编程。通过Ctrl+K和Ctrl+L快捷键,可快速生成、修改、解释代码,智能调试与重构。适合开发者提升效率,专注核心设计。
|
人工智能 安全 API
OpenHands:能自主检索外部知识的 AI 编程工具,自动执行命令、网页浏览和生成代码等操作
OpenHands 是一款基于 AI 的编程工具,支持多智能体协作,能够自动生成代码、执行命令、浏览网页等,显著提升开发效率。
3051 26
OpenHands:能自主检索外部知识的 AI 编程工具,自动执行命令、网页浏览和生成代码等操作
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
1502 1
|
JavaScript 前端开发 开发者
成功解决:el-popconfirm组件来确认删除、修改等操作无效
这篇文章提供了解决Element UI中el-popconfirm组件在执行确认删除、修改等操作时无效问题的步骤和方法,包括确认方法创建、检查版本兼容性、解决组件作用域问题、确保文本和CSS无冲突、检查事件绑定、预期问题和调试提示。
成功解决:el-popconfirm组件来确认删除、修改等操作无效
|
存储 人工智能 数据库
|
量子技术
量子雷达:隐身技术的挑战者与未来防御系统
【9月更文挑战第19天】量子雷达凭借其突破隐身技术、高灵敏度及抗干扰性的优势,正成为未来防御系统的关键组成部分。本文深入探讨了量子雷达如何挑战传统隐身技术,并介绍了其在反隐身作战、导弹防御及空间探测等领域的广阔应用前景。随着技术进步,量子雷达将彻底改变现代战争模式,提升防御体系的效能。中国在这一领域已取得显著进展,展现出量子雷达的强大潜力。
|
JSON Linux API
币安(binance)API接口
原文链接 币安API Rest-API 2018-01-04 基本信息 URL: https://api.binance.com JSON协议 数据默认按ASC(升序)排序,时间早的在上面 所有和时间有关的单位都是毫秒 HTTP 4XX : 请...
12672 1
|
Linux C语言
C语言 多进程编程(七)信号量
本文档详细介绍了进程间通信中的信号量机制。首先解释了资源竞争、临界资源和临界区的概念,并重点阐述了信号量如何解决这些问题。信号量作为一种协调共享资源访问的机制,包括互斥和同步两方面。文档还详细描述了无名信号量的初始化、等待、释放及销毁等操作,并提供了相应的 C 语言示例代码。此外,还介绍了如何创建信号量集合、初始化信号量以及信号量的操作方法。最后,通过实际示例展示了信号量在进程互斥和同步中的应用,包括如何使用信号量避免资源竞争,并实现了父子进程间的同步输出。附带的 `sem.h` 和 `sem.c` 文件提供了信号量操作的具体实现。
|
机器学习/深度学习 运维 算法
流计算中的流式机器学习是什么?请解释其作用和常用算法。
流计算中的流式机器学习是什么?请解释其作用和常用算法。
498 0
|
Windows
Windows系统的32位和64位系统区别
Windows系统的32位和64位系统区别
1172 0

热门文章

最新文章