摘要:
给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 回文就是正反读都是一样的字符串,如aba, abba等 Input 输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c...y,z组成的字符串S 两组case之间由空行隔开(该空行不用处理) 阅读全文
posted @ 2020-09-27 17:43
索饮
阅读(93)
评论(0)
推荐(0)
摘要:
#include <stdio.h> #include <string.h> #define ll long long void pushup(ll rt) { sum[rt]=sum[re<<1]+sum[rt<<1|1]; } void build(ll l,ll r,ll x)//建树 { i 阅读全文
posted @ 2020-09-27 17:33
索饮
阅读(160)
评论(0)
推荐(0)
摘要:
盗金库,dp[i]表示抢劫i元逃跑的概率,则dp[j] = max(dp[j], dp[j - v[i]] * (1 - w[i])); 抢劫多个银行逃跑的概率等于抢劫每个银行逃跑概率之积。 #include <string.h> #include <stdio.h> #include <algor 阅读全文
posted @ 2020-09-27 17:16
索饮
阅读(100)
评论(0)
推荐(0)
摘要:
给你两个字符串组成一个字符串,在组成的字符串中字符的相对顺序不变的情况下,可以在组成的字符串中找到原先两个字符串... 字母可以错开,但是相对顺序不能变化,要这个组成的字符串中字母数最少.. 思路:先求出最长公共子序列,同时记录下路径,记录路径!输出时最长公共子序列的字符只输出一次 这类字符串的题先 阅读全文
posted @ 2020-09-27 16:28
索饮
阅读(146)
评论(0)
推荐(0)
摘要:
题意:给你一个图,判断任意两个点之间是否只能有一条路能够到达。 思路:对于输入的两个点,如果已经输入过了,判断所在集合根节点是否相同,相同则输出No,否则尽量将所有节点合并到一个集合里面,最后只剩下一个集合,也就是说只有一个根节点了,这时需要遍历输入的数据判断father[i]=i个数,如果个数大于 阅读全文
posted @ 2020-09-27 11:07
索饮
阅读(153)
评论(0)
推荐(0)
摘要:
输入若干测试用例,判定一个无向图是否有欧拉回路。 此题是无向图,无向图的欧拉回路需要满足两个条件,一是图是连通的,二是各个结点度数为偶数。 程序中用并查集判定图是否连通,然后构造一个并查集,如果连通则其根相同,用数组b[]统计各个结点的连通度。 #include <string.h> #includ 阅读全文
posted @ 2020-09-27 11:03
索饮
阅读(165)
评论(0)
推荐(0)
摘要:
考的是最长公共子序列+dp; 子序列不是子串,不是子串!不连续也可以,只要a[]和b[]串共有的元素即可。 最主要的是此类问题用dp解决。 注意状态转移方程,dp[i][j]=dp[i-1][j-1]-1;dp[i][j]=max(dp[i][j-1],dp[i-1][j]); 求最长公共子序列,用 阅读全文
posted @ 2020-09-27 10:59
索饮
阅读(97)
评论(0)
推荐(0)
摘要:
敌人有N个工兵营地,接下来有N个正整数,第i个正整数ai代表第i个工兵营地里开始时有ai个人(1<=ai<=50)。 接下来每行有一条命令,命令有4种形式: (1) Add i j,i和j为正整数,表示第i个营地增加j个人(j不超过30) (2)Sub i j ,i和j为正整数,表示第i个营地减少j 阅读全文
posted @ 2020-09-27 10:48
索饮
阅读(114)
评论(0)
推荐(0)