码迷,mamicode.com
首页 >  
搜索关键字:hdu-acm    ( 574个结果
acm_hdu ACM Steps Section2(1.2.1-1.2.8)
1.2.1#include #include #define up 6#define down 4#define stop 5int main(int argc, const char * argv[]){ int n = 0; while (scanf("%d",&n) != EOF)...
分类:其他好文   时间:2015-05-17 18:07:02    阅读次数:90
HDU ACM 3280 Equal Sum Partitions
分析:从前往后递推第一个和sum,然后往后依次划分,当第一次能够划分完,就得到最小的结果了。 #include using namespace std; int a[10005]; int P,M,T,K; void solve() { int sum,cursum,i,j,j2; bool flag; flag=false; for(i=0,j2=0,sum=0;i<M;i++)...
分类:其他好文   时间:2015-05-17 13:47:50    阅读次数:114
HDU ACM 4734 F(x)->数位DP入门练习题
分析:数位DP的入门联系题,通过该題对数位DP有感觉了;dp[len][presum]代表长度为len权值不大于presum的数。记忆化搜索提高效率,除边界(因为边界上算出来的答案在其它数中可能是不完整的)外记录dp[len][presum]的值,下次发现以前计算过就直接return;dfs(len, presum, fg)表示求长度为len,不超过pre的全部符合条件的值。fg是控制边界的。 ...
分类:其他好文   时间:2015-05-14 08:46:33    阅读次数:108
HDU ACM 3282 The Next Permutation->自从了解了STL,做题都省心多了
分析:这题也可以自己写,但是使用STL的函数next_permutation就非常方便了。 #include #include #include using namespace std; int main() { int t,n; char a[100]; cin>>t; while(t--) { cin>>n>>a; if(next_permutation(a,a+str...
分类:其他好文   时间:2015-05-13 23:16:43    阅读次数:114
HDU ACM 4745 Two Rabbits 最长非连续回文子序列
分析:两个不同方向开始跳跃,跳过数字相同,就相当于求回文子序列了。用dp求出从一个位置到另一个位置的最长回文子序列,相当于把[1-n]分成区间[1-x]和[x+1,n],结果就是两区间最长回文串子序列之和。枚举中间点i,求出max(dp[1,i]+dp[i+1,n])即得最终结果,回文非连续序列,从前往后,从后往前序列相同,求出区间内最长回文序列,由于是环,分成两部分,1~i,i+1~n,A可从i...
分类:其他好文   时间:2015-05-13 22:02:01    阅读次数:152
HDU ACM 4044 GeoDefense ->树形DP+分组背包
题意:地图是一个编号为1~n的节点的树,节点1是敌方基地,其他叶节点是我方基地。敌人基地会出来敌人,为了防止敌人攻进我方基地,我们可以选择造塔。每个节点只能造一个塔,节点i有ki种塔供选择,价值和攻击力为price_i, power_i,攻击力power_i是让敌人经过这个节点时让敌人的HP减少power_i点。因此从敌人基地到我方任意一个基地的路径,这条路径上所有塔的攻击力之和,就是这个基地的抵...
分类:其他好文   时间:2015-05-13 19:52:34    阅读次数:309
HDU ACM 4041 Eliminate Witches! 队列和栈模拟DFS
分析:直接模拟即可,这里用队列记录访问过的点,栈记录父节点。另外要注意的是在strlen(str)计算字符串的时候要预先计算出来保存在变量中,for直接用,如果for循环直接调用strlen,那么每次都会重新计算,该題字符串的数据量很大,就会存在大量的无用计算,还导致了一次TLE,唉!以前没注意到这里。 #include #include #include #include using name...
分类:其他好文   时间:2015-05-13 14:51:29    阅读次数:103
HDU ACM 2181 哈密顿绕行世界问题->DFS(深度有限搜索)
分析:DFS即可。 #include using namespace std; bool map[21][21]; bool vis[21]; int ans[21],num,m; void init() { int i,a; memset(map,false,sizeof(map)); for(i=1;i<=20;i++) //构图 { map[i][ci...
分类:其他好文   时间:2015-05-13 14:45:50    阅读次数:139
HDU ACM 4046 Panda 线段树或者树状数组
分析:该題可以用线段树做,也可以用树状数组做;感觉树状数组容易一些,这里就用树状数组了。这里保存字符数组的下标从1开始,树状数组初始化从3开始,因为只有大于等于3使才可能有符合要求的字串出现,最终计算L到R区间的个数时要用getsum(R)-getsum(L+1),因为可能有符合要求的str[L-1],str[L],str[l+1]也被算进去了,实际上他并不在区间L到R内。更新时要注意三种情况,P...
分类:编程语言   时间:2015-05-13 10:42:28    阅读次数:173
HDU-1013-Digital Roots(Java && 大数 && 数根)
Digital Roots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 57047    Accepted Submission(s): 17799 Problem Description The digita...
分类:编程语言   时间:2015-05-12 18:55:33    阅读次数:127
574条   上一页 1 ... 23 24 25 26 27 ... 58 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!