2016.07.17【初中部 NOIP提高组 】模拟赛C

17 篇文章 0 订阅
6 篇文章 0 订阅

题目:https://jzoj.net/senior/#contest/problems/1755


T1:直接高精度,但是最大一个点只比qword大1,所以可以用qword计算,最后打个表就行(我并不明白为什么我压了位,高精度还是这么慢,果然是名不虚传)


T2:指把一个数变化成1000000007的倍数,变化方法就是每次变成4x+3或者变成8x+7,也就是每次变化之后 mod 1000000007等于0。其实4x+3就是左移两位+'11',8x+7就是左移三位+'111',其实因为他们是左移x位+x位1组成的,所以我们可以把这两种变化规则变成左移1位+‘1’,所以就变成了*2+1,然后因为我们要最少的变化方法,所以就尽量用8x+7这种变化规则,所以最后算出*2+1的次数,如果 mod 3不等于0的话,就输出div 3+1否则输出 div 3的答案。


T3:要使三圆直径最大,就要使三圆的面积尽量相等,也就是求出三点的距离就可以了,至于为什么仔细想想就能明白。


T4:第一眼看就觉得是spfa,然后又觉得因为加了个判断条件K就懵逼了(下次想到一点之后最好还是深入地想想)然后就在考试时打了个暴力——die。


明显,先用Floyd或bfs判断一个点是否可以到达另一个点,然后在spfa的时候把储存最短路径的dis数组加多一个状态——k。也就是判断当前选d[head]的时候k等于多少,于是判断当前d[tail]的k等于多少,然后再相应储存dis数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值