
动归
文章平均质量分 72
Tyuio28
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NOIP提高组2010 乌龟棋
小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。乌龟棋中M张爬行卡片,分成4种不同的类型(M张卡片中不一定包含所有4种类型的卡片,见样例),每种类型的卡片上分别标有1、2、3、4四个数字之一,表示使用这种卡片后,乌龟棋子将向前爬行相应的格原创 2015-07-26 15:59:07 · 510 阅读 · 0 评论 -
hdu 5464(dp)
题意:给你n个数,要求选一些数(可以不选),把它们加起来,使得和恰好是p的倍数(0也是p的倍数),求方案数。- - 心好痛,又没想到动规#include #include #include #include #include #include #include #include #include #include #include #include原创 2015-09-28 18:29:53 · 364 阅读 · 0 评论 -
hdu 5534(dp)
InputThe first line contains an integer T indicating the total number of test cases.Each test case starts with an integer n in one line,then one line with n−1 integers f(1),f(2),…,f(n−1).原创 2015-11-04 13:52:15 · 1369 阅读 · 0 评论 -
uva 10118(DP)
UVA 10118题意:有4堆糖果,每堆有n(最多40)个,有一个篮子,最多装5个糖果,我们每次只能从某一堆糖果里拿出一个糖果,如果篮子里有两个相同的糖果,那么就可以把这两个(一对)糖果放进自己的口袋里,问最多能拿走多少对糖果。糖果种类最多20种. 思路:记忆化搜索Orz:在输入的时候不小心写错了,导致一直调试。感觉自己的函数并没有问题,纠结了好原创 2015-11-04 13:56:53 · 517 阅读 · 0 评论 -
hdu 5122(2014北京—dp)
题意:从n个数中任选一些数,问有多少种选法使他们异或和不小于M思路:dp[i][j]表示选i个数异或和为j,则方程dp[i][j] = dp[i-1][j](不选i)+ dp[i-1][j^a[i]]#include #include #include #include using namespace std;typedef long long ll;c原创 2015-10-06 17:36:39 · 567 阅读 · 0 评论 -
hdu 5115(2014北京—dp)
题意: 有一排狼,每只狼有一个伤害A,还有一个伤害B。杀死一只狼的时候,会受到这只狼的伤害A和这只狼两边的狼的伤害B的和。如果某位置的狼被杀,那么杀它左边的狼时就会收到来自右边狼的B,因为这两只狼是相邻的了。求杀掉一排狼的最小代价。思路:感觉自己在动规上真的是啥都不会- -!,完全看不出来。dp[i][j]表示i~j的最小情况。再用k表示最后攻击的那一个所以公式 dp[i]原创 2015-10-06 17:30:13 · 501 阅读 · 0 评论 -
hdu 5135(2014广州—状态dp)
t题意:给你n条边,构造任意个三角形,一个三角形恰好只用3条边,每条边只能一次,求面积最大值思路:最开始想的是先排序从大到小取,但感觉并不怎么靠谱。最多12条边,所以可以求出所有可能的三角形面积,然后就不知道怎么办了- -,看大神的解法,状态dp,但是没想出来怎么保存状态,ヾ(。`Д´。)后来发现别人都是用二进制(好吧,没想到),然后dp就行了.#inclu原创 2015-10-08 10:12:40 · 547 阅读 · 0 评论 -
习题9-5 UVA 242
Stamps and Enovelope Size题意:给你最多贴S张邮票。有N个邮票集合,每个集合有不同的面值。问哪个集合的最大连续邮资最大,输出最大连续邮资和集合元素。如果不止一个集合结果相同,输出集合元素少的,如果仍相同,输出最大面值小的。思路:最开始直接进行的深搜,感觉应该会TL,就放弃了。主要是莫有想到记忆化搜索的使用 - -, 果然太年轻。用dp[i][原创 2015-11-09 22:45:51 · 458 阅读 · 0 评论 -
习题9-4 uva 1630
题意:给你一串数字,要求你对其进行折叠使其长度最短。折叠情况:全是一个字母 & 重复的字符串AAAAAAAAAABABABCCD --> 9(A)3(AB)CCDNEERCYESYESYESNEERCYESYESYES --> 2(NEERC3(YES))思路:用dp[i][j]表示从 i 到 j 的最短情况。 不停的往下原创 2015-11-09 22:37:49 · 683 阅读 · 0 评论 -
习题9-6 uva 10723
题意:给你两个字符串,求一个最短的串,使得输入的两个串均是他的子序列(不一定连续)思路:可以看出ans = 两个串的长度和 - 两个串的最长公共子序列,在最后的构造处GG。 在构造时想了很久,想复杂了- -,后来看别人思路完全可以根据最长公告子序列的原理来而且下次可以考虑画个图来看①a[i] == b[j]说明ans[i][j]只需要在ans[i-1][j-1]的组原创 2015-11-09 23:09:06 · 510 阅读 · 0 评论 -
习题9-3 UVA1629(dp)
Cake Slicing题意:有一个n行m列的网格上有一些黑点,要求进行切割,使最后每块上只有一个黑点,求最少的刀数思路:记忆化搜索,枚举每一条边来切,每一次搜索自己所能切割的所有情况取最小值但是TL,纠结了一下,发现明明2个for(横+竖)就能切出来,硬是被我写成了n^2的,自己好坑- -#include #include #include #inc原创 2015-11-09 22:26:43 · 490 阅读 · 0 评论 -
hdu5569 BestCoder Round #63 (div.2)
题意:给你一个矩阵,要求从左上角走到右下角,走个的费用:a[1]*a[2] + a[3]*a[4] + ......+ a[2n-1]*a[2n]思路:果然不机智,自己把自己套路了对于每个奇数点,如下图的有下角的点它便可由3个值为2的点到达,具体画图便知。所以我们可以用类似dp的方法,找出每个点的奇数点最优解,注意下边界即可1 1 1 21 1 2 11 2原创 2015-11-22 16:05:20 · 479 阅读 · 0 评论 -
习题9-8 uva1631
题意:给你一串密码,每次我们可以转动1-3个数字,求转出最终答案的最小步数思路:感觉自己好坑,最开始想的是dp[cur][t1][t2][t3]也就是t1的位置以及连续的三个数的状态但是卡死循环了,于是乎改成dp[cur][t1][t2](当前的位置以及它后面的数的状态)每次求出当前位置转到正确答案时要的步数,然后枚举3种情况(也就是后面两个数是否一起转动)但是原创 2015-11-17 11:08:00 · 924 阅读 · 0 评论 -
习题9-8 Uva1632
题意:给你n个宝藏,然后给出他们的位置a[i]以及存在时间tim[i],如果能全部拿完,求出最短时间;否则输出No solution思路:对于一段区间[i,j],你取完之后肯定是在最左端或者最右端,因为如果最后你停在中间位置,你始终会先到左右,所以并不能是最优解。所以我们dp[i][j][0]表示拿完[i,j]后停在左端,dp[i][j][1]表示拿完[i,j]后停在右原创 2015-11-17 11:03:14 · 360 阅读 · 0 评论 -
hdu 5656 CA Loves GCD(n个任选k个的最大公约数和)
CA Loves GCD Accepts: 64 Submissions: 535 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)问题描述CA喜欢是一个热爱党和人民的优秀同♂志,所以他也非常喜欢GCD(请在输入法中输入GCD原创 2016-04-03 14:37:32 · 1874 阅读 · 0 评论 -
hdu 5643 BestCoder Round #75
King's Game Accepts: 249 Submissions: 671 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)问题描述为了铭记历史,国王准备在阅兵的间隙玩约瑟夫游戏。它召来了 n(1\le n\le 5000原创 2016-03-13 13:53:04 · 741 阅读 · 0 评论 -
hdu 5001
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define INF 1000000000000000010LLtypedef long long ll;us原创 2015-09-07 13:26:41 · 516 阅读 · 0 评论 -
hdu 5000
DRD具有分身的能力,对于两个分身A和B来说,如果A的各个能力都强于B,那么B就无法生存,先给定DRD的n种能力的上限值,问最多有多少个克隆人可以共存。可以看出各能力和为最小0和最大sum时人数一样,所以它应该是以sum/2为中点的对等。利用01背包每种能力 1 - T[i]往里面放。 而且从上面可以看出在sum / 2 时最大#include#include原创 2015-09-07 13:07:18 · 458 阅读 · 0 评论 -
HDU 4526 拼车记
话说威威猫有一次去参加比赛,虽然学校离比赛地点不太远,但威威猫还是想坐出租车去。大学城的出租车总是比较另类,有“拼车”一说,也就是说,你一个人坐车去,还是一堆人一起,总共需要支付的钱是一样的(每辆出租上除司机外最多坐下4个人)。刚好那天同校的一群Acmer在校门口扎堆了,大家果断决定拼车去赛场。 问题来了,一辆又一辆的出租车经过,但里面要么坐满了乘客,要么只剩下一两个座位,众Acmer都觉得转载 2015-07-26 11:40:45 · 970 阅读 · 0 评论 -
HDU 4501
超市里有n件他想要的商品。小明顺便对这n件商品打了分,表示商品的实际价值。小明发现身上带了v1的人民币,会员卡里面有v2的积分,而且他能免费拿k件。他想知道他最多能买多大价值的商品。由于小明想要的商品实在太多了,他算了半天头都疼了也没算出来,所以请你这位聪明的程序员来帮帮他吧。Sample Input5 1 6 14 3 30 3 22 3 33 3 2原创 2015-07-27 11:28:23 · 553 阅读 · 0 评论 -
FZU 2157 树形DP
最开始一直不理解题是什么意思 ╯▽╰题意:给出n个点,每个点都有两种花费,一个是0种花费,一个是1种花费,每两个点相连,边也有花费,是随着点所取话费的种类不同,边的花费也不同,边有四种花费,00,01,10,11 问建成整颗树所需要的最少花费。思路:dp[i][0]代表当前结点取0种花费时建好以i结点为根节点的最少花费,dp[i][1]代表当前结点取1种花费时建好以i结点为根节点的最原创 2015-07-27 16:33:35 · 446 阅读 · 0 评论 -
FZU 2158
在密室逃脱游戏中,大家被困在一个密室中,为了逃出密室,需要找到正确的数字密码,于是大家分头行动,分别找到了密码的子序列,而后大家将得到的线索集中整理分析,大家想知道密码最少是多少位。 Input第一行输入一个整数T,表示数据组数。接下来T组数据,对于每组数据,第一行输入一个整数n (1 Output对于每组数据,请输出个数字,即可行密码的最短长度。 Samp翻译 2015-07-27 20:57:55 · 497 阅读 · 0 评论 -
dp之背包总结篇
//新手DP学习中 = =!!前言:背包问题在dp中可以说是经典,作为一个acmer,到现在才正式学习dp,可以说是比较失败的。我个人比较认同一点,想要做一个比较成功的acmer,dp、搜索、数学必须精练,比较遗憾的是,对我我自身而言,并没有早早的认识到这个问题,不过现在知道了,还有一年,也不算晚。还有,我建议学背包的童鞋,都看背包九讲......dp之01背包01背包,做为背包中最基转载 2015-07-27 11:38:09 · 832 阅读 · 0 评论 -
12563 Jin Ge Jin Qu hao
• Don’t sing a song more than once (including Jin Ge Jin Qu).• For each song of length t, either sing it for exactly t seconds, or don’t sing it at all.• When a song is finished, always immediatel原创 2015-07-16 17:00:20 · 936 阅读 · 0 评论 -
POJ 2677 Tour
两个人同时从最左端出发,不会走相同的点,且出了起点和终点每个点恰好被一个人走一次,求到最右端的最小。用dp[i][j] 表示快的人走到i 慢的人走到[j]走到i点的情况:1. 快的小人走到i,则有dp[i][j]=min(dp[i][j],dp[i-1][j]+dis(i-1,i));2. 慢的小人走到i,则有dp[i][i-1]=min(dp[i][i-1],转载 2015-07-20 10:39:59 · 501 阅读 · 0 评论 -
2015 多校联赛 ——HDU5410(dp)
Sample Input1100 210 2 120 1 1 Sample Output21题意:共有m元钱和n种东西,求每种单价p,而且你买x个该种物品可以得到Ax+B个,求m元钱最多能得到多少。思路:先01背包处理出A+B的情况,再用完全背包往里算加A能得到的情况。#include#include#include原创 2015-08-26 20:32:32 · 483 阅读 · 0 评论 -
2015 多校联赛 ——HDU5375(dp)
Sample Input200?01 2 4 8????1 2 4 8 Sample OutputCase #1: 12Case #2: 15?部分可以是0 or 1,将二进制转化成格雷码后,哪里是 1 就可以取相应的数,求得到数的最大值①:判断连续的?的个数奇偶不同,两边是否相等。在有时会去掉一个最小值。(感觉写着原创 2015-08-12 10:38:20 · 400 阅读 · 0 评论 -
POJ 2955
d[i][j] 表示i~j不规则括号的个数,和UVA1626几乎一样- -#include#include#includeusing namespace std;int len;char s[105];int d[105][105];bool match(char x1,char x2){ if((x1=='[' && x2==']')||(x1=='('原创 2015-07-20 17:20:55 · 429 阅读 · 0 评论 -
Uva 437 巴比伦塔 && UVA10003
要求底面严格小于它下方立方体的长宽,求出最高情况,一块石头可以多次使用用结构体记录一块石头的三种放置情况,按面积排序。dp[i] = max(dp[i],dp[j] + block[i].hight); 当选择到i时,与前几个比较,找出当前情况下的高度最高可能 #include #include #include #include using namespac原创 2015-07-16 17:15:46 · 882 阅读 · 0 评论 -
Uva 11400 照明系统
有一个照明系统需要用到n种灯,每种灯的电压为V,电源费用K,每个灯泡费用为C,需要该灯的数量为L。注意到,电压相同的灯泡只需要共享一个对应的电源即可,还有电压低的灯泡可以被电压高的灯泡替代。为了节约成本,你将设计一种系统,使之最便宜。每种灯泡要么全换 要么不换,若只换一部分则需要两个电源,划不来。先把照明电压从小到大排序,y表示前i种灯泡的数量总和dp[i] = min原创 2015-07-20 11:21:54 · 557 阅读 · 0 评论 -
UVA 11584 划分回文字串
将其划分为尽可能少的回文串dp[i] = min(dp[i],dp[j] + 1) 来表示j+1~i是回文串#include #include #include #include #define MAX 0x3f3f3f3fusing namespace std;char p[1005];bool work(int i,int j){ for(int原创 2015-07-20 14:52:08 · 524 阅读 · 0 评论 -
POJ 1276 多重背包
多种物品,每种价格为p,个数为num,求所能凑成最接近且小于all的价值#include #include #include using namespace std;int all,n;int p[15],num[15];int fin[100005],used[100005];int main(){ while(~scanf("%d",&all)) {原创 2015-07-20 15:02:55 · 342 阅读 · 0 评论 -
2015 多校联赛 ——HDU5389(dp)
Sample Input43 9 11 2 63 9 12 3 35 2 31 1 1 1 19 9 91 2 3 4 5 6 7 8 9 Sample Output101060题意:已知有两个门,要求将人分为两组,两组的“和”分别等于两个门的数字,当然也可以全部进入一个门思路:(NeverMoreH)如果能原创 2015-08-14 11:28:28 · 498 阅读 · 0 评论 -
hdu 3433 A Task Process 二分+dp
A Task ProcessTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1332 Accepted Submission(s): 656Problem DescriptionThere are tw原创 2016-04-16 22:08:19 · 494 阅读 · 0 评论