ZROI Day6 测试总结

本文探讨了图论中的生成树问题,针对最大边权不超过k的情况提出了解决策略,涉及最小生成树的构建和调整。同时,文章还触及到概率和期望的计算,讨论了在满足特定条件下的概率模型和期望值的求解。作者在解决过程中遇到了将概率转化为分数形式的挑战,并分享了个人的解题思路和验证方法。
摘要由CSDN通过智能技术生成

考试时写的思路本

T1
生成树问题,感觉不是很难但也不会太简单
第一档暴力分直接枚举选哪些边就行,先给码掉吧
今天的貌似没有捆绑,很舒服,那我能不能直接在最小生成树上贪心改最大边呢
先分情况讨论一下
当我生成一棵最小生成树,它的最大边如果比k大,那么唯一方案就是将比k大的边改为k
如果最大边和k相等,那刚刚好不用管
如果最大边比k小,就有点麻烦了,我有两种方案,一种是把这个变成k,另一种就是重构一棵树使最大边比k大一点
我可以先把小于等于k的边建一棵最小生成树,如果没成,就是我们讨论的第一种情况
如果成了那就另说
等等,我能不能以k为最小生成树中的最小条件,把每条边改为它和k相差的值,然后跑最小生成树,但是也还有些细节没法处理,无法处理比k小的边,对于比k大的边,边权改为val-k没什么问题,那比k小的边应该改成什么呢》》如果这个边会作为最大值,那它对结果有影响,否则是无影响的,这又回到了刚才的讨论之中
经过了半个小时的思考,我发现处理不了的这种情况只需要取比k大的边中最大值即可
因为在一棵完整构成的树中,我要连接两个节点,只需要将其中一个和他的父亲边切断,联向另一个,这样就还是一个树形结构,且应该是最优的
所以总结下来:

1.先把边权小于k的边的边权改为k-val,然后跑一遍最小生成树
2.如果已经构成一棵完整的树,将kruskal取得第一条边与第一条大于k的边与k之差的绝对值,取最小值即可
3.如果没有构成一棵完整的树,不需要考虑之前的边权,总值先计为0,然后把所有比k大的边边权改为val-k,跑最小生成树,答案即为最小生成树的结果

欧克码完了,调了半个小时吧,大样例算是过了,大样例属于第三步的过程,但我还无法确定第二步是否正确,想尝试对拍,但我不会写无向连通图的随机数代码,很自闭,经过思考我认为没有什么问题,开下一道!

T2概率和期望,自闭,一窍不通,首先这道题好像和费马小定理脱不了关系,两个地方都用了费马小定理,凭借我目前的理解,概率就是p的次方,然后期望就是这个概率乘上v2*vn
但其他的v没用吗??也许是我理解错题意了吧,回读一遍,哦,这种情况其实是恰好满足所有边都存在的情况,有时候边是不存在的,那么就可能构成其他回路或构不成回路
另一个很棘手的问题在于我不会将p转化为一个分数的形式呀

T3 的话把暴力码了一下,估计十分吧,然后

收工了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值