ACM

HDU 1546 Idiomatic Phrases Game(最短路)

HDU 1546	Idiomatic Phrases Game(最短路)
这个题实在是坑,天坑!!!题目意思是给你一些成语,然后这些成语都是四个字组成, 如果两个成语能连接那么第一个的最后一个字要和第二个的第一个字相同。这里的成语用16个字符来表示,也就是说我们只要取前四个和后四个字符就可以了。然后建图,由于这里数据小,用邻接矩阵就OK。但是,,,字符这里要注意了,为了方便我们后面比较,第5个字符要设置为'\0',不然不好比较啊喂,开始还傻傻地写了一个字... 继续阅读 »
ACM

HDU-1115 Lifting the Stone(凸包,求多边形重心)

HDU-1115 Lifting the Stone(凸包,求多边形重心)
题意:给出一个多边形的N个点的坐标,求这个多边形的重心。1、质量集中在顶点上:n个顶点坐标为(xi,yi),质量为mi,则重心 :X = ∑( xi×mi ) / ∑mi  Y = ∑( yi×mi ) / ∑mi  若每个点的质量相同,则有X&nb... 继续阅读 »
ACM

HDU 1071 The area

HDU 1071	The area
题意:给你三个点,分别代表抛物线的顶点以及一条直线与他的两个交点。请计算他们的闭合区域的面积。一道简单的数学积分题,就是自己推导的时候变量比较多有点繁琐。这里我使用了直线的两点式和抛物线的两点式。(比较坑爹的一点是y1这个变量不能定义,用c++编译器会报错,所以用g++过的。还有就是用函数返回积分会耗费15ms,如果不用函数则是0ms)题目地址:http://acm.hdu.edu.cn/show... 继续阅读 »
ACM

HDU 1018 Big Number

HDU 1018	Big Number
题意:给一个数n,计算n的阶乘有多少位数。方法一:由于给出的n很大,到了10^7,所以直接计算是肯定不可能的,所以可以使用log。例如:log10(100) = 2;log10(1000)=3,log10(54321)~4.7,log10(12345)~4.0...我们可以看出,以10为底计算log10(x)向下取整就是这个数的位数-1,而:log10(n!)=log10(n*(n-1)*...*... 继续阅读 »
ACM

HDU-1051 Wooden Sticks

HDU-1051 Wooden Sticks
题意:大概就是要加工木头,第一根放进去的要1分钟,后面如果长度和重量都比之前放的大就不用时间,求处理完木头最少的时间。LIS问题,每次求完之后标记一下下次不再处理。题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1051代码:Memory: 1852 KBTime: 31 MSLanguage: C++Result:&nb... 继续阅读 »
ACM

HDU-1045 Fire Net

HDU-1045 Fire Net
题意:给你一个地图,然后地图上会放置一些炮台,这些炮台会往四个方向发射无穷远,保证多个炮台之间不能被打到,求最大放置的炮台数。其实就是类似于炸弹人游戏一样,不过这里是射程无穷远而已。DFS题,注意数组状态保存以及方向变化。题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1045代码:Memory: 1804 KBTime: 15 M... 继续阅读 »
ACM

HDU1047-Integer Inquiry

HDU1047-Integer Inquiry
一个大数加法题,处理大数用倒置加,但是不用像网上那样倒置来倒置去的,直接长度递减就好,还有就是输出0,坑了好几次,自己写的print倒置输出竟然忘记了还有0这个输出特例。题目:http://acm.hdu.edu.cn/showproblem.php?pid=1047代码:Memory: 1584 KBTime: 0 MSLanguage: G++Result:&nb... 继续阅读 »