zoukankan      html  css  js  c++  java
  • csp-s模拟95

    T1:

    [ egin{align} & sum _{i=0}^p lfloor frac{iq}{p} floor \ = & sum_{i=0}^p frac{iq-iq \% p}{p} \ = & frac{ q*sum_{i=0}^p i - sum_{i=0}^p iq \% p }{p} \ = & frac{(p+1)q}{2} - frac{ frac{p}{gcd(p,q)}*(p-gcd(p,q))*gcd(p,q) }{2p} \ = & frac{(p+1)q}{2} - frac{ (p-gcd(p,q)) }{2} \ end{align} ]

     
    T2:
      设格式化前的容量为a,格式化后的容量为b
      当a <= b时,贪心的将a从小到大排序依次格式化一定最优
      当a > b时,考虑若原剩余容量为C,那么格式化一个硬盘i,就是:
    (if C geq a_i C o C-(a_i-b_i))
      我们可以设(C'=c-(a_i-b_i)),那么式子就变为了:
    (if C'+(a_i-b_i) geq a_i C'+(a_i-b_i) o C')
      移项:(if C' geq b_i C'+(a_i-b_i) o C')
      发现式子和a<=b时的一样,可以按b从大到小排序贪心
     
    T3:
      考试时一看题目,2-SAT!!!
      然而并不能处理第一种话
      又想到侦探推理,然而数据范围又这么大……
     
      (我们钦定说第一种话的人是大佬 orz)
      考虑实际上这个环是被大佬切成了好多段,每段中只需知道大佬的真假就可以推出所以人的真假
      考虑枚举说真话的人的个数,然后check
      发现复杂度是(O(n^2))的,不行
      考虑每次重推每个大佬其实挺蠢的,预处理每个大佬说真话/假话时控制的真话/假话的人就好了

  • 相关阅读:
    C# 桥接模式(Bridge)
    C# 中介者模式(Mediator)
    C# 命令模式(Command)
    C# 模板方法(TempleteMethod)
    C# 装饰模式(Decorate)
    C# 策略模式(Strategy)
    C# 职责链模式(Chain of Responsibility)
    C# 外观模式(Facade)
    C# 单例模式(Single)
    C# 原型模式(Prototype)
  • 原文地址:https://www.cnblogs.com/Gkeng/p/11839570.html
Copyright © 2011-2022 走看看