摘要:
题目链接:hdu 4057 Rescue the Rabbit 题意: 给出一些模式串,每个串有一定的价值,现在构造一个长度为M的串,问最大的价值为多少,每个模式串最多统计一次。 题解: 由于每个模式串最多统计一次,所以我们要考虑记录是否已经存在该串。 考虑dp[i][j][k]表示当前考虑到i的长 阅读全文
摘要:
题目链接:hdu 6039 Gear Up 题意: 给出一些齿轮,有些齿轮是边相连,也就是拥有相同的线速度,有的齿轮是轴相连,也就是拥有相同的角速度,现在给某个齿轮一个速度,求这些齿轮中的最大速度,同时还有修改操作,可以更改某个齿轮的半径大小 题解: 官方题解: 1 #include<bits/st 阅读全文
摘要:
题目链接:hdu 6035 Colorful Tree 题意: 给你一棵树,每个节点有一种颜色,现在让你求所有点对的路径上不同的颜色数量的总和。 题解: 下面是官方题解: 单独考虑每一种颜色,答案就是对于每种颜色至少经过一次这种的路径条数之和。反过来思考只需要求有多少条路径没有经过这种颜色即可。直接 阅读全文
摘要:
题目链接:hdu 6034 Balala Power! 题意: 给你n个字符串,都是包含小写字母,现在让你给a~z赋值0~25,使得这些字符串变成的26进制的数的总和最大。 不能有前导0的情况,他们保证至少有一个字母不出现在第一位。 题解: 每个字符对答案的贡献都可以看作一个 26 进制的数字,问题 阅读全文
摘要:
题目链接:hdu 5798 Stabilization 题意: 给出一个序列Ai,可以让每个Ai异或上一个x使得最小,问最小值以及使得该值最小的最小x值 题解: 首先枚举x,然后如何来算得出的价值呢,巧妙的利用A[i]与A[i-1]的二进制位关系。 详细题解传送门 1 #include<bits/s 阅读全文
摘要:
题目链接:hdu 5772 String problem 题意: 给你一个字符串,只含有数字。 你需要选择出一个子序列,使得这个子序列的权值最大。 这个子序列如果这个数字第一次出现就ans-=bx,否则就-=ax 然后如果第i个字符和第j个字符都在子序列里面,那么ans+=w[i][j] 问你最大a 阅读全文
摘要:
题目链接:hdu 5816 Hearthstone 题意: 牌堆里有 N张 A类卡,M张 B类卡 A类卡能让你从牌堆里抽两张卡 第 i张 B类卡能让你对对手造成 x_i点伤害 刚开始从牌堆抽 1张牌,并且对手有 P点生命值 问一回合内打倒对手的概率是多少 题解: 利用枚举子集的状态转移,求出手上能拿 阅读全文
摘要:
题目链接:hdu 5758 Explorer Bo 题意: 给一棵n个点的树,每次任选两个点,然后覆盖两点间的所有边,要求以最少的次数覆盖所有的边,在保证次数最少的情况下要求覆盖边的总次数最小 题解: 详细题解传送门 1 #include<bits/stdc++.h> 2 #define F(i,a 阅读全文
摘要:
题目链接:hdu 5857 Median 题意: 给你n个排好序的数,有m个询问,每次询问给出两个区间,然后让这两个区间的数重新组成一个序列, 然后让你输出这个序列的中位数。 题解: 分类讨论一下。 如果两个区间不重合,那么很直接的就能算出来中位数的位置。 如果重合,就将重合的那一部分数记为占了两个 阅读全文
摘要:
题目链接:hdu 5820 Lights 题意: 给定一个网格图,上面有 N个灯 求任意两个灯之间,是否至少存在一条曼哈顿最短路径 使得路径上的每一个拐点都有一个灯。 题解: 我们可以对每个点将非法的区域找出来,然后看看这个区域内有没有点,然后就有如下的做法: 这里要从左往右和从右往左都扫一遍,这样 阅读全文