
HDOJ
文章平均质量分 62
BRCOCOLI
初学者 记录成长 Fighting
展开
-
HDU 1005 Number Sequence(循环节) *
思路来自:http://blog.sina.com.cn/s/blog_a16dd6d101014pjy.html因为首先,任意一个数mod7结果为0到6这7个值,两个数就有7*7种组合所以只要计算50此肯定会有个循环#include #include #include #include #include #include #include #include using原创 2017-02-15 22:35:42 · 255 阅读 · 0 评论 -
HDU 1227 Fast Food DP *
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1227状态很好定义,关键是怎么递推,加入一个仓库后的影响怎么算出来思路:http://www.cnblogs.com/jackge/archive/2013/03/27/2984463.html#include #include #include #include using nam原创 2016-10-04 17:10:23 · 308 阅读 · 0 评论 -
HDU 3008 Warcraft DP .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3008一开始 d[i][j] 定义为 前i回合数,k魔法值 最多能打多少血,但是这个很难判断最短时间所以定义为 前i回合数,k魔法值 Boss剩下的生命值状态转移:Dp[i+1][j-sk[k].mp+x]=min(Dp[i+1][j-sk[k].mp+x],Dp[i][j]+sk[k]原创 2016-10-04 14:21:38 · 702 阅读 · 0 评论 -
HDU 1502 Regular Words 打表+大数相加 .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1502#include #include #include #include using namespace std;const int maxn=60+5;typedef long long LL;struct BigInteger{ static const int BASE=1原创 2016-10-04 12:30:00 · 249 阅读 · 0 评论 -
HDU 1501 Zipper DP -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1501思路来自:http://blog.youkuaiyun.com/vsooda/article/details/7936229?locationNum=3DP解法:最优子结构分析:如上例,如果A、B可以组成C,那么,C最后一个字母e,必定是 A 或 C 的最后一个字母组成。C去除除最后一位,就变原创 2016-10-04 00:11:38 · 250 阅读 · 0 评论 -
HDU 1503 Advanced Fruits LCS -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1503求出LCS,然后根据d[][]找出路径,注意要从后往前找,而不能从前往后找#include #include #include #include using namespace std;const int maxn=100+5;char str1[maxn],str2[maxn原创 2016-10-04 10:30:44 · 288 阅读 · 0 评论 -
HDU 1300 Pearls DP .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1300就是要明白 一些东西的的数量的累加肯定是连续的 比如 不可能a2累加到a4,跳过a3,而应该是a2,a3 都累加到a4#include #include #include #include using namespace std;const int maxn=200+5;con原创 2016-10-03 10:02:05 · 330 阅读 · 0 评论 -
HDU 1422 重温世界杯 DP+最长正子段长度 *
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1422主要是处理正子段长度有点麻烦直接将在保存的数据后面再接上1…n的数据,这样扫描一遍的复杂度为n;再加一个优化, 当Dp[i]==n时,也就是能全部游完所有城市的时候,直接break;#include #include #include #include using namesp原创 2016-10-02 23:37:19 · 325 阅读 · 0 评论 -
HDU 1224 Free DIY Tour DP -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1224注意有些路是走不到的写了好长时间,真烦#include #include #include #include #include using namespace std;const int maxn=100+5;const int INF=0x3f3f3f3f;int d原创 2016-10-02 21:26:26 · 239 阅读 · 0 评论 -
HDU 1080 Human Gene Functions DP -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1080#include #include #include #include using namespace std;const int maxn=100+5;const int INF=0x3f3f3f3f;#define max3(a,b,c) max(a,max(b,c))ch原创 2016-10-02 18:59:04 · 272 阅读 · 0 评论 -
HDU 1059 Dividing 多重背包 .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1059二进制优化#include #include #include #include using namespace std;int num[7];bool d[80000+5];int main(int argc, char const *argv[]){ int kase原创 2016-10-02 16:12:15 · 249 阅读 · 0 评论 -
HDU 2059 龟兔赛跑 DP -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2059根据充电站将整个赛道分为一段一段,只要每一段时间最短总的也就最短麻烦的是,经过一个充电站选择不冲,但电瓶车里其实还会剩下一些电,所以还要知道经过每个充电站的剩余电量将问题转化一下,当不冲电的时候,就等于没有加油站所以if(val[i] - val[j]dp[i] = m原创 2016-10-02 15:18:46 · 502 阅读 · 0 评论 -
HDU 1081 To The Max 最大子矩阵和 .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1081#include #include #include #include using namespace std;const int maxn=100+5;const int INF=0x3f3f3f3f;int Grid[maxn][maxn],d[maxn];int MaxS原创 2016-10-02 13:34:08 · 302 阅读 · 0 评论 -
HDU 1078 FatMouse and Cheese .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1078#include #include #include #include using namespace std;const int maxn=100+5;int N,k;int G[maxn][maxn],d[maxn][maxn];const int dx[]={1,-1,0原创 2016-10-01 23:51:21 · 219 阅读 · 0 评论 -
HDU 1025 Constructing Roads In JGShining's Kingdom LIS -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1025要用nlogn的算法,不然会超时参见博客讲解:http://blog.youkuaiyun.com/kaitangshouljz/article/details/41074187?locationNum=7#include #include #include #include using原创 2016-09-30 17:57:21 · 249 阅读 · 0 评论 -
HDU 1160 FatMouse's Speed .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1160先对体重升序排序,然后求s的最长下降子序列#include #include #include #include #include using namespace std;const int maxn=10000+5;struct Mice{ int w,s,idx;原创 2016-09-30 09:05:57 · 236 阅读 · 0 评论 -
HDU 1024 Max Sum Plus Plus DP *
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=10241. 对于前n个数, 以v[n]为底取m段:当n==m时,Sum[m][n]=Sum[m-1][n-1]+v[n],第n个数独立成段;当n>m时, Sum[m][n]=max{Sum[m-1][k],Sum[m][n-1]}+v[n]; 其中,m-12. 空间的优化:通过状态方原创 2016-09-29 22:03:51 · 241 阅读 · 0 评论 -
HDU 1114 Piggy-Bank 完全背包 .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1114#include#include#include#includeusing namespace std;const int maxn=10000+5;const int INF=0x3f3f3f3f;int d[maxn];int main(){ int T,lW,NW,W原创 2016-09-28 19:38:21 · 225 阅读 · 0 评论 -
HDU 1158 Employment Planning DP .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1158#include #include #include #include using namespace std;const int maxn=12+5;const int maxp=100+5;const int INF=0x3f3f3f3f;int NumWorker[max原创 2016-10-04 19:42:11 · 309 阅读 · 0 评论 -
HDU 1074 Doing Homework 状态压缩+DP .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1074#include #include #include #include using namespace std;const int INF=0x3f3f3f3f;struct HomeWork{ char name[100+5]; int deadline,costday;原创 2016-10-04 21:47:54 · 267 阅读 · 0 评论 -
HDU 1267 下沙的沙子有几粒? + HDU 1133 Buy the Ticket 递推 *
HDU 1267 下沙的沙子有几粒?思路来自:http://www.cnblogs.com/jiangjing/archive/2013/01/18/2866168.html思路:递推公式为:a[m][n]=a[m-1][n]+a[m][n-1];然后当n=0的时候无论m取何值都是1,递推公式怎么推来的呢?我现在说下我的思路吧!假设3个H和2个D是由2个H和2个D还有3个H一个原创 2017-02-13 22:44:40 · 330 阅读 · 0 评论 -
HDU 1506 Largest Rectangle in a Histogram -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1506#include #include #include #include #include #include #include #include using namespace std;#define REP(i,a,b) for(int i=a;i<=(int)b;i++)原创 2017-02-21 15:18:57 · 248 阅读 · 0 评论 -
HDU 1290 切蛋糕 (献给杭电五十周年校庆的礼物) *
单单二维切圆的时候是 g(n)=g(n-1)+n得出 g(n)=(n*n+n+2)/2加上三维横着切最好,每次可以增加 g(n-1)所以 f(n)=f(n-1)+g(n-1);思路来自:http://blog.sina.com.cn/s/blog_ab20767501017kvp.html最简单的就是用待定系数法,直接解方程#include #include #原创 2017-02-11 17:11:40 · 475 阅读 · 0 评论 -
HDU 2050 折线分割平面 -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2050待定系数直接求出公式了ax^2+bx+c得2*x*x-x+1#include #include #include #include #include #include #include #include using namespace std;#define原创 2017-02-11 17:05:16 · 284 阅读 · 0 评论 -
HDU 1722 Cake *
假设 p=2,q=3即把他们重合,尽可能多的边重合即重合的边就是 gcd(p,q)所以答案就是 p+q-gcd(p,q)#include #include #include #include #include #include #include #include using namespace std;#define REP(i,a,b原创 2017-02-11 15:27:16 · 286 阅读 · 0 评论 -
HDU 1568 Fibonacci 公式 *
题目地址:http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=2&problemid=1试了用JAVA WR思路来自:http://blog.youkuaiyun.com/niushuai666/article/details/7013352#include #include #include #in原创 2017-02-10 22:47:40 · 256 阅读 · 0 评论 -
HDU 1058 Humble Numbers -
#include #include #include #include #include #include #include #include using namespace std;#define REP(i,a,b) for(int i=a;i<(int)b;i++)#define REPD(i,a,b) for(int i=a;i>=(int)b;i--)#define原创 2017-02-16 20:55:45 · 223 阅读 · 0 评论 -
HDU 1297 Children’s Queue JAVA *
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1297题意:有n个位置,男孩女孩排队,要求女孩至少要2个在一起。 思路:设f[n]表示,n个人的情况。情况一、在f[n-1]的情况后面加一个男孩;情况二、在f[n-2]的情况后面加两个女孩;情况三、在f[n-3]最后是男孩(等价于在f[n-4]个个数)的后面加三个女孩; 所以:f[n]=f[原创 2017-02-16 19:28:12 · 313 阅读 · 0 评论 -
HDU 2563 统计问题
0表示左,1表示上,2表示右f[n][0]表示到n步且最后一步是0,其他的同理所以f[n][0]=f[n-1][1~2];f[n][1]=f[n-1][1~3];f[n][2]=f[n-1][2~3];整理得f[n]=f[n-1]*2+f[n-2];#include #include #include #include #include #includ原创 2017-02-16 14:55:47 · 226 阅读 · 0 评论 -
HDU 2045 不容易系列之(3)―― LELE的RPG难题 .
d[i][j][n] 表示头颜色为i,尾颜色为j,且长度为n的排列#include #include #include #include #include #include #include #include using namespace std;#define REP(i,a,b) for(int i=a;i<(int)b;i++)#define REPD(i,a,b)原创 2017-02-16 13:51:38 · 214 阅读 · 0 评论 -
POJ 4720 Naive and Silly Muggles -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4720求围住一个三角形的最小圆如果是钝角,那么圆的直径就是最长的那条边其他情况圆是三角形的外接圆可用以下方法求的外心:给定三角形三个顶点的坐标,如何求三角形的外心的坐标呢?例如 :给定a(x1,y1) b(x2,y2) c(x3,y3)求外接圆心坐标O(x,y)原创 2017-01-06 08:43:55 · 258 阅读 · 0 评论 -
HDU 4507 吉哥系列故事——恨7不成妻 数位DP *
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4507第一次遇到求平方和的题目.题解看了半天才懂..1、整数中某一位是7;2、整数的每一位加起来的和是7的整数倍;3、这个整数是7的整数倍;对于1,只要我们放的时候略过7就好了对于2,我们要保存每一位加起来mod 7 的值,我记为modOne对于3,我原创 2016-10-08 19:18:20 · 397 阅读 · 0 评论 -
HDU 3709 Balanced Number 数位DP -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3709枚举支点位置就好了#include #include #include #include using namespace std;const int maxp=21;typedef long long LL;LL d[maxp][maxp][1601];int digit[原创 2016-10-08 09:26:12 · 286 阅读 · 0 评论 -
HDU 3652 B-number 数位DP -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3652#include #include #include #include using namespace std;typedef long long LL;LL d[13][3][13];int digit[13];int DFS(int pos,int state,int mo原创 2016-10-05 23:59:44 · 246 阅读 · 0 评论 -
HDU 3555 Bomb 数位DP .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3555先算出1~n 含有49的有几个,再减一减就好了#include #include #include #include using namespace std;typedef long long LL;LL d[25][10],digit[20];void init(){原创 2016-10-05 23:01:18 · 273 阅读 · 0 评论 -
HDU 2089 不要62 数位DP .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2089模板题 ,第一道数位DP的题目#include #include #include #include using namespace std;int d[10][2],a[10];int DFS(int pos,int pre,int state,bool limit){原创 2016-10-05 19:51:54 · 398 阅读 · 0 评论 -
HDU 2191 珍惜现在,感恩生活 多重背包 .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2191把我所知道的优化全部放上去了 0MS#include#include#include#includeusing namespace std;const int maxn=10000+5;int d[maxn];int main(){ int T; cin>>T; whi原创 2016-09-28 18:51:22 · 302 阅读 · 0 评论 -
HDU 1978 How many ways 记忆化DP .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1978#include#include#include#includeusing namespace std;const int maxn=100+5;int G[maxn][maxn],R,C,p=10000;int d[maxn][maxn];bool inside(int x,原创 2016-09-28 18:22:33 · 305 阅读 · 0 评论 -
HDU 2602 Bone Collector 01背包(裸) .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2602水的不行....#include#include#include#includeusing namespace std;const int maxn=1000+5;int d[maxn],w[maxn];// d[i]空间i下最大价值 int main(){ int T原创 2016-09-25 11:30:06 · 177 阅读 · 0 评论 -
HDU 1506 Largest Rectangle in a Histogram 分治法 -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1506分治法,分成左边和右边和中间求中间最大面积的时候用贪心,mid出发,左右两边扫描,优先取最高的#include#include#include#includeusing namespace std;const int maxn=100000+5;typedef long l原创 2016-09-25 08:05:21 · 264 阅读 · 0 评论