#575 div3 思路

A. Three Piles of Candies
题解:根据最少两堆差值决定第三堆咋分
B. Odd Sum Segments
题解:n个数分成k块,每块和为奇数,从开头开始加到奇数算一块,再继续加到奇数算一块,直到没有奇数可加或到n-1个数,rk=n。
C. Robot Breakout
找到所有点可到公共点,设公共点范围为lx hx ly hy,根据每个点的移动范围调整公共点范围,最后,若得到的范围合理,则输出该范围内任意值,否输出0.
D1. RGB Substring (easy version) /D2
保持 …RGBRGB…子串,问需要修改的最少个数,直接对字符串从开头进行三种判断 RGB GBR BRG ,取MIN,输出
E. Connected Component on a Chessboard
黑白子的放置、假设n个白子,则黑子最多3n+1个,反之亦然。两种棋子少子固定后多子环绕放置(这题当初题没读懂,辣鸡)
在这里插入图片描述

F. K-th Path
(个人认为本篇唯一难题,苦逼的是简单题也把我卡死)
求第K短的路径。一个连通图,把两两点的距离存入后排序第k短的输出,但全排序无疑超时,所以只需存入部分。
如何?
对边权值排序,取前min(k,m) m为共有m条边,把他们存到数组a中,对于每个j到k的距离加入第三个点i , a[j][k] = min(a[j][k], a[j][i] + a[i][k]); 把所有距离值存入ans 数组,排序,取第k-1个输出
如何存入a二维数组?
a[i][j]表示 点i到j 的距离,为了节省数组空间,对每条边的实际端点值进行修改,设了一个map,mp[x] 对应值为0,就把变成一个新的值,cnt++,不为0,就继续用旧值。

总结: 如今看来的简单思维题除去F,vp时也只过了AB道,B的思路还是队友讲的,思维不够啊,需要多做题多总结让思路清晰,写题时经常还未思考清楚就开始打代码,结果就是易出锅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值