八达网
标题:
8da编程无高手
[打印本页]
作者:
lvan
时间:
2011-9-28 19:17
标题:
8da编程无高手
SRM 500
20
三月
万众瞩目的SRM 500如期到来,可以说整场比赛还是比较圆满的,没有出什么问题,题目也还算好。
注册的时候询问了是否要把奖金捐献给rem,于是我成功捐献了不知道多少钱……注册阶段非常疯狂,不到2个小时2100个坑就被注册满了,众多神牛只能因此无奈围观,不过Petr、ACRush和tourist等大神都如约而至。
比赛总的来说较难,250题目很长,属于乱搞题;500是个分形、几何题,sample比较弱,容易fail;1000是个暴力枚举计数题。最终Petr连过三题强势夺冠,尽显王者风范。250我折腾了一会儿折腾出来了,500想到了正确的做法可惜在很小的地方写出了一个bug最终FST了,1000没想到暴力的做法。
以下是简单的解题报告:
1. 250P MafiaGame
2<=N<=500个人进行投票选举,其中有M<=50个人有明确的投票对象。每一轮投票有一个候选人集合(初始为所有的N个人),首先,所有人中有明确投票对象且对象在候选人集合中的先投票;接着,还没投票的人随机等概率投票给当前票数最少的人。每一轮结束后,如果票数最多的只有一个人,则投票结束,此人胜出,否则所有票数最多的人作为候选人集合,进入下一轮新的投票。问胜出概率最高的人胜出概率是多少,或者投票活动会无限循环下去。
首先我们考虑第一轮投票的结果,有两种情况。如果M个明确对象中有重复元素,则至少有人得到两票或者以上,当M个明确投票对象投完后,剩下N-M票会分布在至少N-M+1个人中,这些人只能得到最多一票,于是后面的这些票都是没用的,因此,在这种情况下,M个明确对象中得票数最多的那些进入下一轮。第二种情况,M个明确投票没有重复元素,则最后的投票结果会是人手一票,投票过程无限循环。
前一种情况下,假设有A个元素进入第二轮,我们可以发现这A个元素互相之间是完全等价的,因此,如果投票过程不会无限循环的话,每个获胜的概率都应该是1/A。所以我们的任务就是判断之后的投票过程是否会无限循环,在忽略的不同对象之间的差异后,剩下的其实就是个模拟的过程,A个候选对象每个获得B票,剩下的N-A*B票分布在A个对象中,如果A|N-A*B,则这轮过去后候选人集合不变,过程循环;否则,(N-A*B)%A个人成为新的候选人集合,当A变成1时选举结束。
2. 500P FractalPicture
考虑一个分形图案,第一代时,图案是一条(0,0)点到(0,81)点的虚线,其中(0,0)点为虚线的根点。从第i代到第i+1代时,每条虚线作如下变换:假设端点为a和b,其中a是根点,则取线段ab上的点c,满足ac=2ab,之后生成两个新的线段cd和ce,其中cd为cb绕着c点顺时针旋转90度,ce为cb绕着c点逆时针旋转90度,这时ac变成实线,cb,cd,ce为虚线,根点都为c。现在给一个平行于坐标轴且四个顶点坐标都为整数的矩形,问第500代分形图像中,位于矩形边上或者内部的线段总长度为多少。
这题主要的突破点是考虑到矩形的坐标为整数点,而分形图像没递归一层变的长度就缩短1/3,到第五层后,整个分形过程都只在单元方格中进行了,可以统一计算而不用递归到第500层。对于一条分形到第五层的长度为1的虚线,如果线在矩形内部,则这个虚线之后衍生出来的所有线段都在矩形内部;如果线在举行边上,则衍生出来的线段有一半在矩形内部。一条长度为1的虚线,递归一层后变成长度为2/3的实线+总长度为1的虚线,即每递归一层总长度增加2/3,所以,长度为1的虚线递归到第500层后的总长度为1+2/3*495=331,如果是一半的话,则为166(包括中间长度为1的一段)。
3. 1000P ProductAndSum
求所有各位数字和为S,各位数字积为2^a*3^b*5^c*7^d的数的总和%500500573,其中S<=2500,a b c d<=100。
首先意识到数中各个数字的排列对题目是没有影响的,所以我们主要要求的就是每个数字出现的个数,以及知道每个数字的个数后求这些数字所有排列的和。其实求每个数字的个数我们可以用很暴力的枚举方式,首先5和7的个数是确定的,因为没有其他数字可以提供5和7这两个因子。之后我们可以枚举9 8 6 4的个数,这样1 2 3的个数也能唯一的确定下来了。整个枚举量最大只有50*33*100*50,实际上会远小于这个量。
现在我们知道每个数字出现的次数,求这些数字全排列形成的数的和。我们发现其实每一位的情况都是一样的,只是权重不同,所以我们只要求个位的和,乘以11…111(有多少位就乘多少个1)即可。这个求解就比较简单了,只要枚举这位放哪个数字,剩下位的放法可以用排列组合公式求得。
-----------------------------------------------------------------------------------------------------------------------
基本上去的都是零蛋收场吧
作者:
Serioc
时间:
2011-9-28 19:17
屁眼在哪里?
作者:
灰灰
时间:
2011-9-28 19:20
插哪里?
作者:
lvan
时间:
2011-9-28 19:24
作者:
[CUGL].eyeS`
时间:
2011-9-28 19:28
楼主难道是o老师的马甲?
作者:
斯文败类
时间:
2011-9-28 19:32
提示:
作者被禁止或删除 内容自动屏蔽
作者:
liuchangnet
时间:
2011-9-28 19:33
lvan 发表于 2011-9-28 19:24
ivan是黑手党,ivan是黑手党史上唯一能一边做爱一边脸贴屁股的人
ivan的JJ是分形的,分形图像画出来就是ivan的JJ
作者:
bglps
时间:
2011-9-28 19:55
作者:
小包猫小包猫bm
时间:
2011-9-28 19:56
作者:
风剑
时间:
2011-9-28 20:04
O老师发帖忘记换ID了
作者:
T_forever_T
时间:
2011-9-28 20:06
O老师发帖忘记换ID了
作者:
podmilk1104
时间:
2011-9-28 20:09
O老师发帖忘记换ID了
作者:
suiyue
时间:
2011-9-28 21:01
O老师发帖忘记换ID了
作者:
格老子的
时间:
2011-9-28 21:06
O老师发帖忘记换ID了
作者:
田田蓝心
时间:
2011-9-28 21:11
O老师发帖忘记换ID了
作者:
baiyayeya
时间:
2011-9-28 21:20
O老师发帖忘记换ID了
作者:
jjy
时间:
2011-9-28 22:58
O老师发帖忘记换ID了
作者:
迦摩天
时间:
2011-9-28 23:04
O老师发帖忘记换ID了
作者:
ugg
时间:
2011-9-28 23:05
O老师发帖忘记换ID了
作者:
lost-star
时间:
2011-9-28 23:06
提示:
作者被禁止或删除 内容自动屏蔽
作者:
迦摩天
时间:
2011-9-28 23:09
O老师发帖忘记换ID了
作者:
CHEN___G
时间:
2011-9-28 23:13
这还是我的兄弟一万马??
作者:
LOY
时间:
2011-9-28 23:16
楼主,这个是你?
http://community.topcoder.com/tc ... ofile&cr=273450
作者:
猎鹰赌场
时间:
2011-9-28 23:18
O老师发帖忘记换ID了
作者:
Damocles
时间:
2011-9-29 02:58
O老师发帖忘记换ID了
作者:
hpPlayer
时间:
2011-9-29 03:11
屁眼在哪里?
作者:
stonyfield
时间:
2011-9-29 08:39
本帖最后由 stonyfield 于 2011-9-29 08:39 编辑
作者:
菊菊思密达
时间:
2011-9-29 08:41
O老师发帖忘记换ID了
作者:
ghostfirst
时间:
2011-9-29 08:56
O老师发帖忘记换ID了
作者:
PalmCivet
时间:
2011-9-29 09:10
O老师发帖忘记换ID了
作者:
anomaly
时间:
2011-9-29 09:12
只有家里蹲的编程高手才闲的蛋疼在网上做题
作者:
MosaiC
时间:
2011-9-29 09:18
O老师发帖忘记换ID了
作者:
W_M_W
时间:
2011-9-29 09:21
O老师发帖忘记换ID了
作者:
atom
时间:
2011-9-29 09:59
O老师发帖忘记换ID了
作者:
funeral112
时间:
2014-12-10 10:07
作者:
我不是大米
时间:
2014-12-10 10:14
原来伊万竟是O老师
欢迎光临 八达网 (https://www.8-da.com/)
Powered by Discuz! X2.5