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

    T1:
      最暴力的当然是建图bfs,但发现边数可以达到(n^2)
      考虑当1在每个点的时候,经过操作可以到达的是一个奇数或偶数的连续区间,
      省去建边的过程,对于奇偶各开一个set,每次能到的点是一个set上的连续一段
      每次删除已经走过的点即可保证复杂度
      (set优化建图???)
     
    T2:
      首先这个经典的模型有一个结论:
        任意交换两行或两列的限制高度,对"方案数/最多块数/最少块数"均没有影响
      于是可以对限制从大到小排序
        1.当A,B最大值不相等时无解
        2.有解时,考虑容斥:
          考虑一个简化的问题:
          一个a*b的矩形,每个位置的值在[0,s]中,且每行每列的最大值均为s的方案。
          设f[i]为至少有i行不满足条件时的方案(需要保证每一列都满足条件)
          则:(f[i]=C(a,i)*(s^i*((s+1)^{a-i}-s^{a-i}))^b)
          那么方案数就是(sum_{i=0}^a (-1)^i*f[i]);
     
          那么实际的问题呢?
          实际上是一个"L"形,用相同的方法容斥即可
     
    T3:
      咕咕咕......

  • 相关阅读:
    springmvc跳转的几种方式
    DFL库安装dmd2
    python中关于turtle库的学习笔记
    带有进度条的圆周率计算
    Splay——学习笔记
    简述树链剖分
    数学专题——学习笔记
    CDQ分治(三维偏序)——学习笔记
    概率与期望DP
    CSP模拟赛20190922
  • 原文地址:https://www.cnblogs.com/Gkeng/p/11808902.html
Copyright © 2011-2022 走看看