![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 73
朽弈
这个作者很懒,什么都没留下…
展开
-
POJ 3176 Cow Bowling
题目链接:http://poj.org/problem?id=3176 这是一题简单的DP,很基础,原创 2014-05-09 14:01:11 · 573 阅读 · 0 评论 -
Codeforces 337D Book of Evil 【树,dfs】
题目链接:http://codeforces.com/problemset/problem/337/D 题目大意: 给出一棵树,在这个树的某个节点存在着魔鬼(有且只有一个),能使所有到该点的距离小于d的说所有点受到影响,现在给出一部分受到影响的点,问可能存在着魔鬼的点有多少个。 首先我们需要找出受到影响的点中,两两距离最远的一对点,之后,只需要计算有多少个到这两个点的距离都小原创 2014-08-20 00:59:44 · 1630 阅读 · 0 评论 -
hdu 4961 Boring Sum【构造题】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4961原创 2014-08-19 23:51:13 · 585 阅读 · 0 评论 -
Codeforces 372B. Counting Rectangles is Fun【动态规划,暴力枚举】(lowbit()小用法)
题目大意: 给出一个由0,1构成的矩阵,询问(a,b)到(c,d)两个点之间的只含有0的矩形有多少个。 方法: 由于矩阵不大,最多40*40,而且询问量很大(10^5)由此我们考虑o(1)输出答案,首先用一个四维数组预处理出答案,最后直接输出即可。 令dp[a][b][c][d]为(a,b)到(c,d)两个点之间的只含有0的矩形的数量, 则递推的公式: dp[a][b原创 2014-08-24 14:22:32 · 1304 阅读 · 0 评论 -
Codeforces 258B. Little Elephant and Elections【数位DP,DFS】
B. Little Elephant and Elections time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output There have recently been e原创 2014-08-23 16:00:25 · 1001 阅读 · 0 评论 -
Codeforces 379D. New Year Letter【动态规划、暴力枚举】
题目大意: 给出如下定义: s(n)=s(n-2)+s(n-1),其中s为字符串,+为串联,比如s1="ab",s2="cd",s1+s2="abcd",s2+s1="cdab"。 给出k,x,n,m,求满足使字符串s(k)中子串“AC”的个数恰好等于x的s1,s2字符串,如果有多种可能,随意输出。 做法: 我们将“AC”其分成两个部分,一种是在s1,s2内部的“AC”,一种是在s原创 2014-08-23 22:25:06 · 729 阅读 · 0 评论 -
POJ 3691:DNA repair【AC自动机+DP】
题目链接:http://poj.org/problem?id=3691 题目大意: 给出一些能导致癌症的DNA序列,一个已知序列的DNA片段,问至少得改多少个碱基对才能使这个DNA片段不会致癌。 多字符串匹配的话,那首先想到的当然是AC自动机,不过这题中,AC自动机又和别的不一样,因为在这里的trie树中,每个节点只可能有四个儿子节点(A、T、G、C),建立自动机的时候,任一原创 2014-08-11 22:19:37 · 729 阅读 · 0 评论 -
Codeforces 132C.Logo Turtle【DP,dfs】
题目大意: 在一根数轴上有一只机器龟,它能够听从人们给它的指令做出向前走一步(F)和向后转(T)的操作。给出初始操作,你最开始有修改n步指令的权利(每一个指令可以被修改很多次),问在你修改n次之后,海龟离原点的最大距离。 做法: 很直观的想法,尽可能的将T转化为F,也算是一种贪心的做法吧。 我们用dfs(i,j,t,cur),其中i表示当前遍历的命令的序号,j表示从0~i过原创 2014-08-25 15:18:45 · 865 阅读 · 0 评论 -
Codeforces 354C. Vasya and Beautiful Arrays【DP,暴力】
题目大意: 有一组数,你可以对每一个数做减法,减去的数不超过k,问最后你最大能得到的整个数组的GCD是多少 做法: 最后要求的是GCD(假设为g),那么也就是说,对于数组中的数a[i]来说,减去某个不大于k的值之后,就能被g整除;换句话说,a[i]%g,只要满足该条件即可. 首先,由于只能对数进行减法操作,假设m为数组a中的最小值,ma为最大值;那么答案一定不会超过m,也就是说,答原创 2014-08-25 17:01:36 · 1167 阅读 · 1 评论 -
Codeforces 148E. Porcelain【多重背包】
题目大意: 有一个公主一生气就喜欢摔东西。现在有很多个柜子,每个柜子里面装着很多物品,公主每次摔东西只能随机的选择一个柜子,拿出最左边或者最右边的一个物品摔碎,给出公主最多生气的次数,求生完气之后,公主摔掉物品的价值的最大总和。 做法: 对于每个柜子来说,从左边拿和从右边拿是不一样的,假设最佳方案中,在第i个柜子中需要拿Ki个物品,那么拿着Ki个物品的最大价值我们是可以确定的。一:全原创 2014-08-28 18:45:10 · 866 阅读 · 0 评论 -
Codeforces 371D. Vessels【并查集】
题目大意: 给出一堆从上到下叠起来的容器,有两种操作:第一种是在编号为i的容器中加入x的水(保证水溢出之后会流到下一个最近的容器(如果存在)中);第二种是查询编号为i的容器中有多少水。 做法: 首先,想想暴力?但是如果直接暴力,那肯定超时了。每次的加水操作都必须一步步的推向能够容纳从上面溢出的水的容器,这样来十万次操作,一定是T了。那该怎么办呢?我们面对一个在 i 容器中加水的操作,要是能短原创 2014-08-28 19:06:32 · 795 阅读 · 0 评论 -
Codeforces 463D. Gargari and Permutations【DP】
题目大意: 给出1~n的k个排列(2 做法: 算是不难的DP,dp[i]表示以i为结尾的最长公共子序列的长度,由于每个数在一个排列中只可能出现一次,我们用一个二维数组pos[i][j]表示数字j在第i行出现在第几个位置,再用一个数组cnt[i] 记录i出现了多少次;当第i个数出现了k次之后,说明能够以该数为结尾构成公共子序列,那么dp[i]=max(dp[j]+1),其中i,j满足p原创 2014-08-31 14:52:41 · 860 阅读 · 0 评论 -
boj 452 解码锦标赛【动态规划】(排位赛08_D)
题目链接:http://code.bupt.edu.cn/problem/p/452/ 452. 解码锦标赛 时间限制 1000 ms 内存限制 65536 KB 题目描述 明光村迎来了一年一度的盛世——解码锦标赛,有 2^N 次个队伍从世界各村赶来参与比赛,编号为 1 - 2^N。赛制为每一轮晋级一半队伍,按序号大小两两比赛,淘汰弱者。一轮结束后,所有原创 2014-07-31 20:28:15 · 861 阅读 · 0 评论 -
Codeforces 453 B Little Pony and Harmony Chest(Round 259 div.1 B/div.2 D)
题目链接:http://codeforces.com/contest/454/problem/D 题目大意:给出一个数组a,要求另一个数组b,满足数组b中的所有元素互质,且∑|ai-bi|(i:0~n)最小 由于数组b中的数只能在1-60里面选,那么可以以1-60之中的质数排列S为状态,建立状态压缩模型;dp[i][j]表示前i个数在j状态时满足∑|ai-bi|(i:0~n)最小的原创 2014-08-05 01:50:24 · 849 阅读 · 0 评论 -
POJ_2229 Sumsets
题目链接:http://poj.org/problem?id=2229 xiangt原创 2014-05-09 20:03:12 · 527 阅读 · 0 评论 -
POJ 2385 Apple Catching
题目链接:http://poj.org/problem?id=2385 这也是题DP,动态规划,原创 2014-05-10 01:09:41 · 512 阅读 · 0 评论 -
POJ 3616 Milking Time
题目链接:http://poj.org/problem?id=3616原创 2014-05-10 21:27:43 · 673 阅读 · 3 评论 -
POJ 3624 Charm Bracelet
题目链接:http://poj.org/problem?id=3624 动态规划,完完全全的01原创 2014-05-12 01:14:31 · 483 阅读 · 0 评论 -
POJ 2533 Longest Ordered Subsequence
题目链接:http://poj.org/problem?id=2533 最长上升子序列,原创 2014-05-12 01:10:21 · 697 阅读 · 0 评论 -
POJ 2063 Investment
题目链接:http://poj.org/problem?id=2063原创 2014-05-14 01:59:46 · 509 阅读 · 0 评论 -
7.14_E题
E. 数的关系 时间限制 5000 ms 内存限制 65536 KB 题目描述 用关系“<”和“=”将3个数A、B和C依序排列时有13种不同的序关系: A=B=C,A=B<C,A<B=C,A<B<C,A<C<B,A=C<B,B<A=C, B<A<C,B<C<A,B=C<A,C<A=B,C<A<B,C<B<A 。 现在输入数字的个数,要求你给出上述关系的数目。 数原创 2014-07-15 17:00:18 · 805 阅读 · 0 评论 -
7.16_B题
题目链接:http://code.bupt.edu.cn/problem/p/417/ 裸的01背包,不懂的同学可以看下本博客转载的《背包九讲》 代码: #include #include #include #include #define N 11111 using namespace std; int a[N]; long long b[N]; long long dp[N];原创 2014-07-18 01:38:42 · 536 阅读 · 0 评论 -
7.16_C题
题目链接:http://code.bupt.edu.cn/problem/p/426/ 题意应该很好懂,只能是成波浪形的数,我们假设g[N]代表的事N个数的时候,第一个数比第二个数大的波浪形数(形如“ ∨∨∨∨”)的个数。由于在此种情况下,符合“∧∧∧∧”和“ ∨∨∨∨”这样的数目应该是相等的,所以我们首先算出g[n]之后再乘2,就OK了, 有了g[N],我们还可以得到如下dp方程:g[i]=原创 2014-07-18 01:41:44 · 588 阅读 · 0 评论 -
hdu 4908 BestCoder Sequence【DP】
题目链接 :http://acm.hdu.edu.cn/showproblem.php?pid=4908 题目大意:给出一个排列,一个m,求出这个排列的连续子序列中有多少个序列式以m为中位数。 由于是一个排列,不会出现重复的数字,记录一下m的位置index,然后以index为分界线,往左求出s[i](表示从i到index之间有多少大于m),b[i](表示从i到index之间有多少小于m),往右原创 2014-08-03 23:31:09 · 572 阅读 · 0 评论 -
Codeforces 507D (Round #287(div.2))D. The Maths Lecture【数位DP】
题目地址:http://codeforces.com/contest/507/problem/D 题意: 给出n,k,m,问满足一下条件的数字有多少: 1.这个数刚好有n位; 2.这个数存在某非空的后缀Si,满足Si%k=0; 3.这个数大于0; 解法: 这个题是个数位DP,我们考虑从数的右边往左边构造的方法。 定义这样的DP数组, dp[i][j][0]:表示有i位数位,mod原创 2015-01-25 12:57:19 · 1104 阅读 · 0 评论