题目链接: http://poj.org/problem?id=3898 题目意思: 有两个字符串,模式串和原串.每个字母有一个权值,a为1,b为2,...z为26 模式串中‘ ?’可以被一个字母代替. ‘*’可以被0个或多个字母代替. 问替换后的模式串满足时原串的子串,求权值和最小的那个值. 解题思路: dp[i][j]表示模式串的第i个字符和原串的第j个字符匹配时,能达到的最小的权值. 当save1[i]==save2[j]时,dp[i][j]=min(dp[i][j],dp[i-1][j-…
题意:给定一个字符串d,要求用另一字符串s去匹配,其中s中的?可以为任何字符,*可以为任意个字符,求最小的匹配权值 思路:这题和CSDN英雄会的“反相互”类似,由于其中某些字符的不确定性,利用动态规划来对每个字符求解.只不过这个题更灵活了一些,但是本质是一样的.考虑s中的第i个元素,当匹配到d中的j元素时,用f[i][j]记录最小的权值和,关键问题就是如何分析'?'和'*'这两个元素. (1)对于'?'比较简单,直接匹配上就可以,f[i][j]=f[i-1][j-1]+Offset (2)对于'…
C - Kalila and Dimna in the Logging Industry 很容易能得到状态转移方程 dp[ i ] = min( dp[ j ] + b[ j ] * a[ i ] ), 然后斜率优化一下. 一直以为炸精度了, 忽然发现手贱把while 写成了if .... #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #d…
题目:伐木工人用电锯伐木,一共需要砍n棵树,每棵树的高度为a[i],每次砍伐只能砍1单位高度,之后需要对电锯进行充电,费用为当前砍掉的树中最大id的b[id]值.a[1] = 1 , b[n] = 0,a[i]<a[i+1],b[i]>b[i+1].问砍完所有的树的最小费用. 分析:由于b[n] = 0 , 所以很容易弄出一个O(n^2)的状态转移方程. dp[1] = 0; for(int i=2;i<=n;i++){ dp[i] = INF; for(int j=1;j<i;j…
题目地址:http://poj.org/problem?id=3898 题目意思: 给你一个模式串,再给你一个原串,要你去匹配 模式串里面的?可对应任意一个字符 *号可对应0个或多个字符 其中a=1,b=2....要你找出在原串中能匹配出的最小值 如果不能就输出-1 这是一道DP的题,其实和LCS很像,但是打比赛的时候我竟然在想各种匹配算法啊,给跪了 尼玛DP简直就是一条不归路啊 解题思路: 用dp[i][j]来表示模式串的第i个和原串的第j个匹配时的值 不能匹配就是INF 那么有几个转移的 对…
题意:软件公司接了两个项目,来自同一个合同,要一起交付.该公司有n个程序猿来做这两个项目A和B,每个项目都被分为m个子项目,给定每个程序猿做一个A中的子项目需要的时间Xi秒,和做B中的子项目所需时间Yi秒,问最短需要多少时间可以完成这两项工程. 分析:显然同一时刻不同的工人可以一起工作,那么面临的问题也就是一个工作的分配,让某一时刻的某个工人干A还是干B,来使AB尽快都完成.刚始做的时候确实没有什么头绪,后来看了大牛们的解题报告,大多是二分时间判断再加上并行DP来解决这个问题.但是仔细分析的好像…
题目大意:有一个胖子在玩跳舞机.刚開始的位置在(0,0).跳舞机有四个方向键,上左下右分别相应1,2,3,4.如今有下面规则 1.假设从0位置移动到随意四个位置,消耗能量2 2.假设从非0位置跳到相邻的位置,如1跳到2或4,消耗能量3 3.假设从非0位置跳到对面的位置.如2跳到4.消耗能量4 4.假设跳同一个位置,消耗能量1 5.两仅仅脚不能在同一个位置 解题思路:这题事实上非常水.直接暴力就能够攻克了,讨论全部情况,用dp[i][j][k]表示跳第k个数字.左脚在i这个位置.右脚在j这个位置时…
动态规划与贪心相关: {HDU}{4739}{Zhuge Liang's Mines}{压缩DP} 题意:给定20个点坐标,求最多有多少个不相交(点也不相交)的正方形 思路:背包问题,求出所有的正方形,然后求最多有多少个正方形不互相覆盖,这题真是神思路. {POJ}{3846}{Mountain Road} 题意:给定两个地点车的班次,路是双向单车道,求安排最短的时间 思路:对车次序列进行二维DP转移,转移的时候需要注意时刻的维护.这个题目的DP思路是正向DP,每次遍历到f[i][j]都需要更新…
微软近期Open的职位: Job Title: Software Development Engineer Work Location: Suzhou, China The Office 365 Core Fabric group is looking for a Software Engineer to work on a very strategic and secret project in super exciting startup mode! Think starting from…
Introduction to Software Testing 文章目录 Going to Learn --. Evolution of The Software Industry Errors, Faults, and Failures Purpose of the Classification Fault Types Classification of Failures why software has faults Engineering Approaches Role of Speci…