hdu_5903_Square Distance(dp)】的更多相关文章

题目链接:hdu_5903_Square Distance 题意: 给你一个长度为n的a串,一个数m,现在让你构造一个长度也为n的b串,使这个串是由两个相同的串拼起来的,并且和a串对应的位不同的数量为m 题解: 1.可以知道构造的串前面和后面都是相同的,所以只需要构造前半段就行了,当然你可以分类讨论,然后构造 2.设dp[i][j]表示考虑到第i个字符已经有j个与a串对应位不同,然后状态转移方程看代码,注意的是这里要倒着转移回去 因为要满足最小的字典序,并且对应不同的位数为m,倒着转移构造m,最…
Square Distance  Accepts: 73  Submissions: 598  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: 65536/65536 K (Java/Others) 问题描述 一个字符串被称为square当且仅当它可以由两个相同的串连接而成. 例如, "abab", "aa"是square, 而"aaa", "abba"不是. 两个长…
Problem Description A string is called a square string if it can be obtained by concatenating two copies of the same string. For example, "abab", "aa" are square strings, while "aaa", "abba" are not. Hamming distanc…
题意:给一个字符串t ,求与这个序列刚好有m个位置字符不同的由两个相同的串拼接起来的字符串 s,要求字典序最小的答案. 分析:按照贪心的想法,肯定在前面让字母尽量小,尽可能的填a,但问题是不知道前面填了那么多a之后后面能否填完(因为对于那些s[i]!=s[i+n/2]的位置,必定会有一次花费) 于是就想到用dp[i][j]表示i~n这段位置,花费j是否合法 贴上转移: dp[n/][]=; -;i>=;--i) ]) { ;j<=m;++j) dp[i][j]|=dp[i+][j]; ;j&l…
题意: 给一个字符串t ,求与这个序列刚好有m个位置字符不同的由两个相同的串拼接起来的字符串 s, 要求字典序最小的答案    分析: 把字符串折半,分成0 - n/2-1 和 n/2 - n-1 dp[i][j] 表示 第i位及之后的总代价为j可不可行 从第 n/2-1 位推回第 0 位, 若dp[0][m] = 1,则存在 然后贪心对每一位从'a'试到'z',选取接下来存在解的字符 #include <cstdio> #include <algorithm> #include…
题目链接: http://codeforces.com/contest/161/problem/D D. Distance in Tree time limit per test 3 secondsmemory limit per test 512 megabytes 问题描述 A tree is a connected graph that doesn't contain any cycles. The distance between two vertices of a tree is th…
Problem Distance in tree 题目大意 给出一棵树,求这棵树上有多少个最短距离为k的点对. Solution 这个题目可以用点分治来做,然而我到现在还是没有学会点分治,所以只好用树形dp了. 这个题目,我们可以将其转化为一个个子树中搞事情,再慢慢合并. 设f[i][j]为以i为根的子树中距离根距离为j的点有多少个. 对于一个点u,我们枚举它的子节点v,则我们可以计算出经过u-v这条边的答案 我们枚举j=1->k,则ans+=f[u][j]*f[v][k-j-1]; 枚举完以后…
[CF161.D] Distance in Tree time limit per test 3 seconds memory limit per test 512 megabytes A tree is a connected graph that doesn't contain any cycles. The distance between two vertices of a tree is the length (in edges) of the shortest path betwee…
题意:一个字符串被称为square当且仅当它可以由两个相同的串连接而成. 例如, "abab", "aa"是square, 而"aaa", "abba"不是. 两个长度相同字符串之间的 hamming distance是对应位置上字符不同的位数. 给定一行字符串和 m,输出字典序最小的字符串. 析:首先先用dp判断能不能形成这样的字符串,然后再打印出来,dp[i][j] 表示 i - 中间的数能不能改 j 个字符得到,最后打印…
Leetcode之动态规划(DP)专题-72. 编辑距离(Edit Distance) 给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 . 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入: word1 = "horse", word2 = "ros" 输出: 3 解释: horse -> rorse (将 'h' 替换为 'r') rorse -> r…