摘要: http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.htmlhttp://www.cppblog.com/theorix/archive/2008/08/29/60406.html 阅读全文
posted @ 2012-07-28 20:56 冰鸮 阅读(62) 评论(0) 推荐(0)
摘要: 题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1102正着做9种情况:ininputinputoninputoneoutoutputoutputonoutputoneone反着做貌似更简单一些,情况更少一点。我是正着做的。 1 #include <cstdio> 2 3 const int MAXN = 10000000 + 5; 4 5 char str[MAXN]; 6 7 bool Judge() 8 { 9 if ( !(str[0] == 'o' || str[0] == 'p' 阅读全文
posted @ 2012-07-28 20:14 冰鸮 阅读(333) 评论(0) 推荐(0)
摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1859题目:给出一个矩阵,求出指定子矩阵中的最小元素。我用的不是正规解法,纯属水过去的……这个是留着自己看的,大家就不要学了。 1 #include <cstdio> 2 #include <cstring> 3 4 const int MAXN = 300 + 10; 5 6 int map[MAXN][MAXN]; 7 int Mat[MAXN][MAXN]; 8 9 int n;10 int INF = 2147483645;11 12 阅读全文
posted @ 2012-07-28 19:54 冰鸮 阅读(285) 评论(0) 推荐(0)
摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=986最长上升子序列…… 1 #include <cstdio> 2 #include <cstring> 3 4 const int MAXN = 40000 + 10; 5 6 int n; 7 int num[MAXN]; 8 int stack[MAXN]; 9 10 int Bsearch( int x, int y, int v )11 {12 int m;13 while ( x < y )14 {15 m =... 阅读全文
posted @ 2012-07-28 19:50 冰鸮 阅读(166) 评论(0) 推荐(0)
摘要: 题目链接:http://poj.org/problem?id=3233题目:给出一个 n×n 的矩阵 A 和一个整数k, 求S=A+A2+A3+ … +Ak.其中n(n≤ 30),k(k≤ 109) ,m(m< 104).分析:两次二分,A^i可以用矩阵快速幂,然后求和二分。比如,当k=6时,有:A + A^2 + A^3 + A^4 + A^5 + A^6 =(A + A^2 + A^3) + A^3*(A + A^2 + A^3)--------------------------------------我用的递归求和,程序很杯具的跑了2s……等有空再改改吧,写的真的很糟糕 阅读全文
posted @ 2012-07-28 11:46 冰鸮 阅读(145) 评论(0) 推荐(0)
摘要: 参考资料: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 冰鸮 阅读(210) 评论(0) 推荐(0)