2019.08.12比赛总结

今天比赛真 TM ^{ \text{TM}} TM难,我比赛时接近弃疗 . . . . . . ...... ......

Total Mark:0+20+0+0=20( \text{Total Mark:0+20+0+0=20(} Total Mark:0+20+0+0=20(我了个(和谐),我了个大(和谐),我(和谐)了个大(和谐) ) ) )

T1 \text{T1} T1】比赛时便想出正解,因为总的比例就是局部比例,而题目有要求最多能分成几段,所以我们拿两个东西分别累加黑和白的个数,一满足总比例就可以 + + a n s ++ans ++ans了。

PS: \text{PS:} PS:我比赛时怕炸 long long \text{long long} long long,还特地打了个质数表准备约分,那样的话时间复杂度上限是 Θ ( N l e n 2 ) \Theta(N\sqrt {\frac{len}{2}}) Θ(N2len ) l e n len len是序列总长度,最后约等于 Θ ( 250000000 ) \Theta(250000000) Θ(250000000),卡一下常数再吸一点氧 应该可以过,而且这是上界,远远跑不到。最后发现你开 long long \text{long long} long long的话再乘 1 0 9 10^9 109也不会炸,所以根本不需要约分。我比赛爆零的原因是没有判有一中颜色没有的情况,强烈谴责无良出题人每个数据出多组!!!

T2 \text{T2} T2】这道题应该可以暴力满分的,支持随机数据!!!

首先说一下 20 20 20分解法:设 f i f_{i} fi表示核融前 i i i个原子所需要的总代价,易得转移方程:
if (check(j+1,i)) f[i]=max(f[i],f[j]+MAX(j+1,i)) \text{if (check(j+1,i)) f[i]=max(f[i],f[j]+MAX(j+1,i))} if (check(j+1,i)) f[i]=max(f[i],f[j]+MAX(j+1,i))
check(x,y) \text{check(x,y)} check(x,y)表示判断 x x x y y y之间有没有拥有相同质量质子的原子, MAX(x,y) \text{MAX(x,y)} MAX(x,y)表示 x x x y y y当中最大的中子数量。时间复杂度 Θ ( N 3 ) \Theta(N^3) Θ(N3)

40 40 40分解法就是把 j j j i − 1 i-1 i1 0 0 0跑一遍,如果判断不满足就直接 break \text{break} break

满分解法还要运用数据结构和分治思想。

T3 \text{T3} T3】“显然”三分,或者找规律,把题目给的数全部塞进一个数组里排一下序,输出中间两个即可。

T4 \text{T4} T4】只需要先用差分约束系统,再用 Floyd \text{Floyd} Floyd,最后跑一遍 Shortest Path Faster Algorithm \text{Shortest Path Faster Algorithm} Shortest Path Faster Algorithm即可。

明天继续加油!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值