VIrtuoso

两把多兰剑加个布甲鞋

导航

2018年9月11日 #

ACM-ICPC 2018 徐州赛区网络预赛 J Maze Designer(最大生成树,倍增lca)

摘要: 要求在一个矩形中 任意 选两个点都有唯一的通路,所以不会建多余的墙。 要求满足上述情况下,建墙的费用最小。理解题意后容易想到首先假设全部墙都建起来,然后拆掉费用最大的边使图成为一棵树,就是求一颗最大生成树 求出最大生成树后,求任意两点的距离,直接用lca就可以 思路 c++ include defi 阅读全文

posted @ 2018-09-11 23:28 VIrtuoso 阅读(152) 评论(0) 推荐(0) 编辑

ACM-ICPC 2018 徐州赛区网络预赛 G Trace(逆向,两颗线段树写法)

摘要: 思路 凡是后面的轨迹对前面的轨迹有影响的,可以尝试从后往前扫 区间修改需要push_down,单点更新所以不需要push_up(用于区间查询) 多颗线段树的时候将函数写进结构体里,这样所有函数只需要写一次了 c++ include define pb push_back define M 10000 阅读全文

posted @ 2018-09-11 15:46 VIrtuoso 阅读(142) 评论(0) 推荐(0) 编辑

ACM-ICPC 2018 徐州赛区网络预赛 C Cacti Lottery(暴力+期望)

摘要: 链接 思路 首先先枚举把剩下的数填入星号的情况(其实就是枚举星号的排列),这是对方所能知道的所有信息,然后对方将取八种决策中最优的情况,而因为井号的存在,所以其排列也会影响每种决策的分数,所以接着要枚举井号的排列情况,对于每种情况累加每个决策的分数,最后枚举完后,要除以井号排列数(期望=分数 概率) 阅读全文

posted @ 2018-09-11 10:32 VIrtuoso 阅读(426) 评论(0) 推荐(0) 编辑