zoukankan      html  css  js  c++  java
  • 省选模拟59

    A. 杨柳

      发现每个位置同一时刻只有一个棋子是废限制,所以这题就没了。

      所以可以考虑二分图带权匹配,然而会tle,所以直接在原图上跑费用流就行了。

    B. 景中人

      考虑dp,令$dp[i][j][k]$表示$[i,j]$这一段区间所有纵坐标大于等于k的点全部被覆盖的最小花费。

      转移的话可以考虑,所有的矩形的横坐标只有相离或者包含两种关系,所以一种方案是加入一个横坐标包含整个区间的矩形,另一种是考虑将整个区间分成两半转移。

      所以单次转移$O(n)$,总复杂度$O(n^4)$。

    C. 钦点

      考场上打了一个$O(Tnlog^4)$的暴力,然而跑不满常数极小,所以开了O2之后卡了卡常就过了。实际上就是搞了一个线段树分治,每次加入就行了。

      然后正解的思路类似,建出若干虚点,然后暴力建出整张图即可,之后找到最大的连通块,枚举删掉这个连通块之内的某个点,之后剩余最大连通块的最小值就是答案。

      然后还有几个优化,就是可以存最小质因子来预处理出每个数的质因数分解,然后可以快速得到约数。可以发现只处理仅包含两个质因子的数就可以考虑到所有情况,所以复杂度$O(nlog^2a)$

  • 相关阅读:
    熟悉常用的Linux操作
    Python基础之五星红旗
    类似于铁道部12306的城市选择框的实现
    使用Django操作数据库入门
    进程和线程
    线程、进程、携程理解
    CentOS6.8部署Python3.6.8的Django项目
    爬取妹子图片
    聚类算法之DBSCAN
    机器学习算法优缺点总结
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/12616223.html
Copyright © 2011-2022 走看看