摘要: import java.util.*;import java.math.*;public class Solution { public static void main(String args[]){ Scanner in=new Scanner(System.in); int a=in.nextInt(); int b=in.nextInt(); BigInteger x=BigInteger.valueOf(a); BigInteger y=BigInteger.valueOf(b); x=x.po... 阅读全文
posted @ 2013-03-14 20:36 z.arbitrary 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 刘汝佳新书--训练指南题意:给出N个不同单词和一个长字符串S。把这个字符串分解成若干个单词的连接(单词尅重复使用),问有多少种方法?分析:令d[i]表示从字符i开始的字符串的分解方案数,则dans[i]=sum{dans[i+d[x]] | 单词x是S[i...len]的前缀};// File Name: 1401.cpp// Author: zlbing// Created Time: 2013/3/14 18:55:52#include<iostream>#include<string>#include<algorithm>#include<cst 阅读全文
posted @ 2013-03-14 20:01 z.arbitrary 阅读(528) 评论(0) 推荐(0) 编辑
摘要: Trie树也叫前缀树用来保存字符串集刘汝佳新书----训练指南前缀树模版const int maxnode = 4000 * 100 + 10;const int sigma_size = 26;// 字母表为全体小写字母的Triestruct Trie { int ch[maxnode][sigma_size]; int val[maxnode]; int sz; // 结点总数 void clear() { sz = 1; memset(ch[0], 0, sizeof(ch[0])); } // 初始时只有一个根结点 int idx(char c) { return c - '. 阅读全文
posted @ 2013-03-14 19:50 z.arbitrary 阅读(140) 评论(0) 推荐(0) 编辑