![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hdu
文章平均质量分 67
bin_gege
这个作者很懒,什么都没留下…
展开
-
hdu_1072_Nightmare(BFS)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1072题意:给你一个地图,让你在炸弹爆之前找到出口,最初炸弹设定为6,每走一格需要1,中途有地方能让炸弹的时间重置为6,找到出口的最短时间。题解:直接上BFS,需要注意的是要另开一个数组来存当前位置的炸弹最大时间,如果走回来时炸弹比原来的时间小,就不走。#include#inclu原创 2016-05-10 17:12:50 · 652 阅读 · 0 评论 -
hdu_1181_变形课(dfs)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1181题意:中文题,不解释题解:直接DFS#include#includebool v[1000];int cnt=0,ok,i;struct dt{char s[100],len;}a[1000];void dfs(int i,char pre){ if(a[i].s[a[i].le原创 2016-05-10 21:35:28 · 197 阅读 · 0 评论 -
hdu_4539_郑厂长系列故事——排兵布阵(状压DP|最大团)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4539题意:中文,不解释题解:将每一行的状态压缩,然后进行DP,也可以用最大团做。这里我用的DP#include#include#define max(a,b) ((a)>(b)?(a):(b))int row[110];int dp[110][220][220];//dp[i][原创 2016-05-23 23:09:01 · 317 阅读 · 0 评论 -
hdu_1253_胜利大逃亡(bfs+剪枝)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1253题意:三维BFS,不解释题解:DFS+剪枝会超时,裸BFS会超时,BFS+剪枝才能AC,有点伤,我以为数据会让DFS速度快一下,看来是我天真了#include#includeusing namespace std;#define FFC(i,a,b) for(int i=a;i<原创 2016-05-11 00:51:50 · 419 阅读 · 0 评论 -
hdu_1495_非常可乐(bfs模拟)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1495题意:不解释题解:BFS模拟,不过要细心,把所有情况都列举出来,开一个数组记录状态,代码有点长,比较重复,尝试优化了一下,不过WA了#include#include#includeusing namespace std;struct dt{int s,m,n,t;};int原创 2016-05-11 14:05:12 · 216 阅读 · 0 评论 -
hdu_1728_逃离迷宫(bfs)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1728题意:走迷宫,找最小的拐角题解:对BFS有了新的理解,DFS+剪枝应该也能过,用BFS就要以拐角作为增量来搜,即以当前点为坐标,4个方向都搜一次,下一次出队,step就要加1#include#include#includeusing namespace std;#define原创 2016-05-11 16:18:16 · 356 阅读 · 0 评论 -
hdu_4529_郑厂长系列故事——N骑士问题(状压DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4529题意:中文,不解释题解:状压DP,dp[i][j][k][s]表示第i行当前用了j个骑士,i-1行的压缩状态为k,i行的压缩状态为j,然后用滚动数组优化了一下#include#include#define N (1<<8)#define FFC(i,a,b) for(int i=原创 2016-05-24 22:06:18 · 364 阅读 · 0 评论 -
hdu_2899_Strange fuction(三分查找)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2899题意:让你解方程题解:对于只有一个凸或者没有凸的图像,可以直接上三分解决、#include#includedouble eps=1e-7;int t,y;double f(double x){return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*p原创 2016-05-11 20:46:36 · 218 阅读 · 0 评论 -
hdu_2141_Can you find it?(二分)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2141题意:叫你找三个数,使得这三个数的值为X,如果找得到就输出YES否则输出NO,注意两个32位数相加会爆int#include#includeusing namespace std;#define FFC(i,a,b) for(int i=a;i<=b;i++)int L,N,M,t原创 2016-05-11 22:29:20 · 355 阅读 · 0 评论 -
hdu_2446_Shell Pyramid(数学,二分)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2446题意:题面很大,有用的就那么几句,意思就是用自然数来堆它画的那个金字塔,比如第一个金字塔的第一个数为1,第二个金字塔的第一个数为2,第三个金字塔的第一个数为5……。题解:可以打表,最多有381W个金字塔,然后用二分搜,也可以推个公式出来(n*n*n - n)/6表示第n-1堆的最后一个数,原创 2016-05-12 09:07:32 · 790 阅读 · 0 评论 -
hdu_2717_Catch That Cow_bfs
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2717题解:一维简单BFS,详细看代码,0ms。#include#includeusing namespace std;const int maxn=100002;bool v[maxn];int n,k;struct nd{ int x,step;};bool check(int原创 2016-04-30 16:12:04 · 292 阅读 · 0 评论 -
hdu_2608_0 or 1_数论
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2608反正我是没找出这个规律的,规律参考的别人的!/*分析:假设数n=2^k*p1^s1*p2^s2*p3^s3*...*pi^si;//k,s1...si>=0,p1..pi为n的素因子 所以T[n]=(2^0+2^1+...+2^k)*(p1^0+p1^1+...+p1^s1)*...*(p原创 2016-04-30 16:59:35 · 628 阅读 · 0 评论 -
hdu_3001_Travelling(状压DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3001题意:给你N个点,M条边,每个点最多走两次,问走完N个点最短的路程为多少。题解:注意这题有重边,因为最多走两次,所以要用3进制来压缩状态,处理一下就行#include#include#define FFC(i,a,b) for(int i=a;i<=b;i++)int n,m,原创 2016-05-25 13:48:20 · 254 阅读 · 0 评论 -
hdu_5676_ztr loves lucky numbers
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5676在这%一下安神,用了我没见过的黑科技next_permutation,至少我是今天才知道的#include#include#include#include#include#include#include#include#include#include#define cl(a原创 2016-04-30 23:25:09 · 236 阅读 · 0 评论 -
hdu_1558_Segment set(并查集+计算几何)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1558题意:P为画线段,Q为询问当前这条线段所在的集合有多少线段题解:如果两条线段有交点,那么就连接这两个集合#include#define FFC(i,a,b) for(int i=a;i<=b;++i) struct line{double x1,y1,x2,y2;}a[1010]原创 2016-05-25 22:10:45 · 247 阅读 · 0 评论 -
hdu_1254_推箱子(双BFS)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1254题解:以箱子为主体,第一层BFS,然后用第二层BFS来判断人是否可以到达,这里细节比较多,要注意#include#include#includeusing namespace std;#define FFC(i,a,b) for(int i=a;i<=b;i++)struct d原创 2016-05-13 00:57:04 · 337 阅读 · 0 评论 -
hdu_1115_Lifting the Stone(求多边形重心)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1115题意:给你N个点围成的一个多边形,让你求这个多边形的重心。题解:将多边形划分为若干个三角形。若我们求出了每个三角形的重心和质量,可以构造一个新的多边形,顶点为所有三角形的重心,顶点质量为三角形的质量。这个新多边形的质量和重心与原多边形相同,即可使用第一种类型的公式计算出整个多边形的重原创 2016-05-26 08:41:15 · 251 阅读 · 0 评论 -
hdu_1392_Surround the Trees(凸包)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1392题意:求凸包,不知道的百度题解:模版题#include#include#includeusing namespace std;/* * 求凸包,Graham算法 * 点的编号0~n-1 * 返回凸包结果Stack[0~top-1]为凸包的编号 */ const原创 2016-05-26 09:58:52 · 287 阅读 · 0 评论 -
hdu_1348_Wall(凸包)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1348题意:让你求n个点的凸包,凸包离点的距离为l题解:就凸包周长+一个半径为l的圆周长#include#include#include#define F(i,a,b) for(int i=a;i<=b;++i)using namespace std;/* * 求凸包,Grah原创 2016-05-26 17:08:55 · 346 阅读 · 0 评论 -
hdu_5620_KK's Steel(水题)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5620题意:给你一个n长的钢管,要分的尽可能多,且任意三条不能构成三角形题解:看hint就知道用递推来解#include#define F(i,a,b) for(int i=a;i<=b;++i)long long a[100],b[100],n;int t,l,r,mid;int原创 2016-05-27 00:41:23 · 246 阅读 · 0 评论 -
hdu_1429_胜利大逃亡(续)(BFS状压)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1429题意:迷宫的加强版,迷宫里有钥匙和门,问在指定的时间下能否逃出题解:用二进制位来记录是否有该门的钥匙,然后上BFS#include#include#include#define FFC(i,a,b) for(int i=a;i<=b;i++)using namespace st原创 2016-05-14 01:56:17 · 231 阅读 · 0 评论 -
hdu_5683_zxa and xor(非正解的暴力)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5683题意:问题描述zxa最近对按位异或(exclusive disjunction)产生了极大的兴趣,为此他拿出了一个长度为nn的非负整数序列a_1,a_2,\cdots,a_na1,a2,⋯,an。zxa觉得这样太单调了,于是他定义了一种方法funct(x,原创 2016-05-14 22:19:40 · 711 阅读 · 0 评论 -
hdu_5680_zxa and set(想法题)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5680题意:问题描述zxa有一个集合A=\{a_1,a_2,\cdots,a_n\}A={a1,a2,⋯,an},nn表示集合AA的元素个数,这个集合明显有(2^n-1)(2n−1)个非空子集合。对于每个属于AA的子集合B=\{b_1,b_2,\cdots原创 2016-05-14 22:27:08 · 271 阅读 · 0 评论 -
hdu_2227_Find the nondecreasing subsequences_树状数组,离散化
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2227题意:给你一个集合,让你求递增子序列有多少个,和树状数组求逆序对差不多,不过数据比较大,要离散化一下原创 2016-05-04 15:52:40 · 392 阅读 · 0 评论 -
hdu_2871_Memory Control(巨恶心线段树)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2871题意:给你一段内存,让你操作1:Reset:重置所有内存 2:New x:申请一块X大小的内存,返回内存最左边的开头,3:free x:释放包含x单元的内存块 4:Get x:取第X块的内存首地址题解:这题我写了一晚上,很恶心,显然用线段树维护,不过用一个Vector 来应对 free和g原创 2016-05-28 23:51:07 · 320 阅读 · 0 评论 -
hdu_3562_B-number(记忆化搜索|数位DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3652题意:给你一个n,为比n小的能整除13并数字中有13的数有多少个题解:记忆化搜索:记dp[i][j][k][l]为当前为第i位i+1位的数为j,余数为k,是否含有13的数的个数,然后搜索下去就得出答案了#include#include#define F(i,a,b) for(int原创 2016-05-29 12:37:02 · 262 阅读 · 0 评论 -
hdu_2089_不要62(数位DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2089题意:中文,不解释题解:dp[i][j]表示当前第i位的前一个数为j,然后记忆化dfs,注意的是给的是一个区间,容斥完后要处理大的那个数#include#include#define F(i,a,b) for(int i=a;i<=b;i++)int dp[10][10],n,原创 2016-05-29 13:53:45 · 240 阅读 · 0 评论 -
hdu_3709_Balanced Number(数位DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3709题意:给你一个区间,让你找平衡数的个数题解:设dp[i][j][k]为前i位以第j位为支撑点的力矩和为k的方案数,注意的是0,00,000这些也是平衡数,所以要减掉一个len长度#include#include#define F(i,a,b) for(LL i=a;i<=b;i++原创 2016-05-29 17:23:28 · 185 阅读 · 0 评论 -
hdu_4824_Disk Schedule(dp)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4824题意:中文,不解释题解:双调欧几里德旅行商问题,具体可看dp双调欧几里德旅行商,这里注意的是起点为0,0。#include#define FFC(i,a,b) for(int i=a;i<=b;i++)const int maxn=1011,inf=1e9;int dp[maxn][原创 2016-05-16 22:25:33 · 281 阅读 · 0 评论 -
hdu_2224_The shortest path(dp)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2224题意:双调欧几里德旅行商经典问题,找一条最短回路使得该路经过所有的点题解:dp[i][j]=dp[i-1][j]+dis(i,i-1),dp[i][i-1]=Min(dp[i][i-1],dp[i-1][j]+dis(i,j));,注意这里题目的数据给的是从左往右的,所以不需要排序#i原创 2016-05-16 23:43:39 · 290 阅读 · 0 评论 -
hdu_4507_吉哥系列故事——恨7不成妻(鬼畜数位DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4507题意:中文,不解释,注意的是求的是合法数字的平方和,即(a+b+c+……)^2题解:数位DP,要维护三个值,cnt为合法的个数,sum为这cnt个合法个数的和,sqsum为这cnt个数的平方和dp[i][j][k]为第i位前i位的数字和%7的余数为j,前i位的真实值%7为k的状态,求平方和原创 2016-05-29 23:35:19 · 418 阅读 · 0 评论 -
hdu_4734_F(x)(数位DP水)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4734题意:给你一个F(x)的定义,然后给你a,b,问你在0到b包括b有多少个数满足F(x)题解:dp[i][j]为dp到第i位的和为j的方案#include#include#define F(i,a,b) for(int i=a;i<=b;i++)int t,a,b,fa,dp[1原创 2016-05-30 22:32:42 · 221 阅读 · 0 评论 -
hdu_5707_Combine String("巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5707题意:给你三个字符串 a,b,c,问你 c能否拆成a,b,a,b串的每一个字符在c中不能变题解:当时打再现赛的时候没根据题目的特殊性而在哪xjb搜,艹,设dp[i][j]表示为c的前i个字符可由a的前j个字符与b的前i-j个字符组合,dp[i][j]=0表示行不通,dp[i][j]=1,表原创 2016-05-30 23:52:42 · 865 阅读 · 0 评论 -
hdu_4828_Grids(卡特兰数+逆元)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4828题意:中文,不解释题解:实际就是一个卡特兰递推: Catalan(n+1)= Catalan(n)*(4*n+2)/(n+2)(mod M),求的时候要用逆元,这里我用筛法求逆元,用空间换时间,快速幂AC要用800+ms,筛法逆元只需要200+ms。#includeint maxn=原创 2016-05-17 20:08:33 · 392 阅读 · 0 评论 -
hdu_1513_Palindrome(LCS+滚动数组)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1513题意:给你一个字符串,问你最少插入多少个字符使其为回文字符。题解:将字符串倒着保存,然后求一下原串和该串的最长公共子序列,然后字符串长度剪LCS就是答案#include#define FFC(i,a,b) for(int i=a;i<=b;i++)int n,dp[2][5010]原创 2016-05-06 22:47:03 · 192 阅读 · 0 评论 -
hdu_2111_Saving HDU(贪心)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2111题意:给你n个物品的单位体积价值和体积,求装满容量v的背包的最大价值。题解:乍一看还以为是背包问题,结果给的是单位体积的价值,一个简单的贪心就能水过#include#includeusing namespace std;int v,n,i,ans;struct node{ i原创 2016-05-07 12:47:05 · 192 阅读 · 0 评论 -
hdu_1011_Starship Troopers(树形DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1011题意:有N个房间,房间的连通性为树形的,就是说你要占领子结点,必须要先占领 父结点,每个房间有第一定的价值,每个房间里面有敌人,每个士兵能消灭20个敌人,现在给你m个士兵,问你能获得的最大价值为多少。题解:dp[i][j]表示用j个士兵占领以i为根的树的最大价值,然后DFS搜树。注意:当m原创 2016-05-18 16:50:14 · 271 阅读 · 0 评论 -
hdu_3068_最长回文(Manacher)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3068题意:给你一个字符串,让你求最长的回文子串。题解:数据量比较大,暴力O(n2)会超时,直接上马拉车,模版题。#include#include#define min(a,b) (a)>(b)?(b):(a)#define max(a,b) (a)>(b)?(a):(b)const i原创 2016-05-07 16:44:41 · 308 阅读 · 0 评论 -
hdu_3294_Girls' research(Manacher)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3294题意:给你一个字符和一个字符串,第一个字符表示该字符代表a,然后让你求变换后的最长回文区间并输出(这里的回文长度要大于1)题解:直接上马拉车,然后记录一下区间#include#include#define min(a,b) (a)>(b)?(b):(a)#define max(a原创 2016-05-07 19:24:37 · 375 阅读 · 0 评论 -
hdu_Anniversary party_(树形DP入门题)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1520题意:有N个人,N-1个人有自己的上司,每个人有一个快乐值,如果这个人参加了聚会,那么这个人的直接上司将不嫩参加,问最大的快乐值为多少题解:入门的树形DP题,dp[i][0]表示第i个人不去,dp[i][1]表示第i个人去。#include#define FFC(i,a,b) for原创 2016-05-18 18:03:36 · 377 阅读 · 0 评论