上一页 1 ··· 21 22 23 24 25
摘要: 参考资料:http://baike.baidu.com/view/379209.htmhttp://wenku.baidu.com/view/a3c70f641ed9ad51f01df2f1.html(1) & 按位与 如果两个相应的二进制位都为1,则该位为1,否则为0应用:二进制取位。例如:a & 1 可以用来判断a的奇偶,结果为1则是奇数,为0则是偶数。(2) | 按位或 两个相应的二进制位中只要有一个为1,则该位为1,否则为0应用:对二进制位上的特定位进行无条件赋值。例如:a | b 就是把二进制最末位强制改为1,如果需要改为零,则 a | b - 1 即可。其实际意义. 阅读全文
posted @ 2012-07-28 10:15 冰鸮 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 跟UVa 10453 一个类型的题。题目:给定一个字符串,可以进行 添加任意一个字符,删除任意一个字符,替换任意位置的一个字符变为任意另一个字符 这三种操作,求使得该字符串变成回文串最少操作步数。添加一个字符与删除一个字符等效,因此只考虑添加。递推公式:dp[x][y]代表位置x到位置y的字符串变成回文串的最小操作数if ( str[x]==str[y] ) dp[x][y] = dp[x+1][y-1];else dp[x][y] = min(dp[x+1][y], dp[x][y-1], dp[x+1][y-1]) + 1; 1 #include <cstdio> 2 #inc 阅读全文
posted @ 2012-07-27 22:18 冰鸮 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 一直都不太会做这种字符串的动规题,今天看了一份解题报告,才稍微有点明白。感觉方法跟求最长公共子序列有点像……之前遇到过几个类似的,改天一块整理一下。-------------------------------------------------------------------题目:给定一个字符串,最少添加几个字符,能使它变成一个回文串。递推公式:dp[x][y]代表从第x个字符到y个字符中间最少需要添加几个字符。if ( str[x] == str[y] ) dp[x][y] = dp[x+1][y-1];else dp[x][y] = min( dp[x][y-1], ... 阅读全文
posted @ 2012-07-27 21:50 冰鸮 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4562题目:给出一组数列和六种操作, 输出经过P次操作之后的数列。分析:因为P(1≤ P ≤ 109)很大,所以直接模拟会超时。也是看了解题报告之后才知道要用矩阵快速幂做。首先,把操作转化为矩阵乘法。因为 1×n 的矩阵乘以 n×n 的矩阵还是得到一个1×n 的矩阵,所以对数列的每一种操作都可以描述成一个n×n 的矩阵。然后再用矩阵快速幂得结果即可。快速幂模板:http://www.2cto.com/kf/201207/140 阅读全文
posted @ 2012-07-27 16:07 冰鸮 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给出一些建筑物的高度与宽度,求出一条最矮的抛物线运动轨迹,能够跨过所有的建筑物。输出初速度与水平方向的夹角,以及初速度的大小。重力加速度取9.8m/(s^2)思路:因为该抛物线过固定点(0,0)和(D,0)(D为所有建筑物宽度之和),故设抛物线方程为:y=A*x*(x-D)建立直角坐标系,得到最高的那一圈点的坐标。例如第二组样例:5010.52011.52510101507其对应坐标为:(10.500000,20.000000)(22.000000,25.000000)(32.000000,25.000000)(47.000000,10.000000)(54.000000,0.000 阅读全文
posted @ 2012-07-26 20:30 冰鸮 阅读(222) 评论(0) 推荐(0) 编辑
上一页 1 ··· 21 22 23 24 25