摘要: 题目链接 题意 n分钟跑步,每分钟可以跑步或休息 疲惫值的上限为m 若跑步,第i分钟可以跑Di米,增加一单位疲惫值 若休息,恢复一单位疲惫值,但必须恢复到疲惫值为0才能继续跑步 跑步结束时疲惫值必须为0 求最远可以跑的距离 分析 dp f[i][j]表示第i分钟,疲惫值为j的最远距离 f[i][j] 阅读全文
posted @ 2016-12-06 17:03 Vincent_hwh 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给一块长为n的木板,切成四块围成一个四边形,求有几种方案 分析 1.构成四边形的条件:三边之和大于第四边,故每条边不超过n/2; 2.总的方案数,可从最后一条边考虑起,最后一条边有多少种情况,再依次加上前面得出的结果 该问题具有无后效性,故可用动规解决 转移方程 f[i][j]表示划分到第 阅读全文
posted @ 2016-12-06 16:12 Vincent_hwh 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 滑雪那道题变了一下,结果就跑到bzoj里面了 这数据范围也是感人。。 直接记忆化搜索,对于改变的值直接修改就可以了 在字符读入的时候卡了半天QAQ,还是需要用字符数组,毕竟它遇到空格就停下 1 #include<cstdio> 2 #include<cstring> 3 #include<iostr 阅读全文
posted @ 2016-11-14 12:06 Vincent_hwh 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 暴搜 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 using namespace std; 5 6 int num[505][505]; 7 int Ans=1,n,m; 8 int fx[4]={0,0,1,-1}; 阅读全文
posted @ 2016-11-12 11:56 Vincent_hwh 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为17m/s,以这样的速度是无法逃离荒岛的。庆幸的 阅读全文
posted @ 2016-11-11 21:52 Vincent_hwh 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 01背包模型 1 for (int i=1;i<=n;i++) 2 for (int j=1;j<=Max_c;j++) 3 f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+value[i]); 1.[noip2005pj]采药 1 #include<cstdio> 2 # 阅读全文
posted @ 2016-11-08 16:44 Vincent_hwh 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 一.快速幂模板 int Powermod(int a,int b,int MOD) { int t=1; while (b>0) { if (b%2==1) t=(t*a)%MOD; b/=2; a=(a*a)%MOD; } return t; } //(a^b)%MOD View Code 参考: 阅读全文
posted @ 2016-10-18 15:41 Vincent_hwh 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 题目链接题意很直白了,在1~n的排列中寻找以b为中位数的序列个数。首先可以记下b的位置,因为是‘1~n的排列’,所以每个数只出现一次;而要求b是中位数,我们知道,在一个个数为奇数的数列中,成为中位数的条件就是比它大的数字个数=比他小的数字个数,我们又记下了b的位置,所以具体到左右,就是: b左... 阅读全文
posted @ 2015-07-25 10:35 Vincent_hwh 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目链接 对于第一问,要求用最少的边将所有点联通,那么一定是树的形式(树:无环连通图),n个节点就有n-1条边 对于第二问,随意指定一个节点作为源节点,跑一边最小生成树即可(蒟蒻用的是Prim) 【Code】 var i,j,k,x,y,z,n,m,ans:longint; map:Array[0. 阅读全文
posted @ 2015-07-18 11:41 Vincent_hwh 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题目链接一开始没仔细看题TAT,后来发现“1≤m≤2”。。。这提示我萌什么?我把解法分为m=1和m=2两种情况首先,sum[i,j]为第j列的前缀和,即表示第j列前i行各个数字的和①当m=1 时: 用f[i,j]表示前i个数,取了j个矩阵的最优值 目标状态:f[n,k] 状态转移:f[i... 阅读全文
posted @ 2015-07-15 17:05 Vincent_hwh 阅读(110) 评论(0) 推荐(0) 编辑