TopCoder SRM570题解

来源:互联网 发布:苹果mac快捷键删除 编辑:程序博客网 时间:2024/06/05 20:06

掉回Div 2了……尼玛……

依旧是翻译向。官方题解:http://apps.topcoder.com/wiki/display/tc/SRM+570


250pts:

题意:给定一系列指令,让一个机器人在一个无限区域内移动。指令包括向前移动x格以及顺时针旋转90*x度。求运行指令T次之后机器人距起始位置的曼哈顿距离。T很大。

分析:先模拟求出运行一次指令后机器人距起始位置的距离d和转过的角度。如果角度为0,那么答案就是d*T;如果角度为90或者270,那么答案就是运行T%4次指令;如果角度为180,答案就是运行T%2次指令。


550pts:

题意:……(略)……求期望费用。

分析:对于分成c个连通块的n个点,产生的费用为max(0,2*c-n-2)。那么令f[p,n1,c1,n2,c2]为以p为根的子树中被染上颜色1和2的点有n1和n2个,分成c1和c2个连通块,这样的状态的个数。如果儿子的颜色和父亲相同则不产生新的连通块,否则会产生一个新的连通块。可以另外处理一个数组g[col,x,n1,c1,n2,c2]表示给根节点染上col,已经处理x个儿子后子树的方案数。这样的复杂度过高,于是需要优化……具体的见官方题解,大致思路就是这样。


900pts:

题意:一个区域被划分成N*M个格子,每个格子要么是空地,要么是障碍。有一些空地上住着一群基佬。现在要铺铁轨,要求每块空地都被铺到,障碍上不能铺,而且每条铁轨都构成一个环。基佬喜欢弯的东西,所以在基佬住的地方铺一块直的铁轨需要1的代价。求是否有解,以及有解情况下的最小代价。N,M≤25。

分析:考试的时候想都没想就贴了个插头DP,结果样例TLE出翔……注意到这里铁轨并不一定构成哈密尔顿回路,而且所求不是方案数而是最小代价,所以有别的解法。下面的图都用的TC的官图。

先判断是否有解。有解的条件是:每块空地都向相邻的空地连出恰好两条轨道。于是可以对地图黑白染色,构建网络流模型:从源点向黑格子、从白格子向汇点连容量为2的边,相邻和黑白格子之间连容量为1的边,满流则有解。如下图:


再考虑直的和弯的轨道。如果我们要求每一块轨道都是弯的,也即每一个格子横着和竖着各连出一条边,我们可以对每个格子拆点,一个点代表横着,另一个代表竖着,各从源或向汇连容量为1的边,然后横着相邻和竖着相邻的黑白格子之间也连容量为1的边。同样满流代表有解。如下图(还是上面那个地图):


再考虑费用。我们肯定是要把网络流模型改为费用流模型。这里我们想让一些格子铺直的铁轨,也即改变某个节点代表的“方向”。那么我们在每个格子拆出的两个节点之间连容量为1的双向边,如果这条边有流量,就代表这个格子铺了直的铁轨。如下图:

费用就很好处理了。如果这个格子里有基佬,就给双向边加上1的费用,否则费用为0。其他边的费用也都为0。整个网络的最小费用最大流就是答案。在最优方案中一定不存在一个格子的两个节点都转向的情况。


个人感觉这种建模方法还是相当巧妙的,应当好好体会一下。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怎么办照片发送到邮微信箱里去 苹果手机备忘录没刪除就没了怎么办 因恶意刷公众号而被微信封号怎么办 禁停路段发生剐蹭怎么办办 新三板公司退市了 小股东怎么办? 爱用商城发货没有物流信息怎么办 拼多多的快递的运单号发错了怎么办 追光娱乐账号被别人盗用了怎么办啊 用鲁大师检测硬盘出现损坏怎么办 客户拖款迟迟不给给怎么办 百度云盘文件密码忘记了怎么办 用来注册亚马逊的公司注销了怎么办 亚马逊中国卖家太多美国卖家怎么办 付款了!卖家不想卖了怎么办? 手机通讯录同步助手密码忘了怎么办 毕业生学位信息照片上传错了怎么办 报名计算机二级照片上传很慢怎么办 网上报名时照片上传错了怎么办 特岗教师报名时照片上传模糊怎么办 百家号申请过新手被拒绝三次怎么办 6岁儿童个子高不长肉体形瘦怎么办 网页游戏加载完毕卡了不动怎么办 小番茄未成熟下面就坏掉是怎么办 千牛快捷短语界面变得好宽怎么办 申请大王卡手机号填错了怎么办 别人盗用我手机号申请微信号怎么办 淘宝支付宝里没钱了买家退款怎么办 如果外包把员工社保忘交了怎么办 外包工人没有和包工头的证据怎么办 试用期辞职公司给交的社保怎么办 单位给交员工不想交社保怎么办 淘宝收不到卖家的信息怎么办 不小心把微信聊天记录删掉了怎么办 不小心把打印机驱动删除了怎么办 蓝牙不小心点到忽略此设备怎么办 千牛工作台无线开店确认不了怎么办 开通诚信通后营业执照注销了怎么办 淘宝标的货跟发的不一样怎么办 wps表格里单元之间重叠了怎么办 淘宝店铺停了一段时间没了怎么办 转转买家收货为敲诈卖家怎么办