码迷,mamicode.com
首页 >  
搜索关键字:数位    ( 4233个结果
【剑指offer】调整数组顺序
剑指offer上的第14题,九度OJ为了确保输出的结果的唯一性,在输出上做了修改,因此采用的方法自然与书本上不同,这里没有限制,思来想去还是用最简单的方法来做了,非常简单的方法,直接上代码。 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 输入: 每个输入文件包含一组测试案例。 对于每个测试案例,第一行输入一个n,代表该数组中数字的个数。 接下来的一行输入n个整数。代表...
分类:其他好文   时间:2014-05-15 08:14:26    阅读次数:285
hdu3709(求区间内平衡数的个数)数位dp
题意:题中平衡数的定义: 以一个位置作为平衡轴,然后左右其他数字本身大小作为重量,到平衡轴的距离作为全职,实现左右平衡(即杠杆原理平衡)。然后为区间[x,y]内平衡数的个数。 (0 ≤ x ≤ y ≤ 1018) 解法:数位dp。如果一个数的平衡数,那么它的平衡轴位置是确定的。原来一直尝试数位dp在dfs时候列举平衡轴的位置,后来才意识到可以提前枚举平衡轴位置,然后再dfs,这样比较好写...
分类:其他好文   时间:2014-05-15 02:43:39    阅读次数:288
leetcode第一刷_Integer to Roman
这道题当时不会写,是参照discuss写的。 首先要弄明白罗马数字的规则,这个在国外难道是常识吗,为什么题干一点都没讲。。 4000以下一共有下面几种符号:"M", "D", "C", "L", "X", "V", "I",对应到我们十进制为:1000, 500, 100, 50, 10, 5, 1。还有一条非常重要的规则,就是同样的字符最多重复出现三次。这就决定了数位上带4和9的跟普通的数值...
分类:其他好文   时间:2014-05-15 00:02:06    阅读次数:391
hdu3652(数位dp)
题意:求1-n(n 解法:数位dp。LL dp[pre][now][have][iflow][rem]记录着第pre位为now,have表示前边是否出现过13,iflow表示dp过程否有降低,rem表示后续需要的余数是多少。 代码:/****************************************************** * author:xiefubao ...
分类:其他好文   时间:2014-05-14 19:29:37    阅读次数:266
VOID和PVOID
P表示指针,那么PVOID表示:void * ---无类型指针所有指针都是一个32位二进制数(32位系统下),这个意义上说所有指针都是一样的,它们的大小一样,用于指向内存中的某处地址,然而指针为什么要有类型之分呢?答案是指针偏移。例如p为一个指针,它指向内存某处地址,那么p+1(或者写p[1])是什...
分类:其他好文   时间:2014-05-14 09:51:52    阅读次数:231
poj2282(数位dp)
题意:计算a-b中各个数字出现的个数; 解法:数位dp(思想都是先算1-b的个数,然后减掉1-a中的个数),1-9数字的计算和前边计算1的那一篇数位dp差不多,计算0时候要加一维表示前缀是否全是0; 代码:/****************************************************** * author:xiefubao *****************...
分类:其他好文   时间:2014-05-12 23:51:12    阅读次数:470
nyoj10 滑雪
dp[ i][j]=max(四个方向点)+1; 四个方向上的点应该存在,且大于i,j,表示以i,j开始的点最长路径,递归的结束条件不用判断,因为 dp[][]最大数位置肯定 直接结束,随后次大值肯定能结束,以此类推,所以可以执行,但自下而上动态规划不好写。因为要确定这些数的大小,麻烦。 #inclu...
分类:其他好文   时间:2014-05-12 21:21:23    阅读次数:323
数位dp(求1-n中数字1出现的个数)
题意:求1-n的n个数字中1出现的个数。 解法:数位dp,dp[pre][now][equa] 记录着第pre位为now,equa表示前边是否有降数字(即后边可不可以随意取,true为没降,true为已降);常规的记忆化搜索 代码:/****************************************************** * author:xiefubao ...
分类:其他好文   时间:2014-05-11 20:48:20    阅读次数:279
UVA 11038 - How Many O's?(计数问题)
题目链接:11038 - How Many O's? 题意:求[a.b]之间,0出现的次数。 思路:一开始一直往数位DP上去想,结果发现挺复杂的。。 把问题先转化为求0 - num的个数,在用到b的个数减去到a的个数 其实只要利用计数的乘法和加法原理,把数字对应的每一位的分成左右两边,利用乘法原理求总数,在用加法原理把所有的总数加起来就是总情况数。那么讨论一下分成两边的情况。举个例子 比...
分类:其他好文   时间:2014-05-11 13:16:13    阅读次数:282
UVA 11361 - Investigating Div-Sum Property(数位DP)
题目链接:11361 - Investigating Div-Sum Property 白书上的例题,不过没有代码,正好前几天写了一题数位DP的题目,这题也就相对轻松了。 dp[i][x][y]表示加到第i位,数字 % k,数位和 % k的组合情况数,那么现在要添加一个0 - 9的数字上去状态转移为 dp[i + 1][(x * 10 + num) % k][(y + num) % k],计...
分类:其他好文   时间:2014-05-11 05:23:33    阅读次数:316
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!