zoukankan      html  css  js  c++  java
  • 2013第三场多校


    第三场多校: 至今最惨的一场多校。共作出两题。
    1008 http://acm.hdu.edu.cn/showproblem.php?pid=4628       状态压缩优化的搜索
    (0)、比赛时候直接状态压缩dp,结果TLE了。没有算好时间复杂度,第一次交的时候没有测大数据。应该多想几种方法,做到一A才行,不然卡题会卡很久。
    (1)、后来直接搜索,从最后一个状态开始搜,每次都用一个回文串,然后搜另一个的最小步数。 然后过了。
    (2)、搞了第四场多校后发现是自己代码实现能力太渣太渣。。。将一个状态i分解成两个子状态,其实是可以不用搜的。直接一个for循环就行了,这样妥妥过。啊啊啊。。。

        for(i=0;i<bit[Len];i++)//原状态i
        {
            for(j=i;j;j=(j-1)&i)//子状态j与i^j
            {
                if(dp[j]+dp[j^i]<dp[i])
                dp[i]=dp[j]+dp[j^i];
            }
        }

    1010 http://acm.hdu.edu.cn/showproblem.php?pid=4630     猜测:需要先得到某些结论才能用区间统计问题解决
    (1)、其实不需要什么结论。对于每个数ai,找出它所有的因数,然后用这个因数去更新区间。比赛的时候以为时间复杂度会超,没敢往这方面想,其实不然。调和级数(1+1/2+1/3+1/4+...1/n)收敛于ln(n)+欧拉常数。ai的每个因数x,对于r为i的时候,将会影响l在[1,pre[x](x的上一个最右边的位置)]的这段区间。所以离线处理一下就可以了。每次更新[1,pre[x]],询问对于r=i的查询,询问[1,l]之间的最大值。时间复杂度为log(n)*log(n)*n+log(n)*Q;

  • 相关阅读:
    luoguP1600 天天爱跑步(NOIP2016)(主席树+树链剖分)
    luogu P3919 [模板]可持久化数组(可持久化线段树/平衡树)(主席树)
    luoguP3384 [模板]树链剖分
    luoguP2590 [ZJOI2008]树的统计(树链剖分)
    luoguP1505 [国家集训队]旅游(真的毒瘤)
    入手node
    小程序中如何实现评论中的点亮星星
    小程序学习网
    css3实现小程序的动画
    scroll-view
  • 原文地址:https://www.cnblogs.com/CooCoo/p/3235185.html
Copyright © 2011-2022 走看看