zoukankan      html  css  js  c++  java
  • 省选模拟考试1

    最近被splay,treap,dlx淹没。。

    没写过考试的反思什么的感觉总结一下貌似很重要?


     

    T1

      详情见codevs2466

      本来hash可过的题结果只给了64MB(oj上是256MB)

      水题没什么好说的。。map判重都能过

      收获:(学习了一发康托展开)

    T2

      codevs2467

      貌似显然要先按b排序?

      感觉搜索很兹瓷没想(xiangbudao)DP就没管了

      正解是DP

      f[i][j]代表前i个人,其中1窗口排到j分钟时需要的时间

      两种转移方式 1.第i+1人在1窗口。此时最大值的可能有:当前i+1人吃完饭后没有人在吃饭:j+b[i] 或者是前i人有一人比i+1人还晚吃完f[i][j-a[i]]

      2.在2窗口,同样两种转移方式:sum[i]-j+b[i] 或 f[i][j]

      最后求f[n]一行中的最小值。

      收获:贪心+DP结合

    T3

      codevs2468

      矩阵乘法

      考试之前中午和wyy还讨论了差不多的题所以知道大概是矩乘?

      当然也是只会口胡

      其中有很多细节也是在wyy的点拨下才想明白

      首先很容易想到由于鳄鱼只有2,3,4三种周期

      不如就把12作为一个大周期

      这样处理起来会简单一点

      O(kn^2)暴力大概是很容易想到的(我并没有想到)

      然后我们先只跑12步好吧

      然后我们发现好像12步之后就能12步12步走了

      再深入想想就是矩乘了。。

      剩下的小于12步多出来的直接暴力。

      代码(建议先想清楚怎么构造矩阵)

     1 void DP(int X)
     2 {
     3     if(!gg[0][X])f[0][X][X]=1;//f[i][j][k]代表i步,从j出发到k的路径条数 
     4     for(int i=1;i<=12;i++)
     5     {
     6         for(int j=1;j<=n;j++)
     7             for(int k=1;k<=n;k++)
     8                 if(g[k][j])//k与j有双向边 
     9                 {
    10                     f[i][X][j]+=f[i-1][X][k];
    11                     f[i][X][j]%=mod;
    12                     f[i][X][k]+=f[i-1][X][j];
    13                     f[i][X][k]%=mod;
    14                 }
    15         for(int j=1;j<=n;j++)
    16             if(gg[i][j])f[i][X][j]=0;//当j在i时刻有鳄鱼那么此时路径条数变0 
    17     }
    18     for(int i=1;i<=n;i++)v[X][i]=f[12][X][i];
    19 }
    20 
    21 int main()
    22 {
    23     init();
    24     for(int i=1;i<=n;i++)DP(i);//求每个点的f 
    25     qmod(k/12);//快速幂矩阵 
    26     int ans=0;
    27     for(int i=1;i<=n;i++)
    28         ans=(ans+f[k%12][i][end]*v1[str][i])%mod;//剩下的利用f数组完成 
    29 }
    View Code

     

     

     

    T4

      准备弃坑。。

  • 相关阅读:
    通过点击切换文本框内容的脚本示例
    使用脚本改变树控件的行为
    javascript动态创建radio button元素支持IE/Firefox
    轻量级的向导控件MultiView
    客户端脚本简单实现Repeater的无刷新分页
    在非web site项目中引用Membership
    逐步认识C#四种判断相等的方法
    C#获取csv文件内容对逗号和引号分隔的处理
    JavaScript之 值类型 和 引用类型 Better
    JS call apply bind 方法的区别 Better
  • 原文地址:https://www.cnblogs.com/tuigou/p/5074445.html
Copyright © 2011-2022 走看看