BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #832同步于 2006/4/13
ACM_ICPC机器人发帖

今天武大比赛的解题报告

dby
2006/4/13镜像同步0 回复
发信人: dragonflywww (龙飞), 信区: ACM_ICPC 标 题: 题目分析 发信站: 珞珈山水 (2004年04月26日11:05:44 星期一), 站内信件 先看一下做题情况: 提交次数/第一次做对的时间/通过的队数 A 252/9/61 B 16/--/0 C 95/--/0 D 54/75/4 E 169/154/3 F 139/34/7 A 模拟 送分题,没什么好说的 //本来出这个题的想法是让所有的队都过的,结果只有61个,刚刚及格:( B 计算几何+图论 先算出球面坐标: X=x*2*R*R/(d+R*R) Y=y*2*R*R/(d+R*R) Z=R*(d-R*R)/(d+R*R) (d=x*x+y*y) //据说复变函数有这个公式,其实解方程也很快 然后算出球面距: aftermath用内积:D=R*acos(innerproduct/R/R); 我的数学只有高中水平:D=R*2*asin(d/2/R)(d为空间距离) 再用一个floyd求最短路。 /*这个题本来是当简单题出的,但是比赛的时候居然没有队过 可能是题目意思太难懂了:),还有处理输入比较麻烦 */ C 组合数学+动态规划+高精度计算 原问题:x1+x2+x3+...xm=n ( 0 <= x(i+1)-xi <= k,x1<=k ) 利用共扼ferrers图像把原问题转化为: 1*x1+2*x2+...m*xm=n (0 <= xi <= k) m k 然后用母函数 ∏ ∑ x^(i*j) 求解 i=1 j=0 另外结果很大,要用高精度计算。 /*O(mnk)的算法,可能还有其他做法的 这个题的结果有20多位 比赛的时候居然都是用搜索做的(而且没有高精) 天哪,就是用非确定机来算也要几百年 */ D 贪心+枚举 在同一行或列上最多只要操作一次就行了 先枚举行操作,然后列就独立了,每列找个最大值加起来 E 数论 可以证明大于等于(a-1)*(b-1)的数都能表示as+bt //这个证明就留给aftermath了:) 这样搜索空间就很小了 /*aftermath自己认为的难题 结果还是有3个队做出来了 他认为的简单题B却没有队过:) */ F 推个公式就可以了:(n+1)*(n*n-n+6)/6 第n次切时最多增加的数目是前n-1刀把第n次的切面分成的最大平面数 实在不行的话,找4个最简单的情况,待定系数法解一下就可以了 /*本来想改成n维空间的,后来怕没简单题了 这个题要用到long long(int64) 估计这个卡了很多人 */
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。