03 2016 档案
摘要:Tarjan算法来解这题。无向图可以转化为有向图来解决。
阅读全文
摘要:来自博客:http://www.cnblogs.com/saltless/archive/2010/11/08/1871430.html 求强连通分量的Tarjan算法 说到以Tarjan命名的算法,我们经常提到的有3个,其中就包括本文所介绍的求强连通分量的Tarjan算法。而提出此算法的普林斯顿大
阅读全文
摘要:给出N个固定集合{1,N},{2,N-1},{3,N-2},...,{N-1,2},{N,1}.求出有多少个集合满足:第一个元素是A的倍数且第二个元素是B的倍数。 提示: 对于第二组测试数据,集合分别是:{1,10},{2,9},{3,8},{4,7},{5,6},{6,5},{7,4},{8,3}
阅读全文
摘要:证明略。在此只要求指导exgcd,并且会使用。 欧几里德算法:现在有a=xb+y,其中a,b,x,y为整数,那么可以得到:gcd(a,b)=gcd(b,a%b)。 代码实现: 扩展欧几里德算法: 对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在无数组整 数对
阅读全文
摘要:用优先队列来贪心,是一个很好地想法。优先队列在很多时候可以维护最值,同时可以考虑到一些其他情况。 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1163
阅读全文
摘要:N元钱换为零钱,有多少不同的换法?币值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。 例如:5分钱换为零钱,有以下4种换法: 1、5个1分 2、1个2分3个1分 3、2个2分1个1分 4、1个5分 (由于结果可能会很大,输出Mod 10^9 + 7的结果) N元钱换为零钱,
阅读全文
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1013 这是一个等比数列,所以先用求和公式,然后和3^(n+1)有关,有n比较大,所以用快速幂来解决,又有/2的操作,所以可以用费马小定理取逆元。
阅读全文
摘要:将一堆正整数分为2组,要求2组的和相差最小。 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。 将一堆正整数分为2组,要求2组的和相差最小。 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。
阅读全文
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1050 对于普通的数组,只要求一次最大子段和即可。但是这题是可以循环的,所以要另外分析。 1:最大的值在原数组中间部分。 2:最大值是结尾部分和开头部分。(如果要循环,就是这
阅读全文
摘要:费马小定理:假定p是素数,并且a与p互质,a^(p-1) = 1(mod p); 即:a的p-1次方除以p余数为1。 可以解决除法取mod的情况。 b^(m-1) = 1(mod m) => b*(b^(m-2)) = 1(mod m); || || \/ \/ a/b = a/b * b*b^(m
阅读全文

浙公网安备 33010602011771号