Leetcode-552 Student Attendance Record II(学生出勤记录 II)
Posted Asurudo Jyo の 倉 庫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 };
以上是关于Leetcode-552 Student Attendance Record II(学生出勤记录 II)的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 552 学生出勤记录II[动态规划] HERODING的LeetCode之路
rg.apache.ibatis.binding.BindingException: Mapper method 'com.dao.Cameao.getOnlineDayRation atte
phoenix连接hbase数据库,创建二级索引报错:Error: org.apache.phoenix.exception.PhoenixIOException: Failed after atte