• NOIP模拟9


    #rank3,开心

    话说这次考试时,心态并不是很好,考试前一天看了DeepinC大佬的博客,上次他rank15就

    感觉炸成那样,那我上次rank30算什么?反正内心虚得一比;昨天晚上做梦梦到自己模拟赛倒数,

    起床后很慌,早上到了之后没心情打题,颓了一会博客,早上饭也没好好吃,知道这次达哥出题;

    回来后感觉只能打暴力,考前一直在颓博客,学卡常,忽然发现已经开考2min了,旁边cbx已经在

    看题了,我急忙打开题,先扫一遍,果然是达哥的题,连暴力都不会打。。。卡常白学了。。。

    按顺序来,T1先骗到20分,然后就整不动了,看T2,t==0时想到以前做的概率充电器,t==1时

    就只想到了高斯消元。打上去以为能得60分,结果t==0时式子推错,只拿到了消元的30。

    看T3时还剩1.5h,发现第二种情况是一个裸的卡特兰数,第一种情况是一个裸的组合数,然后

    开始想第3,4种情况,上个厕所,回来后想到了第4种情况的实现方法,然后想第3种,发现只剩

    了半个多小时,n<=1000,觉得可能要是个n2的dp,但是打表肯定能过,纠结了一下选择了dp

    然后开始推式子

     1 void work()
     2 {
     3     int ans=0;
     4     f[2]=4;
     5     for(int i=4;i<=n;i+=2)
     6     {
     7         f[i]=4ll*cat(i>>1)%mod;
     8         for(int j=i-2;j;j-=2)
     9         {
    10             f[i]+=3ll*f[j]%mod*cat((i-j)>>1)%mod;
    11             f[i]=f[i]>=mod?f[i]-mod:f[i];
    12         }
    13     }
    14     printf("%d
    ",(f[n]+mod)%mod);
    15 }
    式子::::::::

    发现:因为只能在坐标轴上移动,分为上下左右四个轴,我们只考虑最后一个轴:若始终不改变轴,则就是一个裸的卡特兰,

    所以初始化为Cat(n/2)*4,之后从前面转移时要考虑重复的情况,要保证最后一个轴和倒数第二个轴不重复,所以乘的时候不

    能乘4,而要乘3,枚举最后一个轴的步数,加起来即可;

    想到后赶紧打上去,A掉T3,开心

  • 相关阅读:
    JSP错题纠错
    org.hibernate.NonUniqueObjectException: a different object with the same identifier value was alread---------程序报错
    SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
    Spring Mvc 的自定义拦截器
    管理系统-------------SSH框架书写登录和显示用户
    初识的Spring Mvc-----原理
    相识不易,要懂珍惜----------Spring Mvc
    我们的相识,总是那么巧。-------eclipse中搭建maven项目
    初识Web 服务(即Web Service)
    初识Spring框架
  • 原文地址:https://www.cnblogs.com/loadingkkk/p/11256882.html
Copyright © 2020-2023  润新知