摘要:
ACM-ICPC Live Archive 还是递推的题。要观察出R比O多4个这个事实,同时不能有两个以上的连续的O,然后就是dp,dp[i][j][k]表示目前为止有i个R,连续的R有j个,第一个字母为O的时候是1,R的时候是0,最后一个字母总是R。代码如下: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 typedef long long LL; 9 const int N = 1111;10 LL dp[N][5][2]; // N - num of 'R', contin 阅读全文
posted @ 2013-07-27 23:56
LyonLys
阅读(256)
评论(0)
推荐(0)
摘要:
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2346 不知道算什么题,好像是数位dp,不过在切递推的题,所以这题应该算是递推。 首先要预处理出dp[i][j][k][p],表示一共有i位数字,其中数字和mod p余j而且这个数mod p余k的个数。然后就是枚举每一位,分段处理出结果。代码如下: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std 阅读全文
posted @ 2013-07-27 21:34
LyonLys
阅读(190)
评论(0)
推荐(0)
浙公网安备 33010602011771号