题解:AT_arc173_a [ARC173A] Neq Number
简单二分。
思路
数位 dp 预处理和判断。
init 预处理出 dp 数组,与 windy 数大致相同。
二分答案,如果 111 至 midmidmid 的 Neq 数数量大于等于 kkk,rt=midrt=midrt=mid;否则 lt=midlt=midlt=mid,最后输出 rtrtrt。
query 直接当 check 用。
AC code:
#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
int dp[100][100];
int l,r;
void init(){
for(int i=0;i<=9;i++){
dp[1][i]=1;
}
for(int i=2;i<=19;i++){
for(int j=0;j<=9;j++){
for(int k=0;k<=9;k++){
if(j!=k){
dp[i][j]+=dp[i-1][k];
}
}
}
}
}
int query(int x){
if(x==0){
return 0;
}
int num[25],cnt=0,ans=0;
while(x!=0){
cnt++;
num[cnt]=x%10;
x/=10;
}
for(int i=cnt;i>=1;i--){
for(int j=0;j<num[i];j++){
if(i==cnt&&j==0)continue;
if(i!=cnt&&num[i+1]==j)continue;
ans+=dp[i][j];
}
if(i!=cnt&&num[i]==num[i+1])break;
if(i==1)ans++;
}
for(int i=cnt-1;i>=1;i--){
for(int j=1;j<=9;j++){
ans+=dp[i][j];
}
}
return ans;
}
signed main(){
init();
int t,k;
cin>>t;
while(t--){
cin>>k;
int lt=-1,rt=1e15+1;
while(lt+1!=rt){
int mid=(lt+rt)/2;
if(query(mid)>=k){
rt=mid;
}
else{
lt=mid;
}
}
cout<<rt<<endl;
}
return 0;
}
题解:AT_arc173_a [ARC173A] Neq Number的更多相关文章
- 题解-Ehab's REAL Number Theory Problem
Ehab's REAL Number Theory Problem 前置知识 质数 分解质因数 无向无权图最小环<讲> Ehab's REAL Number Theory Problem/ ...
- LeetCode题解之Valid Triangle Number
1.题目描述 2.问题分析 暴力计算 3.代码 int triangleNumber(vector<int>& nums) { ; ) return res; ; i < n ...
- PAT甲题题解-1019. General Palindromic Number (20)-又是水题一枚
n转化为b进制的格式,问你该格式是否为回文数字(即正着写和倒着写一样)输出Yes或者No并且输出该格式又是水题... #include <iostream> #include <cs ...
- PAT甲题题解-1104. Sum of Number Segments (20)-(水题)
#include <iostream> #include <cstdio> #include <algorithm> #include <string.h&g ...
- C#版(打败97.89%的提交) - Leetcode 202. 快乐数 - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...
- LeetCode Graph Valid Tree
原题链接在这里:https://leetcode.com/problems/graph-valid-tree/ 题目: Given n nodes labeled from 0 to n - 1 an ...
- 【codeforces 796A】Buying A House
[题目链接]:http://codeforces.com/contest/796/problem/A [题意] 让你选一个最靠近女票的,且能买的房子; 输出你和你女票的距离; [题解] 枚举 [Num ...
- Codeforces #144 (Div. 1) B. Table (组合数学+dp)
题目链接: B.Table 题意: \(n*m\)的矩阵使每个\(n*n\)矩阵里面准确包含\(k\)个点,问你有多少种放法. \((1 ≤ n ≤ 100; n ≤ m ≤ 10^{18}; 0 ≤ ...
- 【Leetcode 做题学算法周刊】第四期
首发于微信公众号<前端成长记>,写于 2019.11.21 背景 本文记录刷题过程中的整个思考过程,以供参考.主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 67 ...
- C#版 - Leetcode 414. Third Maximum Number题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...
随机推荐
- NFS v3及v4协议区别
本文分享自天翼云开发者社区<NFS v3及v4协议区别>,作者:章****凯 NFS v4相比v3,有部分功能的增强,如果应用需要实现如下功能,则必须使用NFS v4(建议和应用侧确实是否 ...
- Rocksdb原理简介
本文分享自天翼云开发者社区<Rocksdb原理简介>,作者:l****n Rocksdb作为当下nosql中性能的代表被各个存储组件(mysql.tikv.pmdk.bluestore)作 ...
- FLink自定义Source,不停生产数据
一.代码模板 VideoOrder.java package net.xdclass.model; import java.util.Date; import lombok.AllArgsConstr ...
- 安全稳定地远程访问飞牛NAS
春节前从一个网友那里了解到一个新的NAS--飞牛. 起因是我们一个用户用我们的SD-WAN来远程访问飞牛NAS,市面上做NAS的很多,之所以单独体验这个产品主要是: 不需要购买硬件,这个是非常重要的, ...
- ATT&CK实战系列(二)红日靶场2
拓扑图 导入虚拟机 网络配置 增加网卡 配置网卡 三台主机的密码均为1qaz@WSX,其中WEB在登录的时候需要切换用户de1ay登录 iP地址 DC PC 配置PC和WEB主机时,会弹框输入admi ...
- DeepSeek “源神”启动!「GitHub 热点速览」
上周,DeepSeek 官方宣布将陆续发布 5 个开源项目.本周一开源社区就迎来了首发之作--FlashMLA!该项目开源后,不到一天 Star 数已突破 6k,并且还在以惊人的速度持续飙升. Gi ...
- 使用 Visual Paradigm 的业务流程模型和符号 (BPMN) 综合指南
业务流程模型和符号 (BPMN) 是一种用于建模和记录业务流程的标准化图形符号.它被广泛采用,因为它能够提供一种清晰.通用的语言,所有利益相关者(业务分析师.技术开发人员和管理人员)都能理解.Visu ...
- 寒武纪平台上传 Docker 镜像
前言 学校的算力平台更换为了寒武纪平台,相较于以前简单的通过 Linux 用户隔离,使用门槛有所提升.但从整体来看,这样拥有更好的隔离性,在 docker 中即便搞崩了也可以重新来过,可以避免因他人的 ...
- go 地址对齐保证
unsafe标准库包 func Alignof(variable ArbitraryType) uintptr. 此函数用来取得一个值在内存中的地址对齐保证(address alignment gua ...
- js解析json字符串、对象与json之间的转换
前言 在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键. js解析json字符串 // JSON字符串 'v ...