• NOIP模拟 23


      曾经有一段真挚的AK摆在skyh面前,但他一直意淫自己AK导致没有AK。

      如果非要把这AK加一个期限的话,skyh一辈子都AK不了了。

      

      论爆零选手的爆零原因

      我说T3想到了能AC的思路但是爆零了有人同情吗?  

        for(int j=1;j<=p&&i*prime[j]<maxm;++j){
            isnot[i*prime[j]]=1;
            if(i*prime[j]==0){//qaq
                mu[i*prime[j]]=0;
                break;
            }
            else mu[i*prime[j]]=-mu[i];
        } 
    欧拉筛打爆

        //上边是绞尽脑汁写的dp
        long long ans=dp[n][0][0]+dp[n][1][1]+dp[n][3][0]+dp[n][3][1];//没取模,功亏一篑
        printf("%lld
    ",ans%mod);
        return 0;
    就是没状态

      只有T2没辜负我的期望QMQ拿稳了大众及格分

      T2正解是个神奇floodfill算法(?)

      首先yy一下 从一个点到矩形外所有路径上最大值的最小值

      假如从这个点放水直到它流到矩形外,水一定是有路径的

      如果这条路径又低又平,就毫无阻挡的流走了

      如果不是很平,那么水会遇到一些瓶颈被阻挡下来

      这个瓶颈就是这条路径上的最大值(高度)

      所以一个格子的最高积水高度,就是所说的xxx的最大值的最小值

      考虑把这信息从一个点拓展到另一个点

      为了保证复杂度,最好每个点只拓展一次

      那么首先要保证这个点是正确的,也就是积水积满

      边界不能积水,所以边界一开始是正确的,所以从边界开始。

      每个点的积水高度一定是它周围(能积水高度)最低的方格

      所以必须要优先拓展答案较低的方格。

      考虑用堆

      

      然后发现已被拓展的区间是个不断扩张的过程,神似那个prim

      所以可以把扩展过程看成带权边(权为$max(w[fm],w[to])$)

      整个过程看成求最小生成树的过程

      反正我是不会。

      T3正解没打,用自己的暴力水过了

      考虑每增删一个数造成的影响(强行把容斥说成莫比乌斯反演)

      $ Contribution(i)=sum limits_{j in S} [gcd(i,j)==1] $

                                       $ =sum limits_{j in S} sum limits_{k|gcd(i,j)} mu(k) $

                                       $ =sum limits_{k|i} mu(k) sum limits_{j in S且 k|j}1 $

      所以开个桶,每增加一个数,就把他所有因数的桶加一,查询一个数就把他因数的桶的大小$ *mu(d) $累加到答案里

      删除同理,增减和查询的顺序需要注意一下

      (话说连续两次想到正解了啥时候能在考试的时候打出来啊)

  • 相关阅读:
    通过 cygwin64 自己编译对应的 Tera Term cyglaunch.exe
    氚云人事文档介绍
    氚云派单文档介绍
    H3 BPM接口说明文档
    H3 BPM V10.1 产品更新日志
    H3 BPM V10.0 产品更新日志
    统一协同工作平台用户管理、单点登录以及任务集成接口说明
    H3 BPM前后台交互方法介绍
    介绍遍历子表的方法
    氚云tERP产品介绍-功能
  • 原文地址:https://www.cnblogs.com/yxsplayxs/p/11363959.html
Copyright © 2020-2023  润新知