Codeforces Round 863 (Div. 3) E. Living Sequence

ops/2025/2/4 2:16:31/

题目链接

头一回用不是正解的方法做出来,也是比较极限,直接说做法就是二分+数位dp
数位 d p dp dp 1 − n 1-n 1n出现多少含 4 4 4的数字个数 这纯纯板子了 \sout{这纯纯板子了} 这纯纯板子了
f ( x ) f(x) f(x) 1 − x 1-x 1x 中含有4的个数, f f f 关于 x x x 单调递增(并非严格) ,题目要找的其实是 x − f ( x ) = k x-f(x)=k xf(x)=k这样一个解,我们去二分 x x x,检查 x − f ( x ) x-f(x) xf(x) k k k 的大小关系
Specially ,我们需要注意 x − f ( x ) x-f(x) xf(x) 是一个一会儿单调递增,一会儿没有增量的一个函数,所以我们要找最小的符合上述方程的解

#include<bits/stdc++.h>
using namespace std;
typedef long long i64;
i64 k;
int len,a[20];
i64 dp[20][2][2];i64 dfs(int pos,int limit,int flag){if(pos==len) return flag;if(dp[pos][limit][flag]!=-1) return dp[pos][limit][flag];int rg = limit?a[pos]:9;i64 ans = 0;for(int i = 0;i<=rg;++i){if(i==4) ans+=dfs(pos+1,limit&&i==rg,1);else ans+=dfs(pos+1,limit&&i==rg,flag);}return dp[pos][limit][flag] = ans;
}void solve(){cin>>k;i64 l = k,r = 2e18;while(l<=r){i64 mid= (l+r)>>1;len = 0;i64 tmp = mid;while(tmp){a[len++] = tmp%10;tmp/=10;}reverse(a,a+len);for(int i = 0;i<20;++i){for(int j = 0;j<2;++j){dp[i][j][0]=dp[i][j][1]=-1;}}i64 t = dfs(0,1,0);if(mid-t>=k) r = mid-1;else l = mid+1;}cout<<l<<"\n";
}signed main(){ios::sync_with_stdio(0);cin.tie(0);int t;cin>>t;while(t--) solve();return 0;
}

http://www.ppmy.cn/ops/155446.html

相关文章

基于微信小程序的辅助教学系统的设计与实现

标题:基于微信小程序的辅助教学系统的设计与实现 内容:1.摘要 摘要&#xff1a;随着移动互联网的普及和微信小程序的兴起&#xff0c;基于微信小程序的辅助教学系统成为了教育领域的一个新的研究热点。本文旨在设计和实现一个基于微信小程序的辅助教学系统&#xff0c;以提高教…

FPGA实现任意角度视频旋转(完结)视频任意角度旋转实现

本文主要介绍如何基于FPGA实现视频的任意角度旋转&#xff0c;关于视频180度实时旋转、90/270度视频无裁剪旋转&#xff0c;请见本专栏前面的文章&#xff0c;旋转效果示意图如下&#xff1a; 为了实时对比旋转效果&#xff0c;采用分屏显示进行处理&#xff0c;左边代表旋转…

TypeScript 学习 -代码检查工具 eslint

代码检查工具 尽管 TypeScript 提供了类型检查和静态分析功能&#xff0c;使用 ESLint 仍然能带来很多好处&#xff0c;特别是当需要确保代码质量、遵循一致的代码风格、避免潜在的错误和提高团队协作时。ESLint 和 TypeScript 是互补的工具&#xff0c;它们共同帮助你保持高质…

浅析服务器虚拟化技术

服务器虚拟化技术是现代信息技术领域的一项重要创新,通过将物理服务器的硬件资源(如CPU、内存、存储和网络)抽象化,实现多个虚拟服务器(虚拟机,VMs)的运行。这种技术不仅提高了资源利用率,还简化了管理流程,降低了成本,并为云计算和大数据发展提供了坚实的基础。以下…

深度学习 DAY3:NLP发展史(全网最全)

NLP发展史 NLP发展脉络简要梳理如下&#xff1a; (远古模型&#xff0c;上图没有但也可以算NLP&#xff09; 1940 - BOW&#xff08;无序统计模型&#xff09; 1950 - n-gram&#xff08;基于词序的模型&#xff09; (近代模型&#xff09; 2001 - Neural language models&am…

Mask R-CNN与YOLOv8的区别

Mask R-CNN与YOLOv8虽然都是深度学习在计算机视觉领域的应用&#xff0c;但它们属于不同类型的视觉框架&#xff0c;各有特点和优势。 以下是关于 Mask R-CNN 和 YOLOv8 的详细对比分析&#xff0c;涵盖核心原理、性能差异、应用场景和选择建议&#xff1a; 1. 核心原理与功能…

系统URL整合系列视频一(需求方案)

视频 系统URL整合系列视频一&#xff08;需求方案&#xff09; 视频介绍 &#xff08;全国&#xff09;某大型分布式系统Web资源URL整合需求实现方案讲解。当今社会各行各业对软件系统的web资源访问权限控制越来越严格&#xff0c;控制粒度也越来越细。安全级别提高的同时也增…

如何配置Java JDK

步骤1&#xff1a;点击资源&#xff0c;点击Java下载 https://www.oracle.com/ 步骤2&#xff1a;点击java下载、JDK23下载&#xff0c;下载第一行第一个 步骤3:解压到一个空文件夹下&#xff0c;复制lib地址 步骤4&#xff1a;在设置里面搜索“高级系统设置”&#xff1b;点击…