动态规划
文章平均质量分 77
立華奏
这个作者很懒,什么都没留下…
展开
-
三重背包
题目:hdoj:http://acm.hdu.edu.cn/showproblem.php?pid=4501思路:本题有三个容量条件:钱,积分,免费物品。所以要考虑的情况就有很多种,于是要用三重背包来解这个题。AC代码:#include#include#define M 110int dp[M][M][M];int max(int a, int b){ retu原创 2014-03-02 23:11:25 · 785 阅读 · 0 评论 -
hdu 3535(三种背包)
hdu 3535题意:有若干工作集合,每个集合有三种类型:集合中的工作至少完成一项;至多完成一项;随意完成。每种工作都有花费的时间和完成后的幸福度。问某时间内完成任务最大的幸福度。思路:显然题意中有三种背包,找到状态转移方程问题就很简单。设dp[i, j],表示第i个集合,时间为j的最大幸福度。集合从1开始,为了避免出现跨第一种集合完成任务的情况,将dp初始化为负无原创 2015-02-08 22:00:16 · 684 阅读 · 0 评论 -
微软2016校园招聘笔试(第一场) Professor Q's Software & Recruitment
为什么只有这两个题的题解?因为师兄只让我看了这两个题。。#1136 : Professor Q's Software时间限制:10000ms单点时限:1000ms内存限制:256MB描述Professor Q develops a new software. The software consists of N mod原创 2015-04-25 13:54:15 · 1661 阅读 · 0 评论 -
hdu 5009 Paint Pearls
Paint PearlsTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2468 Accepted Submission(s): 807Problem DescriptionLee has a st原创 2015-06-04 21:30:15 · 739 阅读 · 0 评论 -
2014 ACM/ICPC Asia Regional Anshan Online D Clone
题意:有只羊会克隆,原创 2014-09-13 21:28:45 · 541 阅读 · 0 评论 -
hdoj 5045 期望dp
hdoj 5045题意:火星的ACM比赛,一个队伍有若干名队员,每个题目只能一个小时由一个人完成,每个人对每个题目都有一个ac率,问最大的ac期望。限制是每一时刻任意两个人之间完成的题目数的差值不能超过1。思路:一个比较简单的期望dp。因为每一时刻ac的题目数差距不能超过1,所以所有人都要同步ac题目,因为人数也不多,所以可以用位压缩来标识当前所有人题目完成情况,让没有完成题目的人去完成题原创 2015-08-07 10:21:23 · 430 阅读 · 0 评论 -
hdoj 5001 概率dp
hdoj 5001题意:一个人可以在任意点出发,以相同概率经过相邻点,问不经过各点的概率。思路:dp[i][j]是第i步到达j点,枚举所有的点Vj累加所有的dp[i][Vj]即可。#include #include #include using namespace std;double dp[10020][60], ans[60];vectoredge[60];main(原创 2015-08-07 11:44:04 · 406 阅读 · 0 评论 -
Codeforces Round #319 (Div. 2) B C D
这场题目挺水的。。感觉半小时能出3题。。可惜没有注册。。B. Modulo Sum题意:给100w个数,问是否存在子序列使得整个子序列的和能够整除m。思路:将所有数对m取模,然后问题就转化成了一个多重背包问题,数比较多需要优化一下。不知道为什么过的人这么少。。#include #include int nums[100000], mod[3010], cnt;bool d原创 2015-09-11 13:34:57 · 985 阅读 · 0 评论 -
hdu 5534 dp
hdu 5534 题意:一棵树上有n个节点,树有一个”酷值“,一棵树有多酷取决于点的度数,一个度数为ai的点可以给树增加f(ai)的酷值,求一棵点数为n的树的最大酷值。 思路:深刻感受到自己智商低。。首先每个点给1度可以确保连通,然后对剩下的n-2度自由分配,dp一下就出答案了。。注意这时每次分配的度数i的酷值增量是f(i + 1) - f(1)。#include <cstdio>#inclu原创 2015-11-07 11:11:28 · 448 阅读 · 0 评论 -
背包求第k优解 vijos 1412
题目链接:vijos :原创 2014-05-17 15:11:44 · 1186 阅读 · 0 评论 -
2014 Mudanjiang Online Contest Problem D We Need Medicine
题目在zoj 3812:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5344先吐槽一下:这个题我从比赛开始2小时就kai原创 2014-09-08 17:31:43 · 494 阅读 · 0 评论 -
迭代加深搜索 + dp vijos 1159
迭代加深搜索:原创 2014-05-19 22:59:31 · 958 阅读 · 0 评论 -
初识动态规划
以前一直认为动态规划是个很难很复杂的东西,如今刷题也刷到一定数量了,对这种题目也多少有了点心得体会,在这里做个记录。题1:逐步最优求解:hdoj:http://acm.hdu.edu.cn/showproblem.php?pid=2084思路:用数组记录每个节点的最大值,逐步得出最后一行数据,取最大值。AC代码:#include#includeint max(int a,原创 2014-01-03 18:00:33 · 590 阅读 · 0 评论 -
hdoj 1080
题目大意就是从给出两个字符串,每种配对都有一个值,可以在字符串中插“-”但是不能“-”对“-”,问累加的值最大是多少。这是一个典型的LCS题目的变形,解题的关键是理解DP的那张表原创 2014-04-01 23:41:01 · 674 阅读 · 0 评论 -
龟兔赛跑
题目:hdoj :http://acm.hdu.edu.cn/showproblem.php?pid=2059转载一位大牛写的代码。链接:http://acm.hdu.edu.cn/discuss/problem/post/reply.php?postid=13573&messageid=1&deep=0思路及AC代码:/*这道题目是DP中多阶段决策的典型例题我们将起点和终转载 2014-03-22 15:17:43 · 801 阅读 · 0 评论 -
Codeforces Round #240 (Div. 2)
C. Mashmokh and Numberstime limit per test 1 secondmemory limit per test 256 megabytesinput standard inputoutput standard outputIt's holiday. Mashmokh and his b原创 2014-04-08 21:03:32 · 441 阅读 · 0 评论 -
哈希算法状态压缩dp vijos 1426
思路:状态过大。。cunch原创 2014-05-18 22:22:58 · 901 阅读 · 0 评论 -
依赖背包dp NOIP2006 vijos 1313 金明的预算方案
依赖背包:简化的问题 这种背包问题的物品间存在某种“依赖”的关系。也就是说,物品i依赖于物品j,表示若选物品i,则必须选物品j。为了简化起见,我们先设没有某个物品既依赖于别的物品,又被别的物品所依赖;另外,没有某件物品同时依赖多件物品。 7.2算法 这个问题由NOIP2006中“金明的预算方案”一题扩展而来。遵从该题的提法,将不依赖于别的物品的物品称为“主件”,依赖于某主件的物品称为“附件原创 2014-05-21 16:55:51 · 2032 阅读 · 0 评论 -
分组背包dp+并查集 vijos1250
分组背包:6.1问题有N件物品和一个容量为V的背包。第i件物品的费用是Ci,价值是Wi。这些物品被划分为K组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。6.2算法这个问题变成了每组物品有若干种策略:是选择本组的某一件,还是一件都不选。也原创 2014-05-20 23:07:32 · 1326 阅读 · 0 评论 -
dp遍历所有状态 vijos 1037 搭建双塔 1059 积木城堡 1153 猫狗大战
题意:n块水晶搭建成一座塔,原创 2014-05-17 22:09:50 · 1541 阅读 · 0 评论 -
Codeforces Round #326 (Div. 1) B Duff in Beach
B.Duff in Beach 题意:有一个长为l的序列B是由一个长度为n的序列A循环得到的,即bi=ai mod nb_i = a_{i \ mod \ n},现在定义一个新的序列C,C的生成条件有三个: 1.C中每个元素都在B中,并且C中的每个元素都在不同的循环节里(即C中两个相邻的元素在B中的距离不会超过2n,不会低于n); 2.C的长度超过k; 3.C不递减。 问C有多少种,答案模原创 2015-11-08 18:19:53 · 493 阅读 · 0 评论