zoukankan      html  css  js  c++  java
  • Leetcode-552 Student Attendance Record II(学生出勤记录 II)

     1 #define maxn 1000000
     2 #define _for(i,a,b) for(int i = (a);i < (b);i ++)
     3 #define pb push_back
     4 #define MOD 1000000007
     5 
     6 class Solution
     7 {
     8     public:
     9         int checkRecord(int n)
    10         {
    11             long long int dp[2][2][3] {0};
    12             
    13             dp[0][0][0] = dp[0][0][1] = dp[0][1][0] = 1;
    14             
    15             _for(i,2,n+1)
    16             {
    17                 if(!(i&0x1))
    18                 {
    19                     dp[1][0][0] = (dp[0][0][0]+dp[0][0][1]+dp[0][0][2])%MOD;
    20                     dp[1][0][1] = dp[0][0][0];
    21                     dp[1][0][2] = dp[0][0][1];
    22                     dp[1][1][0] = ((dp[0][0][0]+dp[0][0][1])%MOD+(dp[0][0][2]+dp[0][1][0])%MOD+(dp[0][1][1]+dp[0][1][2])%MOD)%MOD;
    23                     dp[1][1][1] = dp[0][1][0];
    24                     dp[1][1][2] = dp[0][1][1];
    25                 }
    26                 else
    27                 {
    28                     dp[0][0][0] = (dp[1][0][0]+dp[1][0][1]+dp[1][0][2])%MOD;
    29                     dp[0][0][1] = dp[1][0][0];
    30                     dp[0][0][2] = dp[1][0][1];
    31                     dp[0][1][0] = ((dp[1][0][0]+dp[1][0][1])%MOD+(dp[1][0][2]+dp[1][1][0])%MOD+(dp[1][1][1]+dp[1][1][2])%MOD)%MOD;
    32                     dp[0][1][1] = dp[1][1][0];
    33                     dp[0][1][2] = dp[1][1][1];
    34                 }
    35             }
    36             if(!(n&0x1))
    37                 n = 1;
    38             else
    39                 n = 0;
    40             int rnt = (dp[n][0][0]+dp[n][0][1]+dp[n][0][2]
    41             +dp[n][1][0]+dp[n][1][1]+dp[n][1][2])%MOD;
    42             
    43             return rnt;
    44         }
    45 };
  • 相关阅读:
    DQL、DML、DDL、DCL的概念与区别
    TeamViewer
    构建属于自己的ORM框架之二--IQueryable的奥秘
    某考试 T2 sum
    某考试 T1 line
    bzoj 2153: 设计铁路
    [SCOI2010]序列操作
    [SCOI2010]字符串
    [SCOI2010]传送带
    bzoj 2694: Lcm
  • 原文地址:https://www.cnblogs.com/Asurudo/p/10375237.html
Copyright © 2011-2022 走看看