第十章 数学概念与方法(习题)
aozil_yang
这个作者很懒,什么都没留下…
展开
-
习题10-4 UVA 1644 Prime Gap(素数打表+二分查找)
很简单的一道题目, 输入一个数n,求左右相邻素数的差,若n是素数则输出0.思路:素数打表,打表的同时,把是素数的装到vector里面,最后二分查找即可!代码如下:#include#include#include#include#includeusing namespace std;const int maxn = 1500000;int vis原创 2016-02-02 15:04:37 · 468 阅读 · 0 评论 -
习题10-39 UVA 11186 Circum Triangle圆周上的三角形
题目问题描述的很简单:不过超时了好几次,超时都是因为用了三重循环。其实在网上看到了一个n^2的方法来求圆上的三角形。思路:1.先把所有角度排序。枚举所有的两个点,i,j,那么我们能控制的只有Soij,所以只看这个面积,j点右边的有n - j个,算一下得出这n - j个是加Soij,ij中间有j - i + 1个三角形,算一下得出,这个j - i+ 1 个三角形需要减, i右原创 2016-02-08 00:06:36 · 381 阅读 · 0 评论 -
习题10-1 11040 Add bricks in the wall 砌砖
因为在老家网络不好的原因,做完了来不及发记录博客,拖了好多!很有意思的一道题目,计算所有石头的数值。很简单,做完之后才发现,就只有9行!还以为有很多行!那就有两种方法:一种就全都算出来,打表输出即可!另外就是循环计算值了!1.我的思路是扫描3,5,7,9..行。2.每一行扫2,4,6,8,10.。。。个砖头,从而计算上一行的相邻的两个值!代码如下:#incl原创 2016-02-13 16:41:02 · 435 阅读 · 0 评论 -
习题10-3 UVA 1643 Angle and Squares 角度和正方形
大体题意:给你一个第一象限的一个角,在给你n个正方形的边长,问这个角和正方形围成面积的最大值!样例就给了一个一个正方形,完全不好找规律,但求出样例后发现,发现正方形和y轴,x轴是平行的。就可以猜测,n个正方形的摆放也一定是与y轴,x轴平行的,剩下的就是正方形之间如何摆放了,很显然是他们对角线共线的时候,,(其实看了学长的博客知道的)然后就是求可以了,求解有多种办法,在这里给出两原创 2016-02-13 17:18:28 · 768 阅读 · 0 评论 -
习题10-9 UVA 294 Divisors(约数)
看到这个题,一看U-L 让你找一个数的正因子个数,感觉应该不是硬来的,就百度了一下,果然有比较简单的方法:找一个数X的约数个数:根据唯一分解定理:可以把整数X分解成若干素数相乘的形式:X = (P1^a1 )× (P2^a2 )× (P3^a3 )......那么X的正因子个数就等于 (a1+1) × (a2+1) × (a3+1)......所以思路就很清晰了:1.先从原创 2016-02-03 19:47:07 · 392 阅读 · 0 评论 -
习题 10-23 UVA - 10479 The Hendrie Sequence
大体题意:H (1) = 0;然后把每一个数字X都改成X个0加上X+1的形式,问最后第n个值是多少!(注意可以不是个位数!)思路:看了好久,还是从题解发现的规律。规律:第2 ^ K 一定是K,然后这个K前面有K - 1个0,K-2个1,K-3个02.。。。。。依次类推 直到K - n = 1。这样写出长度足够长的Hn来之后可以发现,每一个数字前面的规律都符合上原创 2016-03-22 22:57:32 · 445 阅读 · 0 评论 -
习题10-12 UVA - 557 Burger 汉堡
大体题意:告诉你有n个学生,有n/2个牛肉堡,和n/2个鸡肉堡,求最后两个孩子吃相同汉堡的概率!思路:请教的队友~~先算不同的概率!从剩下的n-2个人中,选择(n-2)/2个人 吃鸡肉,剩下(n-2)/2 吃牛肉堡!这样概率就是C(n-2,(n-2)/2)*(1/2)^(n-2)算算递推式 就可算出 ans[n] = ans[n-2] * (n-3)*1.0/(n-2原创 2016-04-22 00:23:06 · 588 阅读 · 0 评论 -
习题10-5 UVA - 1213 Sum of Different Primes 不同的素数之和(DP + 素数打表)
大体题意:选择K个质数,使他们的和等于N ,问有多少种选法!思路:N不大 小于等于1120直接打一个素数表,然后dpdp[i][j] 表示 选择j 个素数 构成i 方法数。三层循环 第一层直接枚举素数, 第二层枚举选择的数量,第三层枚举构成的结果N。#include#include#include#includeusing namespace std;原创 2016-05-30 18:51:40 · 369 阅读 · 0 评论 -
习题10-6 UVA - 1210 Sum of Consecutive Prime Numbers 连续素数之和(滑动窗口)
大体题意:给你一个整数n(n 思路:直接素数打表,然后滑动窗口即可!当sum 小于目标时,移动右边r。发现达到目标,直接记录答案。当sum 大于目标时,直接减左边的l 最后输出ans 即可!#include#include#include#includeusing namespace std;const int maxn = 100000 + 10;原创 2016-05-31 17:15:50 · 893 阅读 · 0 评论