上一页 1 2 3 4 5 6 ··· 20 下一页
摘要: 题目大意:计算斐波那契数列的第n项。 由于结果会很大,要用到大数。开始本来想节省空间的,就没用数组保存,结果超时了... 1 import java.io.*; 2 import java.util.*; 3 import java.math.*; 4 5 class Main 6 { 7 public static void main(String args[]) 8 { 9 Scanner sc = new Scanner(System.in);10 BigInteger[] F = new BigInteger[5010];11 ... 阅读全文
posted @ 2013-09-30 10:43 xiaobaibuhei 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 1.2 中国象棋将帅问题。 中国象棋中,“将”和“帅”都有九个位置可以选择放置,找出所有将和帅不再一列的放置方法,要求只能使用一个字节存储变量。 这道题的难点在于只能使用一个字节存储变量。第一种思路是用一个字节的高四位和底四位分别保存将和帅的位置,一种方法是使用位操作,略显麻烦,另外一种方法就是使用位域(bit-field),操作比较简单;第二种思路就是利用二维矩阵与一维的对应关系,通过 /C 和 %C 操作得到元素的行号和列号(C为二维矩阵的列数),如下图。012001213452678 因为以前只是知道位域这个概念,没有用过,就写一下代码熟悉一下吧。 1 #include 2 ... 阅读全文
posted @ 2013-09-29 22:36 xiaobaibuhei 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 这几天为了找工作开始看《剑指offer》,到现在也大概浏览一遍了,前两天看作者博客中提到九度OJ,就去看了一下,发现上面有书上的题目,就想可以自己写代码练习一下,而不仅仅是看解题思路,毕竟还是觉得写代码实在。可是现在却不想一道一道做了,知道怎么解决并且看过代码后忽然就没动力再去写了...唉... 不过最后还是决定写点,写一点是一点吧,记录一下自己的代码。也许我一看要写50道题就有点害怕了,毕竟最近因为找工作的事情有点闹心,没法静下心来做事情,uva也暂时停止了,反正现在搞的挺乱的... 好了,没用的话说也说了,说一下感受吧,浏览完这本书后留下印象最深的就是对空指针的判断,每一个涉及指针... 阅读全文
posted @ 2013-09-29 12:12 xiaobaibuhei 阅读(1705) 评论(0) 推荐(0) 编辑
摘要: 昨天下午查看邮箱,看到了topcoder的SRM比赛通知和cf的比赛通知,当时什么也不想做,心里空荡荡的,忽然就想参加一下,试试看。吃完晚饭回来一看,就剩十几分钟了,匆忙把平台下了,就开始等待比赛开始了。话说这是第一次在topcoder比赛,以前一直都不想的,认为自己水平不够,参加比赛也是找虐,想把水平提高一下再比赛,可是...直到现在还是菜鸟一只...汗颜... 以前也在tc上练习过了,貌似做了一道题...不过后来重装系统了,所有插件、配置都没了,等到比赛开始,我就有点傻了,写类写方法...?好像有点印象,就试着写了第一题,在不能编译、不能调试的情况下(当时忘了有编译和调试功能),竟然提.. 阅读全文
posted @ 2013-09-28 18:26 xiaobaibuhei 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 题目大意:判断一个很大的二进制能否被131071整除。在二进制转十进制的过程中不断取模,最后判断结果是否是0就可以了。 1 #include 2 #include 3 4 int main() 5 { 6 #ifdef LOCAL 7 freopen("in", "r", stdin); 8 #endif 9 char str[200];10 while (gets(str))11 {12 int t = 0;13 bool stop = false;14 do15 {16 ... 阅读全文
posted @ 2013-09-21 21:48 xiaobaibuhei 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目大意:计算R = BP mod M,根据模运算的性质计算。 正常计算会超时,可以用分治的思想降低时间复杂度。不过如果遇到00,结果...话说00的结果是1吗?忘了都... 1 #include 2 3 int powMod(int base, int exp, int mod) 4 { 5 if (exp == 0) return 1; 6 int res = powMod(base, exp>>1, mod); 7 res = (res * res) % mod; 8 if (exp & 0x1 == 1) res = (res * base... 阅读全文
posted @ 2013-09-21 21:24 xiaobaibuhei 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题目大意:Euler's Totient的应用。 几乎和UVa 10179 - Irreducable Basic Fractions一样,于是偷了个懒,直接用10179题的代码,结果WA了,感觉一样啊...然后就搜,看到n=1的特殊情况,好吧,读题的时候也小小注意了一下"less than" 呢,写代码时就忘的一干二净了...读题时应该把注意事项记下来的... 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 typedef vector vi; 7 typedef long 阅读全文
posted @ 2013-09-20 21:07 xiaobaibuhei 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给一个正整数n,求出在[1, n]区间内和n互质的正整数的个数。Euler's Totient(欧拉函数)的直接应用。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 typedef vector vi; 7 typedef long long ll; 8 #define MAXN 10000000 9 10 bitset bs;11 vi primes;12 13 void sieve(ll upper)14 {15 bs.set();16 bs.set(0, fa... 阅读全文
posted @ 2013-09-20 20:50 xiaobaibuhei 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给出两个数的最大公约数G和最小公倍数L,求出这两个数。 根据a*b = GCD * LCM,然后枚举判断就好了。 1 #include 2 typedef unsigned long long ull; 3 4 int main() 5 { 6 int T; 7 scanf("%d", &T); 8 while (T--) 9 {10 ull g, l;11 scanf("%llu%llu", &g, &l);12 ull t = g * l, a, b;13 bool ok =... 阅读全文
posted @ 2013-09-19 15:47 xiaobaibuhei 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给一个偶数,判断是否是两个素数的和。 先用sieve方法生成一个素数表,然后再进行判断即可。 1 #include 2 #include 3 #include 4 using namespace std; 5 typedef vector vi; 6 typedef long long ll; 7 #define MAXN 1000000 8 9 vi primes;10 bitset bs;11 12 void sieve(ll upper)13 {14 bs.set();15 bs.set(0, false);16 bs.set(1, fal... 阅读全文
posted @ 2013-09-19 14:13 xiaobaibuhei 阅读(207) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 20 下一页