集训#12 总结(codeforces Gym101755)

10 篇文章 0 订阅
5 篇文章 0 订阅

https://cn.vjudge.net/contest/242531



D 还有十几分钟的时候想出来是floyd加二分图匹配,但是方案输出我确实还没想好。观赏了一下幸好找得到的题解,发现如果是把A换成b(大写表示在我方的队员)。那么要先找一条路,然后从后往前,遇到我方队员就先输出这一段(不然换到这里是要卡住的)然后如此往复


F WA了一年,没想到居然可以不联通??大概方法和拓扑图差不多,i的每个后代往i连边然后搞,度数搞到0的时候,遍历一下i的后代看哪些没有父亲的肯定是i的直系儿子。不联通是真的毒啊。判NO除了不联通用没有父亲的节点只有一个判断外,用BFS的时候出队的点一共应该是n个来判断(一个点入队一次出队一次)


G很神,没有想到单独对每个 ai a i 计算贡献,智障啊智障。直接做入不了手都不换方向。对于每个位置 i i ,先统计翻转后能到达的位置的区间范围,而且这些位置一定奇偶性是和i一样的。假设这些位置是j那么 (i,j) ( i , j ) 对答案的贡献是 |aiaj| | a i − a j | 显然可以把 aj a j 按大小分两类来计算 ai a i 部分的贡献(只算 ai a i 不管 aj a j ,就是看有多少个 ai a i 前面是正号有多少个前面是负号)然后可以把奇数偶数抽出来做两次,每次,先把所有数排序,然后从小到大插插入,可以解决 aj<ai a j < a i 的部分,类似从大到小插入可以解决 aj>ai a j > a i 的部分,然后就完了233,bit就能写很刺激。


I。。。交互和构造是一类题我都很难想得出来。我想到了先随便拿一个点问 n1 n − 1 次但是没有想到后面的部分。完全二叉树也提醒了分治?找到距离最远的点,肯定是一个叶子结点 x x ,然后从叶子结点x再问 n1 n − 1 次,距离最远的 y y (距离 2h2)肯定是在根的另外那棵子树里面的叶子结点,然后从 y y n1次,得到disx和disy两个数组。其中 disx(i)==disy(i) d i s x ( i ) == d i s y ( i ) 的肯定是根,小于的在x所在子树(对于根来说),大于的就在y所在子树。然后递归下去。次数大概是 2nlogn+n 2 n l o g n + n


写了全部题解的大佬太神啦。
https://blog.csdn.net/v5zsq/article/details/80157764

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值