摘要:
由于x取任何值都需要能被65整除.假设f(x)成立的基础上,证明f(x+1)也成立.那么把f(x+1)展开(使用二项式),然后提取出5*x^13+13*x^5+k*a*x(即f(x))。若f(x+1 )=f(x)+y能被65整除,只需要除y能被65整除.那么也只要求出18+k*a能被65整除就可以... 阅读全文
2011年10月10日
摘要:
一道规律题目,同题目Rightmost Digit一样的性质,较易。 #include int main(){ int v,result,circle; __int64 a,b; while(scanf("%I64d%I64d",&a,&b)!=EOF) { ... 阅读全文
摘要:
题目理解一下就是求二分图的最大独立集。而二分图的最大独立集数=节点数(n)— 最大匹配数(m)。所以关键在于求二分图的最大匹配数。 二分图的最大匹配数可以使用匈牙利算法解答,其理论依据为:http://www.cnblogs.com/AdaByron/articles/2200978.html #... 阅读全文
摘要:
大数乘法,过不了只能说明测试用例不完备。贴几组测试用例: 5.1004 15 41120989454.314570363993506408035342551967503175087477761156936917581824 000.10 20 .00000000000000000001 12.... 阅读全文
摘要:
使用变量记录开始反转的位置,很不错的方法。 #include using namespace std;int main(){ int t; cin>>t; getchar(); while(t--) { char a[1001]; cin.... 阅读全文
摘要:
纯粹的找规律的题目。N的次方的结果的末尾数是有循环的,且所有的循环的大小不大于四,所以有以下解法。 #include int main(){ int num,result; __int64 value; scanf("%d",&num); while(num--) ... 阅读全文
摘要:
同样使用lg值计算最高位。任意一个数都可以表示为科学计数法的性质,即N^N=a*10^x,所以最高位就是a的整数部分。 1.怎样去除10^X呢? 取lg的对数然后去除整数部分,然后将小数部分再取10的指数得到的值就是a。 2.怎样去取最高位。对a取整即是。 所以有代码: #include #inc... 阅读全文
摘要:
简单的题目,我的解法采用预处理,然后使用折半查找返回答案。 #includedouble answer[300];int len=0;double num;int binarySearch(){ int l=1,r=len,half; while(l=5.20) ... 阅读全文
摘要:
起始的时候是按照上下左右进行搜索的,然后不幸栈溢出。参考别人的实现才发现,原来迷宫还可以以索引为深度进行搜索。更改之后果断AC。由于搜索的时候是自左而右、自上而下的放置的,所以判断是否可以放置时,只需要判断左上的部分即可。 #include char maze[6][6];int num,resu... 阅读全文
摘要:
题目比一般的图类的题目稍微绕了点弯子。要根据问题建立解题所需要的图。起始点@和终止点using namespace std;#includeint width,height,jewelsNum;struct Point{ int col,row,value;};struct Map{ ... 阅读全文