每天一道 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;
}
中间断了,继续补上
相关文章
振弦采集仪在岩土工程监测中的作用与优势如下
振弦采集仪是一种常用的岩土工程监测设备,其主要作用是用于测量土体或岩体中的振动变化。它通过采集地面或结构物表面的振动信号,分析地震波传播规律,可以提供有关土体或岩体性质、结构物状况等重要信息。振弦采集仪在岩土工程监测中的作用与优势如下:
振弦采集仪在岩土工程监测中的作用与优势如下
|
9月前
|
人工智能 JSON API
快速上手Cursor,让AI替你敲键盘
Cursor Editor基于VS Code内核,深度集成GPT-4等大模型,支持对话式编程。通过Ctrl+K和Ctrl+L快捷键,可快速生成、修改、解释代码,智能调试与重构。适合开发者提升效率,专注核心设计。
|
存储 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) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
1438 1
|
JavaScript 前端开发 开发者
成功解决:el-popconfirm组件来确认删除、修改等操作无效
这篇文章提供了解决Element UI中el-popconfirm组件在执行确认删除、修改等操作时无效问题的步骤和方法,包括确认方法创建、检查版本兼容性、解决组件作用域问题、确保文本和CSS无冲突、检查事件绑定、预期问题和调试提示。
成功解决:el-popconfirm组件来确认删除、修改等操作无效
|
存储 人工智能 数据库
|
量子技术
量子雷达:隐身技术的挑战者与未来防御系统
【9月更文挑战第19天】量子雷达凭借其突破隐身技术、高灵敏度及抗干扰性的优势,正成为未来防御系统的关键组成部分。本文深入探讨了量子雷达如何挑战传统隐身技术,并介绍了其在反隐身作战、导弹防御及空间探测等领域的广阔应用前景。随着技术进步,量子雷达将彻底改变现代战争模式,提升防御体系的效能。中国在这一领域已取得显著进展,展现出量子雷达的强大潜力。
|
Linux C语言
C语言 多进程编程(七)信号量
本文档详细介绍了进程间通信中的信号量机制。首先解释了资源竞争、临界资源和临界区的概念,并重点阐述了信号量如何解决这些问题。信号量作为一种协调共享资源访问的机制,包括互斥和同步两方面。文档还详细描述了无名信号量的初始化、等待、释放及销毁等操作,并提供了相应的 C 语言示例代码。此外,还介绍了如何创建信号量集合、初始化信号量以及信号量的操作方法。最后,通过实际示例展示了信号量在进程互斥和同步中的应用,包括如何使用信号量避免资源竞争,并实现了父子进程间的同步输出。附带的 `sem.h` 和 `sem.c` 文件提供了信号量操作的具体实现。
|
机器学习/深度学习 运维 算法
流计算中的流式机器学习是什么?请解释其作用和常用算法。
流计算中的流式机器学习是什么?请解释其作用和常用算法。
465 0
|
Windows
Windows系统的32位和64位系统区别
Windows系统的32位和64位系统区别
1138 0
|
机器学习/深度学习 人工智能 算法
快手开源的这个「斗地主」项目,在 GitHub 火了!
快手开源的这个「斗地主」项目,在 GitHub 火了!
4426 0
快手开源的这个「斗地主」项目,在 GitHub 火了!