首页 > 其他分享 >All Possible Digits

All Possible Digits

时间:2023-11-02 15:12:21浏览次数:28  
标签:Digits 最大值 Possible 统计 出现 进位

here

单调性:多加几次,出现的数不会变少,肯定可以二分。

最多操作\(p-1\)次,也就是最多进位一次。

而且最多只会进位一次,对于最后一位在加的过程中出现的值,直接用式子算,然后为了统计出现的数的次数,在其他位的数,如果在最后一位变化的范围里,就不应该加1。

但是题解又有不用二分的做法……

首先不进位,肯定说明\([0,a[n])\)的数都出现过了。

这个时候统计一下\(a[1,n-1]\)判断一下是否要进位。

如果确实不用进位,那么其它位都不会变,只需要加到没出现的最大值即可。

这个没出现的最大值直接从\(p-1\)开始枚举,第一个没出现的就行(这样是\(O(n)\)而非\(O(p)\)的)。

如果要进位,先统计进位前的位数,再统计进位后的结果,同样是要加到没出现的最大值,但是注意最后一位还没考虑呢。

考虑最后一位,其实就是\(x\ge a[n]\)都已经出现过了,所以是\(x<a[n]\)的没出现的最大值。

一样\(O(n)\)求,完事。

标签:Digits,最大值,Possible,统计,出现,进位
From: https://www.cnblogs.com/zhangchenxin/p/17805458.html

相关文章

  • CF585F Digits of Number Pi
    CF585FDigitsofNumberPi更好的阅读体验观察数据范围,考虑数位DP。首先把长串中\(len\geq\lfloor\frac{d}{2}\rfloor\)的串提出来,塞进一个trie里,然后建立ACAM,然后直接DP就行了。设\(f_{i,j,0/1,0/1,0/1}\)表示当前在trie图上走了j步到达了第i个节点,是否已......
  • uva 10061 How many zero's and how many digits ?(在不同进制下分解因子)
                             uva10061Howmanyzero'sandhowmanydigits?Givenadecimalintegernumberyouwillhavetofindouthowmanytrailingzeroswillbethereinitsfactorialinagivennumbersystemandalsoyouwillhaveto......
  • [LeetCode] 894. All Possible Full Binary Trees
    Givenaninteger n,return alistofallpossible fullbinarytrees with n nodes.Eachnodeofeachtreeintheanswermusthave Node.val==0.Eachelementoftheansweristherootnodeofonepossibletree.Youmayreturnthefinallistoftreesin......
  • Git Merge Failed Merging is not possible because you have unmerged files. hint:
    ​ 这个错误提示意味着在进行gitmerge操作时,存在未解决的冲突(unmergedfiles)。Git无法自动合并这些冲突,因此您需要手动解决冲突并进行提交。要解决这个问题,您可以按照以下步骤进行操作:首先,运行gitstatus命令来查看未解决的冲突文件。您会看到类似下面的提示:Unmerged......
  • Git Merge Failed Merging is not possible because you have unmerged files. hint:
     这个错误提示意味着在进行gitmerge操作时,存在未解决的冲突(unmergedfiles)。Git无法自动合并这些冲突,因此您需要手动解决冲突并进行提交。要解决这个问题,您可以按照以下步骤进行操作:首先,运行gitstatus命令来查看未解决的冲突文件。您会看到类似下面的提示:Unmergedpaths:(use......
  • 在Vscode使用命令npm报错-The operation was rejected by your operating system. npm
    报错信息:PSD:\disk\xubo\个人博客文章\27-Vue\资料(含课件)\vuedemo\vueproject>npmipubsub-jsnpmERR!codeEPERMnpmERR!syscallopennpmERR!pathD:\disk\soft\node.js\node_cache_cacache\index-v5\1d\32\0400202fc22af03ff2926f006e455fe92c77b8136b8fbe......
  • AtCoder Beginner Contest 228 G Digits on Grid
    洛谷传送门AtCoder传送门?这啥啊,不会。考虑行和列分别作为左部点和右部点建二分图(实际上这个建图只是辅助理解,不需要显式建图),每个左部点和每个右部点,边权为格子中的数。容易想到一个dp,设\(f_{i,j}\)为走了\(i\)步,当前在点\(j\),走过的所有边权组成的不同整数的数量。但......
  • AtCoder Regular Contest 153 D Sum of Sum of Digits
    洛谷传送门AtCoder传送门又浪费一道好题我首先想的是,\(x\)显然最优取某些\(a_i\)往前进位时的值。然后就误以为\(x\)的取值是\(O(n\log_{10}V)\)的了……既然没发现什么性质,那就直接dp吧!设\(f_{d,i}\)为从低到高前\(d\)位,所有\(a_i\)进位之和为\(i\)。然......
  • CodeForces 1107A Digits Sequence Dividing(思维)
    传送门唉,题目讲的天花乱坠的,花里胡哨,一上来真是把我唬住了。愣了半天也没看出来到底咋做,后来借助翻译明白了这个题就是让你把一串字符分成两串,然后第一串要比第二串小,就这样,然后又是个SpecialJudge。做的时候就把第一个数作为第一个串,然后串长如果为2,就判断一下后面的串要比第一个......
  • DVWA之SQL注入—Impossible level代码审计
    Impossiblelevel源代码<?phpif(isset($_GET['Submit'])){//CheckAnti-CSRFtokencheckToken($_REQUEST['user_token'],$_SESSION['session_token'],'index.php');//Getinput$id=$_GET......