151020的测试总结

2 篇文章 0 订阅
1 篇文章 0 订阅

第一题

【题目及题号】math superoj941
【题解】

求证 a>b,c>d时ac+bd>ad+bc;
证明 ac+bd-ad-bc
=a(c-d)+b(d-c);
=[(c-d)(a-b)]>=0

所以把a,b两个序列排个序,按序乘起来就是最大值an*b1+an-1*b2……就是最小值
【考试ING】

傻逼的我第一遍没有sort就乘起来了,还好拍的时候发现了。
开long long,不开要注意答案1ll*防爆

第二题

【题目及题号】tree superoj942
【题解】
就是个裸的lca
【易错点】

注意特判一下x==y,x不存在,y不存在的情况。

其实我会说这个题的暴力比标算还难写吗Orz

第三题

【题目及题号】shortest superoj943
【题解】
用floyd的思想来解决此题,我们可以把一个个删点的行为看成是逆向的一个加点,这就相当于我们每次往图中加一个点,并且不断更新答案。
【考试ING】
其实这题有个结论我只是大概证明了一下。

结论是:如果点对之间的距离被更新,那么它们一定经过新加入的点。
反证:如果当前路径被更新的点对不经过新加入的点,这等价于没有使用新加入的边。
那么最短路径应该在上一轮已经出现。所以必然经过新加入的点。

因为特判比标算跑的快,开心~
我会说我是默认floyd是正确的才做的这题吗……其实我并不能严格证明floyd是对的,不过bellman的证明应该可以类似证明吧,我太弱了Orz
最后拍了3000组左右没有一个错就交了。

题目预估分数实际分数
Math100100
Tree100100
Shortest30~100100
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值