Generalized Palindromic Number
Time Limit: 2 Seconds      Memory Limit: 65536 KB
A number that will be the same when it is written forwards or backwards is known as a palindromic number. For exa...
                            
                            
                                分类:
其他好文   时间:
2014-09-11 13:55:32   
                                阅读次数:
215
                             
                    
                        
                            
                            
                                还是一道矩阵快速幂题,不过要使用的前提是要找到规律,当时没有想到,最好看到了别人的报告才明白了。
          n为奇数是:ans=ans*2+1;  n为偶数时 :ans=ans*2;  前几个数位 1,2,5,10,21,42,83……
         规律为   f(n)= 2 * f ( n - 2 ) + f ( n - 1 ) + 1;
         构造矩阵...
                            
                            
                                分类:
其他好文   时间:
2014-09-11 11:18:21   
                                阅读次数:
153
                             
                    
                        
                            
                            
                                原码: 计算机中所有的数均用0、1编码表示,数字的正负号也不例外,如果一个机器数字长是n位的话,约定最左边一位用作符号位,其余n-1位用于表示数值。1、一个正数,当用原码、反码、补码表示时,符号位都固定为0,用二进制表示的数位值都相同,即三种表示方法完全一样。 2、一个负数,当用原码、反码、补码表示...
                            
                            
                                分类:
其他好文   时间:
2014-09-09 17:32:49   
                                阅读次数:
180
                             
                    
                        
                            
                            
                                题目链接:hdu 4734 F(x)
题目大意:给定f(x)的计算公式,现在给出n和m,求有多少个x,x 
解题思路:数位dp,dp[i][j]表示到第10i内,然后f值为j的总数。
#include 
#include 
#include 
using namespace std;
const int maxn = 10000;
int n, bit[15];
int dp[1...
                            
                            
                                分类:
其他好文   时间:
2014-09-09 13:23:48   
                                阅读次数:
145
                             
                    
                        
                            
                            
                                本题使用动态规划法思想。
因为需要一步一步地替换相对应的数字的,如果直接模拟,那么就需要大量插入和删除操作,最快也需要lg(n)的效率,但是最后数列就会变得非常长,这样最后计算结果遍历一次也会超时的。故此使用数据结构加速替换操作,并不是好办法。
这就使用动态规划法从后往前替换,相当于路径压缩了,一步直接把数字替换成最终结果的数字。
也要记录好每个数字最终替换成多少个数位,以便正确计算结果。
可以画树来模拟一下替换操作,那么从叶子节点往根节点替换数字,把所有的路径都直接压缩起来。...
                            
                            
                                分类:
其他好文   时间:
2014-09-09 13:11:48   
                                阅读次数:
259
                             
                    
                        
                            
                            
                                给n个数
求异或前缀(从前连续取一些数全作异或)和异或后缀(从后连续取一些数全作异或)异或的最大值
好坑啊,指针好坑啊
第一道trie树
简单说下解法(其实壳还是不深):
先异或所有数作为初始后缀
然后从前往后的数逐个从后缀出来,进入前缀,
在这个过程中,都把当前前缀变成二进制压入trie,然后当前后缀变成二进制从高位到低位尽量取和它数位不同的值,沿着trie往下走,得到一个最好...
                            
                            
                                分类:
其他好文   时间:
2014-09-09 13:11:40   
                                阅读次数:
278
                             
                    
                        
                            
                            
                                一开始觉得是数位DP,后来想不出来。 但是感觉爆搜+剪枝可以过,于是就过了。。#include #include #include using namespace std;typedef long long LL;const int maxn = 50;int lim[maxn], len;LL n...
                            
                            
                                分类:
其他好文   时间:
2014-09-07 18:32:55   
                                阅读次数:
177
                             
                    
                        
                            
                            
                                MoveMemory、CopyMemory 的功能类似, 都是复制内存, 都是调用 Move 过程;MoveMemory、CopyMemory 操作指针; Move 操作实体.还要注意, 它们的参数位置不一样!{例1}var buf1,buf2: array[0..9] of AnsiChar;b....
                            
                            
                                分类:
其他好文   时间:
2014-09-07 14:45:25   
                                阅读次数:
247
                             
                    
                        
                            
                            
                                2013 ACM/ICPC Asia Regional Chengdu Online
题目链接
4730:签到题,直接判断结尾即可
4731:找规律,关键是字母数为2的时候
4734:数位dp,这题把小于和等于的情况分开考虑了,这样每次不用清空dp数组,只需要在计算出等于的情况即可
4737:twopointer+位运算
代码:
#include 
#include ...
                            
                            
                                分类:
其他好文   时间:
2014-09-06 20:03:33   
                                阅读次数:
281
                             
                    
                        
                            
                            
                                菜鸟系列之C/C++经典试题(八)
计算二进制中1的个数...
                            
                            
                                分类:
编程语言   时间:
2014-09-06 18:42:03   
                                阅读次数:
186