几天A了几道数位dp打了场比赛,首先做的odd-even number这道题,题意是,有一个数,每连续的奇数位以及连续的偶数位为一段,要求每一个奇数段要有偶数个奇数,每一个偶数段要有奇数个偶数,求区间[L,R]有多少个满足条件的。这个题忘了判前导0了,结果调了好长时间没调好。接下来做的是Palindromic Numbers,大意是求[a,b]中回文数的个数,讲道理真是一点头绪都没有,然后研究了一下题解,好吧还是用dfs的写法,用dp[start][cur][state]表示以start位起始到cur位状态为state时回文数的个数,同样也要注意前导0的情况。最后做的是Balanced
Numbers,题意是问A到B之间有有多少数符合以下两个条件。 数位0-9 中,每一个奇数数位有偶数个,偶数数位有奇数个。这个有三种状态,要进行状态压缩,用三进制记录状态,这个我的dfs处理的很麻烦,三种状态都快把我绕晕了。然后比赛a了三道水体,都是思路题,第一题只要按1与n,2与n-1.....配对就好了,第二道题是输出aabbaabbaabb形式,也没什么好说的,第三道就是从后面搜然后强行贪心一波了,最后变成bbbbbbbbaaaaaa的形式a每移一步b都多一位。
11月9号
