随笔分类 -  数学_数学知识

摘要:Turn the pokers大意:给出n次操作,给出m个扑克,然后给出n个操作的个数a[i],每个a[i]代表可以翻的扑克的个数,求最后可能出现的扑克的组合情况。HintSample Input:3 3 3 2 3For the this example: 0 express face down,... 阅读全文
posted @ 2014-07-23 21:58 GLSilence 阅读(317) 评论(0) 推荐(0)
摘要:Space Ant大意:有一只蚂蚁,每次都只向当前方向的左边走,问蚂蚁走遍所有的点的顺序输出。开始的点是纵坐标最小的那个点,开始的方向是开始点的x轴正方向。思路:从开始点开始,每次找剩下的点中与当前方向所形成的夹角最小的点,为下一个要走的点(好像就是犄角排序,我不是很会),夹角就是用点积除以两个向量... 阅读全文
posted @ 2014-06-23 17:16 GLSilence 阅读(298) 评论(0) 推荐(0)
摘要:Intersection大意:给你一条线段,给你一个矩形,问是否相交。 相交:线段完全在矩形内部算相交;线段与矩形任意一条边不规范相交算相交。思路:知道具体的相交规则之后题其实是不难的,但是还有个坑点就是题目里明明说给的是矩形左上角跟右下角的点,但实际上不是,需要重新判断一下...真坑。 1 ... 阅读全文
posted @ 2014-06-23 15:52 GLSilence 阅读(308) 评论(0) 推荐(0)
摘要:Treasure Hunt大意:在一个矩形区域内,有n条线段,线段的端点是在矩形边上的,有一个特殊点,问从这个点到矩形边的最少经过的线段条数最少的书目,穿越只能在中点穿越。思路:需要巧妙的转换一下这个问题,因为从一个点到终点不可能“绕过”围墙,只能穿过去,所以门是否开在中点是无所谓的,只要求四周线段... 阅读全文
posted @ 2014-06-23 14:30 GLSilence 阅读(559) 评论(0) 推荐(1)
摘要:Intersecting Lines大意:给你两条直线的坐标,判断两条直线是否共线、平行、相交,若相交,求出交点。思路:线段相交判断、求交点的水题,没什么好说的。 1 struct Point{ 2 double x, y; 3 } ; 4 struct Line{ 5 Point ... 阅读全文
posted @ 2014-06-22 13:07 GLSilence 阅读(198) 评论(0) 推荐(0)
摘要:POJ 3304 Segments大意:给你一些线段,找出一条直线能够穿过所有的线段,相交包括端点。思路:遍历所有的端点,取两个点形成直线,判断直线是否与所有线段相交,如果存在这样的直线,输出Yes,但是注意去重。 1 struct Point 2 { 3 double x, y; 4 } ... 阅读全文
posted @ 2014-06-21 17:27 GLSilence 阅读(589) 评论(0) 推荐(0)
摘要:其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中。之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途计算几何题的特点与做题要领:1.大部分不会很难,少部分题目思路很巧妙2.做计算几何题目,模板很重要,模板必须高度可靠。... 阅读全文
posted @ 2014-06-21 16:15 GLSilence 阅读(199) 评论(0) 推荐(0)
摘要:HDU 3501 Calculation 2大意:求1~n之间与n不互质的数的总和。思路:欧拉函数的应用;先用欧拉函数求出与n互质的总数m,计算m个数的总和,用n的总和减去m的总和就是想要的结果。 1 #include 2 #define LL __int64 3 4 int eular(int... 阅读全文
posted @ 2014-05-04 20:11 GLSilence 阅读(196) 评论(0) 推荐(0)
摘要:HDU 1286 找新朋友题意:中文题。思路:欧拉函数的纯模板题,没什么好说的,主要是理解欧拉函数的意义。在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。 例如φ(8)=4... 阅读全文
posted @ 2014-05-04 20:04 GLSilence 阅读(653) 评论(0) 推荐(0)
摘要:HDU 1115大意:给你个n,有n个点,然后给你n个点的坐标,求这n个点形成的多边形的重心的坐标。 1 struct point 2 { 3 double x, y; 4 } P[1000010]; 5 6 struct line 7 { 8 point a, b; 9 } ;1... 阅读全文
posted @ 2014-04-22 12:51 GLSilence 阅读(522) 评论(0) 推荐(0)
摘要:HDU 1411大意:人一个你一个六面体的六条边,求六面体的体积。思路:没有什么思路,就是用欧拉四面体公式直接代入。欧拉四面体公式:具体的推导网上有很多。eg. http://blog.csdn.net/archibaldyangfan/article/details/80353321 void S... 阅读全文
posted @ 2014-04-21 15:33 GLSilence 阅读(249) 评论(0) 推荐(0)
摘要:HDU 1174大意:中文题,很好理解,搞清楚各种变量就行。思路:我知道的好像有两种解法,一种是求土匪的头心与子弹射出的直线求点到直线距离,在判断一下方向对不对;另一种是求出子弹射出点与土匪头心连线,求出子弹的射出的直线,求两直线的夹角,求出子弹射出点与土匪头心连线,求出求出子弹射出点与土匪头的切线... 阅读全文
posted @ 2014-04-16 09:25 GLSilence 阅读(305) 评论(2) 推荐(0)
摘要:POJ 2653题意:题意很简单,就是在地上按顺序撒一对木棒,看最后有多少是被压住的,输出没有被压住的木棒的序号。有点坑的就是没说清楚木棒怎么算压住,也不知道是不是规范相交。。。我就判断了一下包括端点重合跟部分相交的。思路:一开始我想的是从后往前遍历,找到每一条边,看他是不是压到之前的边了,如果压到了,就把之前的变标记一下,最后统计没被标记过的,但是TLE了。。。就只能从前面开始找,遍历每一条边是否被后面的压过了,压过了就直接break,如果都没压到,存这条边,最后输出。 1 int n; 2 3 struct point 4 { 5 double x, y; 6 } ; 7 8 ... 阅读全文
posted @ 2014-04-10 11:18 GLSilence 阅读(247) 评论(0) 推荐(0)
摘要:TOYS大意:给你一个箱子,有n个挡板分隔成n+1部分,给你m个玩具的坐标,问每一部分有几个玩具。思路:举对每个玩具,二分线段下标,判断玩具在线段左边还是右边,枚举后统计。 1 #include 2 #include 3 #include 4 #include 5 #include... 阅读全文
posted @ 2014-03-07 17:00 GLSilence 阅读(202) 评论(0) 推荐(0)
摘要:Area 大意:每次给你一个点的横纵坐标变化值,求有多少点在多边形上,有多少点在多边形内,和多边形的面积。思路:Pick定理。一个计算点阵中顶点在格点上的多边形面积公式:S=a+b÷2-1,其中a表示多边形内部的点数,b表示多边形边界上的点数,s表示多边形的面积。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #define LL long long12 #... 阅读全文
posted @ 2014-03-07 14:34 GLSilence 阅读(201) 评论(0) 推荐(0)
摘要:能被1整除的数: 好像是所有数都行能被2整除的数: 末位数字是偶数的数能被3整除的数: 各位数字之和能被3整除能被4整除的数: 末尾两位数字能被4整除能被5整除的数: 末位是0或5的数能被6整除的数: 既能被2整除,又能被3整除★能被7整除的数: 方法1(割尾法):(适用于数字位数较少)一个数割去末位数字,从留下的数中减去割掉数字的两倍,减过之后如果能被7整除,原数能被7整除,如果不能直接判断,重复操作。Eg:133:13-3*2=7,所以133是7的倍数; 6139: 613-9*2=595,59-5*2=49,所以6139是7的倍数。 方法2(末三法):(适用于位数大于... 阅读全文
posted @ 2013-12-25 14:28 GLSilence 阅读(2901) 评论(0) 推荐(0)
摘要:乘积最大的分解思路:让分解出来的因子有尽可能多的3,剩下的用2补全。最开始思路错了,WA了好长时间= =!函数中n == 1的情况应该是不用,经测试数据中没有这组。*注意用 long long 99的时候会超int的数据范围 1 #include 2 #include 3 4 long long is_(long long n) 5 { 6 if(n > 3) 7 { 8 long long a, b; 9 a = n/3;10 b = n%3;11 if(b == 1)12 retu... 阅读全文
posted @ 2013-12-13 22:56 GLSilence 阅读(279) 评论(0) 推荐(0)
摘要:Packets大意:给你一些包,他们的大小是 1*1,2*2,3*3,4*4,5*5,6*6, 高都是h,让你放到6*6高度为h的箱內,希望用的箱子最少思路:由于盒子和箱子的高均为h,因此只需考虑底面积的空间。6*6的盒子,每个盒子独占一个箱子。5*5的盒子,每个盒子放入一个箱子,该箱子的剩余空间允许放入的最大尺寸为1*1,且最多放11个4*4的盒子,每个盒子放入一个箱子,该箱子的剩余空间允许放入的最大尺寸为2*2。3*3的盒子,每4个刚好独占一个箱子,不足4个3*3的,剩下空间由2*2和1*2填充。2*2的盒子和1*1的盒子主要用于填充其他箱子的剩余空间,填充后的多余部分才开辟新箱子装填。 阅读全文
posted @ 2013-12-04 23:21 GLSilence 阅读(267) 评论(0) 推荐(0)
摘要:Biorhythms大意:有中文翻译思路:中国剩余定理的完美诠释中国剩余定理介绍 在《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二(除以3余2),五五数之剩三(除以5余3),七七数之剩二(除以7余2),问物几何?”这个问题称为“孙子问题”,该问题的一般解法国际上称为“中国剩余定理”。具体解法分三步:找出三个数:从3和5的公倍数中找出被7除余1的最小数15,从3和7的公倍数中找出被5除余1 的最小数21,最后从5和7的公倍数中找出除3余1的最小数70。用15乘以2(2为最终结果除以7的余数),用21乘以3(3为最终结果除以5的余数),同理,用70乘以2(2为最终结果除以3的余数), 阅读全文
posted @ 2013-12-04 20:44 GLSilence 阅读(303) 评论(0) 推荐(0)
摘要:Rectangle and Square大意:给你8个点,看里面能不能有一个正方形,一个矩形,如果有,输出YES和正方形点的编号和矩形编号,不能输出NO。PS:正方形和矩形的判断可以当做模板来使用 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #define LL long long 10 using namespace std; 11 #define N 12 13 struct node 14 { 15 int x... 阅读全文
posted @ 2013-11-10 20:52 GLSilence 阅读(302) 评论(0) 推荐(0)