http://acm.timus.ru/problem.aspx?space=1&num=1081
有一个二进制序列,定义为不能有两个连续的1出现,才是合法的。给出序列的长度n,求合法的二进制序列中按字典序排序后第k个序列是什么。
设dp[i][0]和dp[i][1]分别表示第i位上是0和1的个数。
那么dp[i][0] = dp[i-1][0] + dp[i-1][1];d...
分类:
其他好文 时间:
2014-08-26 17:25:56
阅读次数:
209
http://acm.timus.ru/problem.aspx?space=1&num=1183
很经典的问题吧,看的黑书上的讲解。
设dp[i][j]表示i到j括号合法需要的最少括号数。
共有四种情况:
s[i]s[j]配对,dp[i][j] = min( dp[i][j] , dp[i-1][j+1] );
s[i] = '('或'[' dp[i][j] = min( d...
分类:
其他好文 时间:
2014-08-26 11:42:55
阅读次数:
206
A + B + 1 1 import java.util.Scanner; 2 3 public class P1409 4 { 5 public static void main(String args[]) 6 { 7 try (Scanner cin = ne...
分类:
其他好文 时间:
2014-08-26 09:48:46
阅读次数:
197
还是斜着数 1 import java.util.Scanner; 2 3 public class P1319 4 { 5 public static void main(String args[]) 6 { 7 try (Scanner cin = new Sc...
分类:
其他好文 时间:
2014-08-26 09:44:55
阅读次数:
207
斜着数 1 import java.util.Scanner; 2 3 public class P1313 4 { 5 public static void main(String args[]) 6 { 7 try (Scanner cin = new Scan...
分类:
其他好文 时间:
2014-08-26 09:42:05
阅读次数:
220
原来是道 A * B 1 import java.util.Scanner; 2 3 public class P1264 4 { 5 public static void main(String args[]) 6 { 7 try (Scanner cin = n...
分类:
其他好文 时间:
2014-08-26 09:41:35
阅读次数:
256
2ABC 1 import java.util.Scanner; 2 3 public class P1293 4 { 5 public static void main(String args[]) 6 { 7 try (Scanner cin = new Sca...
分类:
其他好文 时间:
2014-08-26 09:39:15
阅读次数:
208
省点心,直接列出来了…… 1 import java.util.Arrays; 2 import java.util.Scanner; 3 4 public class P1209 5 { 6 public static void main(String args[]) 7 { 8...
分类:
其他好文 时间:
2014-08-26 08:33:55
阅读次数:
182
看起来挺乱,写起来挺简单的递归 1 import java.util.Scanner; 2 3 public class P1149 4 { 5 6 private static String getA(int n, int k) 7 { 8 if (k == n...
分类:
其他好文 时间:
2014-08-26 08:32:05
阅读次数:
187
BFS中常见的判合法性…… 1 import java.util.Scanner; 2 3 public class P1197 4 { 5 private static int dx[] = new int[] { 1, 2, 2, 1, -1, -2, -2, -1 }; 6 ...
分类:
其他好文 时间:
2014-08-26 08:31:25
阅读次数:
423