• 省选模拟59


    A. 杨柳

    如果没有棋子不能重叠的限制,那么显然可以费用流跑匹配(虽然二分图不能A)。
    考场上到这我就不会了。
    实际上可以忽略这个限制。可以让被卡住的先走,或者交换目标。
    如果拎出棋子和红格建二分图,边数可达到(n^2)级别。费用流边数是极大影响因素。
    所以直接在棋盘上建边,S向棋子连1流0费边,红格向T连1流0费边,可以转移的格子间连inf流1费边。
    费用只有01,跑zkw费用流。

    B. 景中人

    分析可知矩形在横坐标上只有相离和包含两种关系。
    考虑区间DP,f[i][j][k]为[i,j]区间内>k的点都被覆盖过的最小矩形数。
    对于相离,有转移f[i][j][k]=min(f[i][p][k]+f[p+1][j][k])
    对于包含,由于区间DP的转移顺序,可以规定只在i,j为两端点处放置矩形,这样可以得到包含关系。
    贪心可知每次一定放能放置的最大矩形,用单调指针对于不同的横坐标之差预处理下。
    设h[i]为横坐标之差为i能放置的最大高度,那么f[i][j][k]=min(f[i][j][k],f[i][j][h[x[j]-x[i]]]+1)
    复杂度为(O(Tn^4))

    C. 钦点

    暴力考虑边复杂度不允许,这种情况下考虑生成树之类减少边数或者建虚点把等价点一起考虑。
    性质1,对于合数d,d|a[k],所有k形成完全图。
    对d建虚点,和d|a[k]的k连边,在新图上考虑非虚点与原图等价。相当于是只考虑不同等价类。
    性质2,可以选取只有两个质数组成的d,仍然成立。因为可以只取极大完全图。
    在新图上考虑答案是什么,删点使图不连通即割点,且该割点一定存在于最大的连通块中,断开后最大的连通块最小,然后和总图的次大连通块取max。
    线筛预处理每个数的最小质因子,可以在(O((质因子个数)^2))内得到d,然后用Tarjan找割点顺便处理答案。
    复杂度两个小log,我写的还带有一个map的log

  • 相关阅读:
    4d
    加载数据
    刘亮给的帮助
    加载数据
    选中并高亮显示
    ArcEngine
    接口编程
    好的参考文献
    在本地安装 wordpress
    C#读取EXCEL数据
  • 原文地址:https://www.cnblogs.com/hzoi-yzh/p/12615310.html
Copyright © 2020-2023  润新知