• 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

    没了

  • 相关阅读:
    python 连接 mysql
    apt-get报错could not get lock /var/lib/dpkg/lock -open等
    二叉树两个结点的最低共同父节点
    c++虚函数,纯虚函数,抽象类,覆盖,重载,隐藏
    class的继承,从基类开始
    Vue.js简单记录
    转:MVC,MVP 和 MVVM 的图示
    转:springmvc常用注解标签详解
    《一头扎进SpringMvc视频教程》
    《一头扎进SpringMvc视频教程》Rest风格的资源URL
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/11295319.html
Copyright © 2020-2023  润新知