代码改变世界

找到人组队拉,哈哈

2007-04-10 21:10  老博客哈  阅读(1444)  评论(7编辑  收藏  举报

seu是ACM弱校,这是个不争的事实。不过弱校不能颓废,也要努力。
经过一个多星期的搜寻,成立了Aeolus战队,好好加油,fighting!
现在队伍开始在hdu的oj上进行割题。^_^

1000 A+B Problem  练习IO
1001 Sum Problem 使用求和公式 n*(n+1)/2
1002 A+B Problem II 大数求和,我直接用java的BigInteger搞了:-)
1003 Max Sum 一维的最大连续和,dp,   用f(i)表示以第i个数作为结束的最大连续和,那么如果f(i) >= 0 f(i + 1) = f(i) + data[i + 1] ,否则 f(i + 1) = data[i + 1],由于要输出开始和结束位置,可以在连续和取最大值时进行更新
1004 Let the Balloon Rise 本来想用STL中的map搞的,后来是先排序,然后计数。
1005 Number Sequence 找循环节,要注意循环的部分不一定是以1,1开始。
1012 u Calculate e  无input,直接输出结果,传说中的“交表”?
1013 Digital Roots 用字符串可以搞,我还是偷懒用了java的大数
1014 Uniform Generator 可以猜想出只要STEP和MOD满足Gcd关系,即可产生满足题意的伪随机数。证明很容易,就略了。
1016 Prime Ring Problem  搜,对奇数情况进行判断
1018 Big Number  使用 [log10(n)] + 1(下整)求解,由于题目时间放的很松,可以直接一个个的加,也可以直接使用第二类Stirling数公式
1019 Least Common Multiple 求n个数的最小公倍数,直接gcd算lcm,然后一个for就能搞定了
1020 Encoding  简单字符串处理,边扫描边输出
1021 Fibonacci Again 这个题目很值得思考,10^6的数据量使得我们不用思考就可以写出for循环进行预处理,稍微好一点的方法对于大数据适合的可以使用我以前谈到的矩阵方法来做,见http://www.cnblogs.com/drizzlecrj/archive/2007/01/16/622053.html
最好的方法应该能够观察到在给定F(0),F(1)的情况下找出循环节,貌似是8,然后下面直接对8取余再判断就简单多了。(PS:这题Statics里面恶搞弄了个第一)
1032 The 3n + 1 problem 西拉古斯(Syracuse)猜想,数学界的一个难题,目前还无法证明最终一定会得到1。模拟就可以ac
1037 Keep on Truckin' 水题
1038 Biker's Trip Odometer 简单数学题,公式一眼就能看出
1039 Easier Done Than Said?  按照题目意思进行模拟
1040 As Easy As A+B 使用STL的sort
1042 N! 高精度,不用BigInteger太亏了
1047 Integer Inquiry 大数加法,java搞定
1048 The Hardest Problem Ever 简单的字符串处理(字符替换)
1056 HangOver 水题,hdu的这题要使用scanf,否则会超时
1064 Financial Management 求浮点数的平均数,水题
1071 The area 高数定积分,根据根据抛物线的顶点方程a(x-h)^2+d,计算出ax^2+bx+c的系数,然后求出积分函数,算出抛物线交点与x轴围成的面积,然后减去x2,x3与x轴围成的面积 就可以了。
1076 An Easy Task 水题,把闰年预处理一下,然后二分
1084 What Is Your Grade? 排两次序,第一次按照解决问题的方法数和时间,第二次按照序号
1085 Holding Bin-Laden Captive! 用类似的筛法的方法来做,这里补充一个相似的知识:
        Δ只用2分和5分的硬币就能表示4分及4分以上的硬币(可以用强数学归纳法证明)
1086 You can Solve a Geometry Problem too 跨立实验和排斥实验
1087 Super Jumping! Jumping! Jumping! O(n^2)的dp,存储每个点上的当前最大值,m[i] = max{m[0..i-1]} + d[i]
1088 Write a simple HTML Browser  字符串处理
1089~1096 练习IO
1097 A hard puzzle 一种方法可以计算末位+循环节,因为循环节长度不会大于10;另外可以使用logN的做法,偶就不多说了
1098 Ignatius's puzzle 数论题,用费马小定理可以证得只要k和5,13互质,且存在a使得ka %65 == 47就可以了
1099 Lottery 概率中的期望问题,结果其实就是N*(1 + 1/2 + ... + 1/N), 注意高精度