[agc011E]Increasing Numbers-[思考题]】的更多相关文章

题面 传送门 思路 首先,我们观察一下上升数的性质 可以发现,它一定可以表示为最多9个全是1的数字的和 那么我们设$N$可以被表示成$k$个上升数的和,同时我们设$p_i=\underbrace{111\cdots 11}_{i}$ 我们令$a_{i,j}$表示构成$N$的第$I$个上升数的第$j$个全1数的位数 那么可以写出这样的式子 $N=\sum_{i=1}^k\sum_{j=1}^9 p_{a[i][j]}$ 我们发现,$p_{i,j}$这样子摆在这里非常不好操作,那么我们继续观察$p_…
题意: 如果一个十进制非负整数的所有数位从高位到低位是不减的,我们称它为“上升数”,例如1558,11,3,0都是上升数,而10,20170312则不是: 给定整数N,求最小的k使得N能被表示为k个上升数之和. $1\leq N\leq 10^{500000}$ 题解: 一个结论:每个上升数必定能被分解为九个全一数的和: 所谓“全一数”就是指1,1111,11111111这种每一位数都为1的数(包括0),证明显然. 设N可以被分解成K个全一数之和,显然答案$k=\lceil\frac{K}{9}…
题意 给定一个数\(n\),\(n≤10^{500,000}\),问\(n\)最少可以拆分成几个不降数的和.一个不降数是在十进制位下,从高位往低位看,每个数都不会比高位的数更小的数 做法 不降数可以拆成若干个形似\(1111...111\)的数相加 位数为\(l\)的全\(1\)数可以写成\(\dfrac{10^{l+1}-1}{9}\) \(N=\sum\limits_{i=1}^k \dfrac{10^{a_i}-1}{9}\) 通过手玩可以进一步发现充分条件:\(9|k\) 写成\(N+9…
Description 传送门 Solution 依题得所有不下降数(设为a)可以拆为若干个全1数的和(如:1558=1111+111+111+111+111+1+1+1) 并且任意a所能拆出的全一数的个数<=9.则我们设定a拆出9个全1数,其中允许有0的存在.(以下的a[i]可以为所有自然数) (任一全1数可以表示为$\frac{(10^{c}-1)}{9}$) 则$n=\sum _{i=1}^{9k}\frac{(10^{a[i]}-1)}{9}$ $9n=\sum _{i=1}^{9k}(…
题解 题是真的好,我是真的不会做 智商本还是要多开啊QwQ 我们发现一个非下降的数字一定可以用不超过九个1111111111...1111表示 那么我们可以得到这样的一个式子,假如我们用了k个数,那么最多的话可以是这样的 \(N = \sum_{i = 1}^{9k} (10^{r_i} - 1) / 9\) \(9N + 9k = \sum_{i = 1}^{9k} 10^{r_{i}}\) 我们只要每次计算出9N + 9 ,9N + 18...,然后看看十进制下每一位的数字和有没有超过9k,…
传送门 还是猜结论呢 然后我们就想我们可以每次去掉尽量多的位数来保证次数最小,假装这是对的,先写一发,A了 考虑如何去掉尽量多的位数,我们可以找到最大的几位的不下降序列,把最后一个-1,后面全部改成9,这样我们就得到了一个每次去掉数字最前的一个不下降序列,然后将最后一位+1的做法 然后发现有一种情况是不合法的,举个例子:166621 这样我们第一次如果是找不下降序列,就会找到1666,减掉1后就是1665,这就不是不下降了,我们只能取159999,所以对于这种最后一位和倒数第二位是相同的不下降序…
题意: 当一个整数高位数字总不小于低位数字,或者说写成字符串之后单调不下降,称之为上升数.求一个整数最少能表示为多少个上升数的和.(n<=1e500000) 分析: 考虑那些不下降的数字,一定可以写成9个1111...,1111...,11...,0这样的和,每个数可以表示成(10^r-1)/9 我们现在不求最小的k,来改成判定问题,判定n能否写成k个上升数的和 k个上升数对应了9k个(10^ri-1)/9 也就是n=Σ(10^ri-1)/9 (1<=i<=9k) 化简一下就是9n+9k…
今天太晚了...题解到时候补吧(flag立好) 成绩:100+0+0=100 感觉A题本质暴力贪心?C题一道水题我居然没做...亏爆 A:[agc011e]increasing numbers B:[agc008e]next or nextnext(gu) C:[BZOJ1014][JSOI2008]火星人prefix…
题目链接: http://poj.org/problem?id=1239 Increasing Sequences Time Limit: 1000MSMemory Limit: 10000K 问题描述 Given a string of digits, insert commas to create a sequence of strictly increasing numbers so as to minimize the magnitude of the last number. For…
描述 Given a string of digits, insert commas to create a sequence of strictly increasing numbers so as to minimize the magnitude of the last number. For this problem, leading zeros are allowed in front of a number. 输入 Input will consist of multiple tes…