zoukankan      html  css  js  c++  java
  • 2020.08.06【省选B组】模拟 总结

    估分:(70 + 0 + 0 = 70)
    考场:(70 + 20 + 0 = 90)
    被爆踩了。。。
    (T3)没有打暴力(DP),巨亏了。。。

    (T1)

    这道题考场直接找规律。。。
    找完规律发现答案是某些数的倍数,由于会算重所以要容斥。
    (O(2^15*T))(TLE),没有想到优化于是(70)收场。。。
    其实我们可以把那些最小公倍数都存下来。。。发现其实有很多重复的数,
    于是我们可以用(map)来存下来,发现一共只有(600+)个不同的数,每次扫一遍即可。

    (T2)

    这道题。。。真的牛逼了。。。
    考场以为就是个贪:排序加指针一遍扫。
    结果呢?是这样没错,但是姿势不对(。•ˇ‸ˇ•。),贪心完全没有正确性。
    显然我们可以根据题意网络流建图,但是时间是(n^3),我们发现最大流=最小割
    所以我们尝试求最小割,((m-x)*(n-y)+∑_{i=1}^{x}m[i]+∑_{i=1}^{y}n[i])

    其中(m[i],n[i])肯定是从小到大选的,我们先将(n[],m[])排序。
    我们发现答案在(x)不变时有单调性,于是枚举(x),然后用指针代替(y)即可。
    PS:排序用桶排效果更佳。

    (T3)

    (DP)的时候思路还是太窄了,总是想着整行整行地转移。。。
    其实要多想想插头(DP),轮廓线(DP)之类的啊。。。
    (ylrc),这题(tm)其实就是个哔——————————。
    我们用三进制来存储上两行的状态(高级的很)
    然后一行行来转移,转移则用暴力(dg)即可。
    注意要开滚动&三进制不能用或、与操作!!!

    总结

    果然还是所有题都要打,暴力也有(20)啊啊啊啊
    还有优化这种东西还是要认真思考思考的,万一过了呢?
    (DP)的时候思路还是太窄了,总是想着整行整行地转移。。。
    其实要多想想插头(DP),轮廓线(DP)之类的啊。。。
    加油ヾ(◍°∇°◍)ノ゙

    转载需注明出处。
  • 相关阅读:
    django channle的使用
    显示react配置
    细思极恐-你真的会写java吗?
    Java String 面试题以及答案
    2017年--10年java大神告诉你开发最常用的百分之二十的技术有哪些?
    2017常见的50道java基础面试题整理(附答案)
    java如何填写简历?(干货篇)
    你所不知道的 Java 之 HashCode
    Java一般要学多久?
    Java 线程的中断机制
  • 原文地址:https://www.cnblogs.com/jz929/p/13448546.html
Copyright © 2011-2022 走看看