Codeforces 191A Dynasty Puzzles

题意:给你一连串字符串,问你下一个字符串尾字母等于前一个字符首字母,最后一个字符串尾字母等于首串首字母,这样的构造出的字符串最长为多少。

解题思路:dp[i][j] 表示以 i 字母开头  j 字母结尾 的最长字符串。

解题代码:

 1 // File Name: 191a.cpp
 2 // Author: darkdream
 3 // Created Time: 2015年03月10日 星期二 18时44分56秒
 4
 5 #include<vector>
 6 #include<list>
 7 #include<map>
 8 #include<set>
 9 #include<deque>
10 #include<stack>
11 #include<bitset>
12 #include<algorithm>
13 #include<functional>
14 #include<numeric>
15 #include<utility>
16 #include<sstream>
17 #include<iostream>
18 #include<iomanip>
19 #include<cstdio>
20 #include<cmath>
21 #include<cstdlib>
22 #include<cstring>
23 #include<ctime>
24 #define LL long long
25 #define maxn 500005
26 using namespace std;
27 char str[20];
28 char str1[20];
29 int dp[30][30];
30 int main(){
31     int n;
32     scanf("%d",&n);
33     memset(dp,0,sizeof(dp));
34     for(int i = 1;i <= n;i++)
35     {
36       scanf("%s",str1);
37       int be = str1[0] - ‘a‘;
38       int en = str1[strlen(str1)-1] - ‘a‘ ;
39       //printf("%d\n",strlen(str1));
40       for(int i = 0 ;i < 26 ;i ++)
41         if(dp[i][be] != 0 )
42           dp[i][en] = max(dp[i][be]+ int(strlen(str1)),dp[i][en]);
43       dp[be][en] = max(dp[be][en],int(strlen(str1)));
44     }
45     /*for(int i = 0 ;i < 26;i ++)
46     {
47       for(int j = 0 ;j < 26;j ++)
48       {
49           printf("%d ",dp[i][j]);
50       }
51       printf("\n");
52     }*/
53     int mx = 0 ;
54     for(int i = 0;i < 26;i ++)
55         mx = max(dp[i][i],mx);
56     printf("%d\n",mx);
57 return 0;
58 }

时间: 2024-11-04 09:41:27

Codeforces 191A Dynasty Puzzles的相关文章

codeforces 191A A. Dynasty Puzzles(dp)

题目链接: codeforces 191A 题目大意: 给出n个字符串,两个字符串如果前一个的尾与后一个的首相同,那么可以相连,最后得到的字符串要满足首尾相同,问最长的符合要求的字符串的长度是多少. 题目分析: 定义状态dp[i][j]代表以i开头以j结尾的最长的字符串的长度,具体转移看代码,水题不解释. AC代码: #include <iostream> #include <cstring> #include <cstdio> #define MAX 500007 u

CodeForces 191A

CodeForces 191A 考虑 dp dp[i][j] 表示 以i 为开头以 j 为结尾字符串能够满足条件的最大值. 因为要满足 a...b,c....d a == d && b == c 的条件.. 直接 for (int j = 1; j <= 26; j++) { if (dp[j][st]) dp[j][ed] = max(dp[j][ed], dp[j][st] + m); } dp[st][ed] = max(dp[st][ed], m); 枚举开头进行更新,或者枚

【codeforces 696B】 Puzzles

http://codeforces.com/problemset/problem/696/B (题目链接) 题意 给出一棵树,随机dfs遍历这棵树,求解每个节点的期望dfs序. Solution 考虑对于节点u,其某个儿子节点v的期望是多少. 首先,节点u的儿子的dfs的顺序是其儿子数son[x]的全排列.考虑在排列中有多少个节点在v的前面,不妨设x排在v的前面,那么满足的排列数为:${P_n^{n-2}}$,于是x对v的期望的贡献为:$${\frac{P_n^{n-2}×size[x]} {P

CodeForces 696A(Lorenzo Von Matterhorn ) &amp; CodeForces 696B(Puzzles )

A,给一棵完全二叉树,第一个操作,给两个点,两点路径上的所有边权值都增加w,第二个操作,给两个点,求两点路径上的所有边权值和. 我看一眼题就觉得是树链剖分,而我又不会树链剖分,扔掉. 后来查了题解,首先数据范围是1e18不可能是树剖,其次完全二叉树啊!不是普通的树啊!!sb... //我做过此题,没做出来,被学弟教会..虽然我做的题少,但我一向觉得至少自己做过的题都是记得的...但是.... #include <algorithm> #include <iostream> #inc

CodeForces 337A Puzzles

Puzzles Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on CodeForces. Original ID: 337A64-bit integer IO format: %I64d      Java class name: (Any) The end of the school year is near and Ms. Manana, the teacher, will soon have t

codeforces 377A. Puzzles 水题

A. Puzzles Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/problem/337/A Description The end of the school year is near and Ms. Manana, the teacher, will soon have to say goodbye to a yet another class. She decided to p

Codeforces Round #362 (Div. 1) B. Puzzles 树形dp,概率

题目链接: http://codeforces.com/problemset/problem/696/B 题意: 一个树,dfs遍历子树的顺序是随机的.所对应的子树的dfs序也会不同.输出每个节点的dfs序的期望 思路: http://www.cnblogs.com/01world/p/5795498.html 假设四个子节点为A,B,C,D,因为排列等可能,所以A在B前面的概率跟A在B后面的概率相等,C和D对于A而言一样.所以遍历A的时间期望就是( t(B) + t(C) + t(D) )/2

【数学相关、规律】Codeforces 696B Puzzles

题目链接: http://codeforces.com/problemset/problem/696/B 题目大意: 给一棵树,从根节点开始递归,time=1,每次递归等概率随机访问这个节点的子节点,走过不会再走,每访问到一个新节点time+1,求访问每个节点的时间的期望. 题目思路: [数学规律] 这题其实是一道概率DP的题目,但是找规律后发现答案和当前结点的子树大小有关. ans[v]=ans[u]+1+0.5*(child[u]-child[v]-1),child为当前节点的子树大小. 1

Codeforces Round #196 (Div. 2) A. Puzzles 水题

A. Puzzles Time Limit: 2 Sec  Memory Limit: 60 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5373 Description The end of the school year is near and Ms. Manana, the teacher, will soon have to say goodbye to a yet another class. S