2018年8月4日训练日记

题目一个一个A掉再写题解虽然能加深理解,但是效率太低。从现在起大部分题目就只写一句话题解而不是先敲代码通过再写题解了。

HDU 5355 Cake(构造) 题解构造十分巧妙,分成两部分一部分是1~c,另一部分是c+1~n,然后c=(n-2*m+1)%(2*m)+2*m-1。

HDU 5357 Easy Sequence(思维)包含某个括号字符的合法序列总数就 = 左右两边同级的括号总数乘积 + 包含这个字符的上一层括号的字符的合法序列总数。

HDU 5358 First One (枚举+尺取法)设f(i,j)表示区间[i,j]内元素的和,定义 sum(i,j) = [log2(f(i,j))+1]*(i+j) 求∑(sum (i,j)) (1<=i<=n,i<=j<=n ) 注意到 k=log2(f(i,j))+1的范围是[1,34],然后暴力枚举k,用尺取法维护每个满足条件的i的满足sum[l]-sum[r-1]>=2^(k-1) 和 sum[r]-sum[i-1]<=2^k-1 的l和r,然后乘积就是(i*(r-l+1)+r*(r+1)/2-(l-1)*l/2)。

HDU 5360 Hiking(优先队列)这题我没做但是思路和题解一样的。用优先队列,l小的放队头,相等的l,r小的放前面。

HDU 5361 In Touch (dijkstra+优先队列+并查集) 每个机器人可以到达自己周围[l,r]的位置,费用为c[i],求1点到所有点的最短距离。这道题题解说是用优先队列的dijk算法加并查集。用优先队列的话每次取出的点费用都是最小的,所以每个点只需要被更新一次,用并查集标记fa[x]为下一个未更新的点即可,这样就不用重复更新了。

牛客多校日常崩。A题明天写个题解。J题思维暴力考姿势,姿势好了才能过。。。明天继续补题。

百度之星签到了俩题,都是思维题,不是很难,明天有时间继续做。

然后开始2015杭电多校第7套题的训练。。。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值