
hdu
文章平均质量分 74
sprite_
这个作者很懒,什么都没留下…
展开
-
hdu2639 Bone Collector II(01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2639题目大意:求出背包里面第k大的价值。思路:如果是求最大价值,可以直接利用01背包求得,此时状态方程为dp[j]=max(dp[j],dp[j-w[i]]+v[i])。现在是求第k大的,显然不能直接套用了,但还是利用背包,只是这时就要加一维来限制条件了。我可以设一个d原创 2015-09-24 10:14:42 · 437 阅读 · 0 评论 -
hdu5464 Clarke and problem(DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5464题目大意:给n个数,取部分数求和(可以一个都不选),看和能不能被p整除,计算出这样的方案数。思路:跟上次的那题很像,上次的一题是求和有没有被整除的。具体链接在这里:http:这题明显不能暴力了,可以用dp,dp[i][j]代表在前i个数中求和取模得到j的方案数。原创 2015-09-22 14:17:14 · 442 阅读 · 0 评论 -
hdu 5500 Reorder the Books(模拟)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5500题目大意:有一堆书,刚开始顺序是打乱的,现在要把他们重新整理为有序的。但是我每次只能从中间的书中抽一本放到顶部,问最少这样操作几次能够达到目的。思路:可以知道序号最大的那本书是不需要动的。然后我只需要找第n-1本书是否在n的前面,如果在前面就不需要动,继续看n-1本书,否则原创 2015-10-11 10:56:51 · 435 阅读 · 0 评论 -
hdu 5501 The Highest Mark(变形01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5501题目大意:有n道题目,每道题目初始时候都有一个价值,如果在x分钟后做出这道题目,那么得到的分数就会减少x*b[i],而做一道题目所花的时间c[i]也不同。现在问在限定的时间里面,怎么样做题目能够获得最大的价值。思路:题目要求获得最大的价值,但是解决一道题目的价值随着时间的变原创 2015-10-13 21:09:59 · 579 阅读 · 0 评论 -
hdu5437 Alisha’s Party(优先队列、模拟)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5437题目大意:Alisha有k个朋友来他家,每个朋友来是有先后次序的,Alisha会开m次门,每次都是在第t个朋友到了以后,他会邀请p个朋友进家门,原则是邀请所带礼物价值高的朋友先进门,如果两个朋友的礼物价值相同,就叫先到的进门。最后等所有朋友都到了以后,Alisha会把他所有的朋友都叫进原创 2015-09-13 20:21:28 · 766 阅读 · 0 评论 -
2015 南阳CCPC hdu5543 Pick The Sticks(01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5543题目大意:在一个狭长的容器里面放一些长木棍,每根木棍的长度和价值都不同,现在通过放置木棍使得能够得到的总价值最大。木棍放置不能重叠,对于任意一根木棍,只要他的重心落在容器里面,就算有一部分出去了,也算能够放下。题目范围:N思路:对于这样一个问题,如果范围小的话,我们大可原创 2015-11-13 10:48:48 · 986 阅读 · 0 评论 -
2015 Multi-University Training Contest 6
1011Key SetTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1476 Accepted Submission(s): 726Problem Descriptionsoda ha原创 2015-08-07 15:31:03 · 653 阅读 · 0 评论 -
hdu5563 Clarke and five-pointed star(判正五边形,精度问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5563题目大意:给5个点,判断能不能组成一个正五角星。思路:其实就是判正五边形。所以可以枚举出10条边,5条边5条对角线。判断5条边是否相等,5条对角线是否相等即可。注意精度问题,题目中说如果精度小于10^-4就算相等,所以就不要开太小了,否则会出问题。如果利用角度判的话原创 2015-11-14 22:08:05 · 968 阅读 · 1 评论 -
hdu 1022 Train Problem I(栈的模拟)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1022题目大意:给定入栈顺序,问能否按照某个方式出栈。思路:直接模拟即可。代码:#include#include#include#include#include#includeusing namespace std;char s1[15],s2[15];i原创 2015-11-16 22:30:16 · 484 阅读 · 0 评论 -
hdu 1429 胜利大逃亡(续)(BFS+状压)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429思路:先想到用BFS 求得最短的时间。然后看到要拿不同的钥匙开门,总共最多有10把钥匙,最多为2^10,所以考虑状压。代码:#include#include#include#include#includeusing namespace std;int n原创 2015-11-10 20:09:09 · 590 阅读 · 0 评论 -
hdu 4770 Lights Against Dudely(暴力+状压)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4770题目大意:在一个n*m的地图里面,需要放置一些灯使得所有的路都能被照亮。灯照亮的方式为“L”型,即照亮(x,y),(x-1,y),(x,y+1)三个位置。但是现在有一盏特别的灯,可以旋转90°或者180°或者270°,当然可以用也可以不用。不过有一个要求就是,灯不能照到墙。现在问照原创 2015-11-10 20:20:19 · 431 阅读 · 0 评论 -
hdu1203 I NEED A OFFER!(01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1203题目大意:中文题。思路:有上一题做铺垫,这题就简单多了。计算花费为j时最小的被拒绝的概率P,最后答案就是1-P,表示最大的被接受的概率。代码:#include#includedouble min(double a,double b){ if(a<b)retu原创 2015-09-24 16:30:04 · 101 阅读 · 0 评论 -
hdu2955 Robberies(01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955题目大意:有个人要去抢劫银行,在这之前他对自己抢劫的行为进行了风险估计,抢不同的银行获得的前不同风险也不同。抢银行时他有一个最高风险的上限,现在问在不超过最高风险的情况下(不被抓),他最多能抢多少钱。思路:题目给了两个变量,风险指数和价值,很容易想到就是01背包。如果我原创 2015-09-24 16:21:00 · 400 阅读 · 0 评论 -
hdu2159 FATE(二维背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159题目大意:中文题。思路:完全背包。但是他有两个限制条件,所以考虑用二维费用的背包。dp[u][v],u,v分别代表两个不同的限制条件。如果对于第i个物品,条件1和条件2所需的代价为a[i]和b[i]。那么就有 dp[i][u][v]=max(dp[i-1][u][v原创 2015-09-18 21:34:42 · 512 阅读 · 0 评论 -
hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191题目大意:中文题。思路:简单的多重背包。代码:#include#include#include#include#includeusing namespace std;int max(int a,int b){ if(a>b)return a;原创 2015-09-18 15:50:50 · 797 阅读 · 0 评论 -
hdu2844 Coins(多重背包+二进制优化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2844题目大意:有n种价值不同的硬币,他们的数量有限但不相同。现在要求出硬币组合,可组合出多少种不同价格。思路:第一反应是母函数,不过数据量有点大,没敢尝试。可以用背包。通过多重背包,dp[i]就代表价格为i时的最大组合价格。如果dp[i]==i,表明能够组合出这个价格,否则原创 2015-09-18 14:10:08 · 1689 阅读 · 0 评论 -
hdu1059 Dividing(多重背包+二进制优化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1059题目大意:有价值分别为1~6的弹珠,不同价值的弹珠有不同的数量。两个人要分成相同的价值,问能不能分成功。思路:典型的多重背包。加上二进制优化。代码:#include#includeint max(int a,int b){ if(a>b)return a;原创 2015-09-18 11:05:11 · 1951 阅读 · 0 评论 -
hdu5432 Pyramid Split(二分)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5432题目大意:给一些底面为正方形的锥体,现在要给这些锥体来一刀,即给一个平面,使得这些锥体一分为二,上面部分体积为总体积的一半,问这个平面的高度应该为多少。思路:二分平面的高度。当体积为总体积的一半时即可跳出。注意有可能平均高度大于个别比较低的锥体,这个时候对这个锥体分割所得的原创 2015-09-20 21:17:19 · 538 阅读 · 0 评论 -
hdu 4771 Stealing Harry Potter's Precious(BFS+状态压缩)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4771题目大意:在一个地图上面有一些宝藏,现在从某一个点出发要拿到所有的宝藏,问最短所需要走的步数是多少。思路:BFS+状态压缩。在原来的vis[][]基础上添加一个状态,vis[i][j][state]代表在(i,j)上面拿了多少个宝藏时候的最小步数。题目范围比较小,宝原创 2015-11-09 21:20:59 · 390 阅读 · 0 评论 -
hdu 1023+1030+1134 卡特兰数+大数模板处理
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1023都是卡特兰数的应用,中间要用大数处理。卡特兰数:公式:也可以写成:卡特兰数超过35以后就要用大数处理了。卡特兰数列为: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742原创 2015-11-16 20:50:15 · 878 阅读 · 0 评论 -
hdu5510 (KMP+剪枝)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5510题目大意:给n个字符串,求出最大的i使得对于第i个字符串,他的前i-1个字符串中至少有一个不是他的子串。思路:很容易想到利用KMP算法判断子串,但是直接操作是会超时的,所以我们加上一个剪枝:设立一个vis[i]数组,举个例子:如果1是3的子串,则令vis[1]=1,然后原创 2015-11-01 21:10:14 · 835 阅读 · 2 评论 -
2015 南阳 CCPC hdu 5546 Ancient Go(DFS,暴力)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5546题目大意:我方棋子是'x',敌方是'o'。现在轮到我方落子,问我方能不能在下一回合吃掉对方的至少一个棋子。吃掉的规则是:对方被围的棋子在下一回合时已经找不到为' . '的位置。范围:棋盘大小9*9。思路:由于棋盘大小只有9*9,所以我们可以直接暴力枚举'o',对于一原创 2015-11-18 13:24:01 · 1662 阅读 · 0 评论 -
hdu 5698瞬间移动(组合数取模、卢卡斯定理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5698数据范围:2≤n,m≤100000,mod=1000000007。思路:打表可以发现这个方法数是一个杨辉三角。根据杨辉三角的性质,可以知道杨辉三角里面第n行,第m列的数值为C(n-1,m-1)。所以我们只要将题目所给的行列转化一下,然后计算组合数即可。原创 2016-05-23 21:47:37 · 993 阅读 · 0 评论 -
hdu3549Flow Problem(最大流 模板题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549网络流最大流模板题。#include#include#include#define rep(i,a,b) for(int i=a;i<=b;i++)#define inf 0x3f3f3f3f#define MM 10005using namespace std;//原创 2016-07-22 20:08:27 · 476 阅读 · 0 评论 -
poj2060Taxi Cab Scheme(最小路径覆盖)
题目链接:http://poj.org/problem?id=2060思路:要求最少派几辆车。那么我们就可以先把那些可以接上的车辆订单都建边,建成一个有向无环图,然后我们可以利用二分图最大匹配计算出最大匹配p,然后就可以算出需要的车辆为n-p。代码:#include#include#include#includeusing namespace std;const原创 2016-07-22 20:20:12 · 529 阅读 · 0 评论 -
hdu1251 统计难题(Trie树入门题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1075Trie树的入门题。代码:#include#includeconst int maxnode=1000005;const int sigma_size=26;struct Trie{ int ch[maxnode][sigma_size]; int sz; int原创 2016-07-25 20:59:07 · 1061 阅读 · 0 评论 -
hdu5738Eureka
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5738题意:其实就是叫你求几个点共线的集合。当然要考虑重点。思路:主要就是要解决在一条线上,重点和非重点对答案的贡献。如果直接算的话,两者没有什么大差别。但是重点的情况会算重复。再减掉的话十分复杂。这里参考了一个思路:对所有点排序后,对每个点进行枚举。对于每个点来说,原创 2016-07-28 10:04:13 · 504 阅读 · 0 评论 -
hdu3465Life is a Line(树状数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3465题目大意:给一个开区间(l,r),给n个直线,问这些直线在这段区间里面有多少个交点。思路:对于两条直线来说,我们可以求出他们分别于y=l,y=r的交点a,b,c,d。如果ad或者a>c&&b注意要把与y轴平行的数量也算进去。代码:#include#includ原创 2016-07-31 20:55:01 · 538 阅读 · 0 评论 -
hdu5795A Simple Nim(SG函数、打表找规律)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5795题目大意:给n堆石子,A和B两个人可以分别从任意一堆里面取任意石子。也可以选择将一堆石子分成新的三堆。谁最后拿不到石子谁输。思路:如果不分堆就是简单的Nim游戏。直接取异或和即可。现在分堆我们可以发现,如果一堆石子个数为7,那么分成1,2,4以后可以对局势不造成影响。所以我原创 2016-08-05 21:18:08 · 444 阅读 · 0 评论 -
hdu5794A Simple Chess(组合数学)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5794题目大意:给一个n*m的棋盘,要求从(1,1)走到(n,m),只能以日字的形式走过去,然后不能经过某些坏点,问有几种走法。范围:n,m思路:和上一题的模型很相似。具体见http://blog.youkuaiyun.com/aaaaacmer/article/details/52原创 2016-08-09 21:44:33 · 584 阅读 · 0 评论 -
hdu 5678 ztr loves trees(dfs序、主席树静态第k大)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5678题目大意:给出一颗根为1的树,有n个点,每个点都有一个value值。然后给出n-1条边,表示有两个点之间是相连的,最后形成一颗树。然后给出m个询问,每次询问节点x以下所有节点形成的序列的中位数。范围:n思路:主席树模板题。对于节点x以下的节点形成的序列求中位数,原创 2016-05-25 14:36:47 · 647 阅读 · 0 评论 -
hdu 3944 DP? (预处理+卢卡斯定理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3944题目大意:给一个杨辉三角。然后给出行n和列m,问从第n行第m列往上走到顶部,所得的值的取模p后最小的和。范围:n,m思路;很容易想到肯定是往边上走,然后一直往上走。因为边上都是1,而m>=n/2的时候,明显可以对称到左边来,所以只要算一边就好了。然后就是组合数的原创 2016-05-24 14:34:50 · 473 阅读 · 0 评论 -
2015 南阳 CCPC hdu 5542 The Battle of Chibi(DP+树状数组优化+离散化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5542题目大意:给一段长为n的序列,现在要找出m个严格递增的数,问这样的找法有多少种。范围 :n思路:首先会往dp方面想,我们令f[i][j]表示前i个数字里面取了j个严格递增的数的找法。但是为了严格递增,我们可以规定这个f[i][j]的最后那个数就是a[i]。此时我原创 2015-11-18 20:09:37 · 801 阅读 · 0 评论 -
2015 南阳 CCPC hdu5547 Sudoku(DFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5547思路:跟poj上面的那题数独一样,但是范围更小。所以就写个水DFS加上一个水的暴力判断水过去了。代码:#include#include#include#includeusing namespace std;int r[10][10],c[10][10],vis原创 2015-11-18 15:18:23 · 1055 阅读 · 0 评论 -
hdu 5533 Dancing Stars on Me
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5533题目大意:给n个点,判断这些点能否组成一个正多边形。思路:题目里面给的点坐标是整数的。所以除了正四边形以外,其他的都不行。。。。。。代码:#include#include#include#include#includeusing namespace std原创 2015-11-02 21:21:06 · 1044 阅读 · 0 评论 -
hdu5568 sequence2(dp+大数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5568题目大意:给一段长度为n的序列,现在在其中取k个,问这k个是递增的取法有多少种。范围:n思路:可以用dp来解决,跟前面做过的一题一样。设f[i][j],代表在前i个里面选了长度为j并且以a[i]为结尾的取法,那么就有转移方程:f[i][j]=Σf[k][j-1](a原创 2015-11-25 18:46:16 · 623 阅读 · 0 评论 -
hdu5569 matrix(简单dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5569思路:直接dp遍历过去即可,设f[i][j]代表走到(i,j)时候的最小价值。当走奇数步的时候不进行决策,走偶数步的时候看从哪里走过来价值小。代码:#include#includeint min(int a,int b){ return a<b?a:b;}原创 2015-11-25 18:50:09 · 498 阅读 · 0 评论 -
hdu 5592 ZYB's Premutation(线段树求逆序数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5592范围:N思路:BC出题人的题解还是挺清楚的:设f_ifi是第ii个前缀的逆序对数,p_ipi是第ii个位置上的数,则f_i-f_{i-1}fi−fi−1是ii前面比p_ipi大的数的个数.我们考虑倒着做,当我们处理完ii后面的数,第ii个数就是原创 2015-12-07 21:52:11 · 526 阅读 · 0 评论 -
hdu5651 xiaoxin juju needs help(组合数学)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5651题目大意:改变所给字符串里面的字符的任意顺序,问组成回文串的方案数。范围:字符串长len思路:根据回文串的性质,我们可以只考虑前半部分的串的构成。所以最多只有一种字母的个数为奇数。所以剩下的情况就是组合数取几个的方案数的求和了。代码:#include#原创 2016-03-28 13:30:55 · 652 阅读 · 0 评论 -
hdu5652 India and China Origins(并查集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5652题目大意:在n*m的矩阵里面,放值为1的山峰。当山峰连起来能够封锁整个m列的时候,问最早是什么时候。范围:n,m思路:可以用并查集存下每个点能向左延伸的距离和向右延伸的距离。当有一个点为1的时候,看他8个方向是否有为1的山峰,如果有就将他们并入同一个集合,然后更新他原创 2016-03-28 13:38:10 · 625 阅读 · 0 评论