
数学思维题
数学思维题
阿聊
愿我千帆过尽,归来仍是少年
展开
-
hdu1722
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1722解题思路:举个例子:4 6,用一个矩形来切割,其实应该是圆的。这里边界也得加上,因为首位其实是相连的。。。自己动手画下圆形的蛋糕模拟。先份成p块,然后再拼到一起,再从原来开始的地方,将蛋糕再分成q份,中间肯定会出现完全重合的块数为k,则此是需要分的块数就是 p + q - k.现在只需要求出k即可...原创 2017-07-26 16:08:43 · 365 阅读 · 0 评论 -
Leading and Trailing
题目题意:求n^k的前3位和后3位。 后3位用快速幂求;求前3位需要知道:一个数n,它可以写成10^x,其中这个x为浮点数,则n^k=(10^x)^k=10^x*k=(10^A)*(10^B);其中A,B分别是x*k的整数部分和小数部分。n^k 它的位数由(10^A)决定,它的位数上的值则有(10^B)决定,因此我们要求n^k的前三位,只需要将10^B求出,再乘以100,就得到了它的前三位...原创 2019-01-25 13:10:21 · 200 阅读 · 0 评论 -
hdu 2073 无限的路
题目题目是让求两点之间的折线距离,很自然的就可以想到分别求出两点(折线)到原点的距离,然后相减即可,本题没说两点的先后,再多一步取绝对值。求一点到原点之间的距离,可以把折线分成两部分,一部分是sqrt(2)的整数倍(如图中①所示),另一部分(如图中②所示)①将两个坐标分开来算长度计算,找到规律,坐标的横纵坐标之和就是最后点所在的线,其中点的纵坐标乘以根号2就是在最后一条线上没走完的距离。② 第二部...原创 2018-06-17 13:37:26 · 217 阅读 · 0 评论 -
hdu1002
题目分析:对于此题做法有两种:其一,使2字符串的中的字符数字减去'0',逐个相加大于等于10的可以使本位减10,下一位自增1,后面的处理就非常简单了;其二,便是读入字符串后先让各个字符减'0',一一对应存入整形数组中;之后再相加。对于2种方法大致是相同的,都要从后面向前加,逢十进位,以及数组初始化均要初始为0,一边方便运算。但是我总觉得这道题有bug下面是网上一位大牛的代码原创 2017-05-20 17:23:06 · 263 阅读 · 0 评论 -
hdu1089 Ignatius's puzzle
题目其实这道题不是很难,但是我刚开始拿到这道题的时候不知道怎么做,因为这个式子我就不知道是干什么的: 65|f(x) 百度解释(若a/b=x...0 称a能被b整除,b能整除a,即b|a,读作“b整除a”或“a能被b整除”。a叫做b的倍数,b叫做a的约数(或因数)。)即:f(x)能够被65整除。即题目大意是:方程f(x)=5*x^13+13*x^5+k*a*x;输入任原创 2017-10-16 13:38:07 · 290 阅读 · 0 评论 -
hdu 1270 小希的数表
题目思路:设所求的n个数按从小到大排列为a1,a2....an。 a1+a2一定是n*(n-1)/2个数的序列中最小的,a1+a3一定是次小的,通过枚举a2+a3的值解出符合条件的a1,a2,a3, 把他们两两相加的结果从n*(n-1)/2个数中排除。然后n*(n-1)/2个数中剩下的第一个没有被排除的数一定是a1+a4的值,这样可以求的a4,再从n*(n-1)/2个数中除去a原创 2017-10-20 16:20:45 · 1085 阅读 · 2 评论 -
hdu 2049 不容易系列之考新郎 && 对错排的详解
题目错排: 当n个编号元素放在n个编号位置,错排的方法数记着D(n)⒈把第n个元素放在一个位置,比如位置k,一共有(n-1)种方法;⒉放编号为k的元素,这时有两种情况:1°把它放到位置n,那么,对于剩下的(n-1)个元素,由于第k个元素放到了位置n,剩下(n-2)个元素就有D(n-2)种方法;2°第k个元素不把它放到位置n,这时,对于这(n-1)个元素,有D(n-1)种方法...原创 2017-09-12 14:56:35 · 416 阅读 · 0 评论 -
hdu 2056 Rectangles
题目这道题大一上学期的时候也做过,但是那个时候没有做出来,今天又看了一遍。 这主要是个数学问题。刚开始想到分为这么几种情况,觉得好复杂啊,转念一想只要(x4x2)或者(y3>y2),就一定不能重合最后得到的代码如下:#include double min(double x1,double x2){ if(x1<x2) return原创 2017-09-18 15:43:42 · 595 阅读 · 0 评论 -
hdu 2054 A==B?
题目这道题思路不难,但是很坑,我乍眼一看,以为是一个很简答的题,然后仔细一看过题率就知道一定有坑。。。这道题目中没有说数字的大小所以不能用判断整数是否相等的方法,而且有可能是小数,换言之,不能定义成int型,可能数字很大,所以只能用字符串来存储。。【判断字符串是否相等,要先去掉其前面的0,还有去掉后面的0,还要判断去掉后面的0后,最后一个字符是不是小数点,如果是的话,也要去掉。。。...原创 2017-09-18 14:48:48 · 458 阅读 · 0 评论 -
hdu 2050
平面分割问题(参见):http://blog.youkuaiyun.com/zhouhong1026/article/details/7854948题目这道题难点主要是对公式的推论,参见平面分割的那个博客就好了。我自己推肯定推不出来,也怪不得我数学不好了。。。。#includeint main(){ int C; int n; scanf原创 2017-09-18 13:45:58 · 363 阅读 · 0 评论 -
hdu 2058 The sum problem(数学题)
一个数学问题:copy了别人的博客#include#include#includeint main(){ int n,m,i,j; while(~scanf("%d%d",&n,&m)) { for( j=(int)sqrt(2*m); j>=1;j--) { i= (2*m/j-j+1)/2; if((i*2-1+j)*j == 2*m && i+j-1原创 2017-09-24 14:39:31 · 188 阅读 · 0 评论 -
错排思想
方法一: n各有序的元素应有n!种不同的排列。如若一个排列式的所有的元素都不在原来的位置上,则称这个排列为错排。任给一个n,求出1,2,……,n的错排个数Dn共有多少个。递归关系式为:D(n)=(n-1)(D(n-1)+D(n-2))D(1)=0,D(2)=1可以得到:错排公式为 f(n) = n![1-1/1!+1/2!-1/3!+……+(-1)^n*1/n!] 其中,n!=1*2*...原创 2017-05-05 09:05:51 · 254 阅读 · 0 评论 -
二分法查找——对数
对于有序数组,使用二分法查找数据比较的次数范围 需要次数10 4100 71000 1010000 14100000 171000000 20 除了对特别小的数组外,二分法查找表现是非常优秀的.每次对范围加倍可以创建出一个数列,它是2的幂,假设s表示步数,r表示范围,则有r=2s当我们知道查找的范围r,求步数s时.就是相当于求某数指数函数的反函数即对...原创 2017-06-28 11:58:47 · 1400 阅读 · 0 评论 -
hdu2041
题目这道题以前也看到过,但是没有写出来,我刚开始以为用循环遍历一边就可以了,结果我错了,没想到是用的斐波拉契推出来的,用的是递推的思想。站在楼梯的第n级想一下,前一步是从哪里来的,问题就清楚了。由于每次只能上一级或两级,那么f(n)=f(n-2)+f(n-1)。这不就是一个菲波拉契数列吗?就是一个递推问题?开始时候是站在第1级台阶上,所以数列的开原创 2017-08-04 20:45:42 · 574 阅读 · 0 评论 -
hdu2036
题目这道题,看了很多人的博客都是用的向量的方法做的,最后发现这种方法最简单已知三角形三顶点坐标,求三角形面积的表达式解:无论三角形的顶点位置如何,△PMN总可以用一个直角梯形(或矩形)和两个直角三角形面积的和差来表示而在直角坐标系中,已知直角梯形和直角三角形的顶点的坐标,其面积是比较好求的。下面以一种情形来说明这个方法,其它情形方法一样,表达式也原创 2017-08-04 19:31:25 · 275 阅读 · 0 评论 -
hdu 1018big number
分析: 123456=1.23456*10^5; log10(123456)=5.09151; log10(1.23456*10^5)=log10(1.23456)+log10(10^5)=0.09151+5; 故int(log10(n))+1 就是n的位数点击打开链接原创 2017-06-24 13:57:03 · 310 阅读 · 0 评论 -
最大最小公倍数
首先确定是从大到小开始看,然后考虑到第一个数是奇数时,奇偶奇,其中两个奇数中间差2,但奇数没有因子2。第一个数是偶数时,n,n-1,n-2是 偶奇偶,这时候两个偶数之间一定会有公共因子2,然后需要n-2再往后推一个取n-3,即n,n-1,n-3(偶奇奇),但这时候要注意,n,n-3之间可能会有公共因子3,这时候就需要判断n能否被3整除,如果可以,n-3也会被3整除,这样就不能取这三个数...原创 2019-03-14 22:22:33 · 196 阅读 · 0 评论