zoukankan      html  css  js  c++  java
  • NOIP模拟12

      也算是最近几次比较水的一次吧。

      考试时看T1像个打表找规律的题,扔了,去看T2,带修莫队??不会,完戏。看了T3,我决定还是去看T1。

      看着T1,我突然发现T2是个大水题:主席树就行,不带修,修改时只需修改一棵主席树上的权值。不管了,先切了它。十分钟码完,40行,两个样例都是一边过。。。突然心里特别虚,于是我决定打个对拍,一拍就错(不要迷信样例,包括大的!)。

      从头到结束半个小时T2就搞定了,然后我去推T1的式子,通过打表我们可以发现:一只兔子与其爸爸的差必然为斐波那契数列中的一项,那一项就是比这只兔子小的最大的一项。于是我们就可以二分出这一项,一直往上扫就可以得到答案。10^12大概到了59项,所以复杂度60*log60*m,好像有点玄(考后证明这样也能A)。。。。于是想到,可不可以类似倍增lca的思路(将每一个数唯一分解为若干2的k次幂之和),将每一个数唯一分解为若干斐波那契数之和,即可知道他们的爸爸与深度。然后就愉快的AC了这道题。

      大概还有50min,去看T3,看了看,好像倒着扫就可以确保字典序最小,k=1直接硬判,k=2可以用并查集维护,但是没有想到在值域上求解。所以打了个在点上求解的,理论复杂度O(n^2)。

      最后一看,T3炸了?输出ans->输出ans+1,分数12->40,把else放在另一个if里面,分数40->72,改了改扩展域并查集,分数72->84,

      最后被玄学了:

    1 printf("%d
    ",ans);
    2 int len=h.size();
    3 for(int i=len-1;i>=0;i--)
    4     printf("%d ",h[i]);

      wa84到死,不知怎么回事,后来改成了这样:

    1 printf("%d
    ",ans);
    2 for(int i=ans-2;i>=0;i--)
    3     printf("%d ",h[i]);

      感觉没啥用,也没交,后来交了一下,A了?

      T1A掉了,T2莫名其妙wa了,什么鬼,我拍了2个小时呢,发现颜色可以>n,改了之后,T了?

      卡了卡常,A掉了。

      感觉这次还行,至少三道题都是正解思路(除了T3在值域求解),但是因为种种原因炸成了100+75+12=187,rk4

    没了

  • 相关阅读:
    微服务基础——厉害了!API网关
    11.11 大促背后的秘密——智能合图
    那些我们对2019技术世界趋势的预测都说准了吗?
    DevOps云翼日志服务实践
    技术沙龙|原来落地AI应用是这么回事儿!
    直击JDD | 京东开启技术服务元年:携手合作伙伴,共创产业未来
    直击JDD | 徐雷:智能化零售,以技术为驱动力的突破路径
    直击JDD | 陈生强:京东数科的底层是数字化操作系统
    干货 | Spark Streaming 和 Flink 详细对比
    持续集成与自动化部署
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/11295319.html
Copyright © 2011-2022 走看看