随笔分类 -  数学题

摘要:题意:问小于n的数的乘积能拼成的最大平方数是多少?思路:给n!做质数分解在除去指数为奇数的那些质数,由于题目中需要模运算所以不能直接除,必须乘上摸逆。代码如下: 1 /************************************************** 2 * Author ... 阅读全文
posted @ 2014-06-28 23:44 张小豪 阅读(498) 评论(0) 推荐(0)
摘要:题意:a^b次方,让你取低三位和高三位。思路:低三位用快速模幂,高三位可以取对数。代码如下: 1 /************************************************** 2 * Author : xiaohao Z 3 * Blog : http://www.cnblogs.com/shu-xiaohao/ 4 * Last modified : 2014-03-28 22:01 5 * Filename : uva_11029.cpp 6 * Description : 7 * ******************... 阅读全文
posted @ 2014-03-28 23:11 张小豪 阅读(463) 评论(0) 推荐(0)
摘要:题意:找n以内有多少对互质的数。思路:欧拉函数预处理一下,然后答案等于(∑Euler(i)-1)*2 + 1 i从1到n。代码如下: 1 /************************************************** 2 * Author : xiaohao Z 3 * Blog : http://www.cnblogs.com/shu-xiaohao/ 4 * Last modified : 2014-03-28 18:19 5 * Filename : uva_10820.cpp 6 * Description : 7 ... 阅读全文
posted @ 2014-03-28 18:36 张小豪 阅读(158) 评论(0) 推荐(0)
摘要:报告参考:http://www.cnblogs.com/scau20110726/archive/2012/12/21/2828420.html代码如下: 1 /************************************************** 2 * Author : xiaohao Z 3 * Blog : http://www.cnblogs.com/shu-xiaohao/ 4 * Last modified : 2014-03-27 23:04 5 * Filename : uva_11121.cpp 6 * Description... 阅读全文
posted @ 2014-03-27 23:41 张小豪 阅读(173) 评论(0) 推荐(0)
摘要:题意:對任何2個整數 x 和 k,存在另2個整數 p 和 q 使得:要證明上面的式子是一件相當容易的事,所以我們不會要求你去做。我們要你做的事甚至更容易一些。給你 x 和 k 的值,請你找出 p 和 q 使得上面的式子成立。思路:显然使用扩展欧几里德就可以直接解决。代码如下: 1 /************************************************** 2 * Author : xiaohao Z 3 * Blog : http://www.cnblogs.com/shu-xiaohao/ 4 * Last modified : 2014-0... 阅读全文
posted @ 2014-03-26 23:12 张小豪 阅读(251) 评论(0) 推荐(0)
摘要:题意:让你算数a^2+b^2=c^2在n内全部(a, b, c) = 1的解得个数,和除去所有(a, b, c)能满足方程的数字个数。思路:暴力会超时所以需要使用勾股定理:设 m > n 、 m 和 n 均是正整数,a = m2 − n2,b = 2mn,c = m2 + n2若 m 和 n 是互质,而且 m 和 n 至少有一个是偶数,计算出来的 a, b, c 就是素勾股数。(若 m 和 n 都是奇数, a, b, c 就会全是偶数,不符合互质。) ——百... 阅读全文
posted @ 2014-03-26 22:49 张小豪 阅读(255) 评论(0) 推荐(0)
摘要:题意:求一个字符串转化为2进制右移十六位加上一个数整除34943为零。思路:转化为大数求余数。代码如下: 1 /************************************************** 2 * Author : xiaohao Z 3 * Blog : http://www.cnblogs.com/shu-xiaohao/ 4 * Last modified : 2014-03-25 08:21 5 * Filename : uva_128.cpp 6 * Description : 7 * **************... 阅读全文
posted @ 2014-03-26 00:11 张小豪 阅读(254) 评论(0) 推荐(0)
摘要:这道题折腾了好长时间,必须写一下。大致题意:主要提议是要在一个数组种找一个数列满足这个数列相邻两个数之间一定有约束即(gcd>1)。思路:一看就是dp的题目,数据1e5显然不能暴力。所以类似于最长上升子序列的思想,我用了一个数组表示当前约束为prime[i]最大连续长度。接下来就好做了dp[i] = max(tag[k])k为num[i]所有约数。每次状态转移完更新tag数组就是将他所有的约束都更新为当前最大值。最后扫描一边dp数组最大值即为答案。注意所有的约数必须都为素数,我一开始就错在了这里,然后就是编程上注意,我好tle了一次。代码如下: 1 #include 2 #include 阅读全文
posted @ 2013-11-20 23:09 张小豪 阅读(308) 评论(0) 推荐(0)
摘要:构思上还是比较简单,我们可以递归的思考问题。每一个字符串都包含三部分根节点str[0]左子树str[1]-str[k]与右子树str[k+1]-str[n-1]根据乘法原理整棵树的方案数=左子树方案数*右子树方案数。这样一分析我们可以看到了这是一个区间上动态规划的问题。剩下来的就简单了,先套一下模版三层循环,再把式子列上去就ok了。 1 #include 2 #include 3 #include 4 #include 5 #define ll long long 6 #define MOD 1000000000 7 #define LEN 310 8 using namespace ... 阅读全文
posted @ 2013-11-08 09:07 张小豪 阅读(209) 评论(0) 推荐(0)
摘要:依然是liurujia计数练习题。依然是自己想没想出来,在MOD是素数的情况下除以x即为乘x的逆。这个真心以前没听过,用了这个方法后处理就变得十分巧妙。整个程序步骤还是很清晰的,先上来算阶乘与逆(求数的逆还是有点没理解透,需要后续章节继续学习)。然后读入建图只能用邻接表了,注意加上最开始的那个根节点就行了。然后就是搜索按照书上的公式计算就行了。代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define LEN 40100 8 #define MOD 1000000007 9 #d... 阅读全文
posted @ 2013-11-08 01:05 张小豪 阅读(453) 评论(0) 推荐(0)
摘要:uva 11538 (排列组合)主要是推公式nP2 n为有多少个点可以选放两个皇后,行和列的公是显而易见分别为n*m*(m-1) and m*n*(n-1)主要是对角线的公式难出来。先分析一个4*7的棋盘图上蓝色的均为有m个格子可以选对于这部分可以推出公是(n-m+1)*m*(m-1)对于彩色的格子则可以看出他是从2-(n-1)的2*∑i*(i-1)推出公式m*(m-1)*(2*m-4)/3然后就是编程求解了,代码如下: 1 #include 2 #include 3 #include 4 #define ll long long 5 using namespace std; 6 7 ... 阅读全文
posted @ 2013-11-04 02:06 张小豪 阅读(329) 评论(0) 推荐(0)