T1 网格 显然 n==m时,卡特兰数 n,m<=100时,滚动数组的dp 正解 ans=C(n+m,n)-C(n+m,n+1) 不会证,但是可以类比 cantelan数公式 C(2*n,n)-C(2*n,n-1) #pragma GCC optimize("O2") #include <cstdi ...
分类:
其他好文 时间:
2017-10-01 16:19:05
阅读次数:
244
【BZOJ1806】[Ioi2007]Miners 矿工配餐 Description 现有两个煤矿,每个煤矿都雇用一组矿工。采煤工作很辛苦,所以矿工们需要良好饮食。每当一辆食品车到达煤矿时,矿工们便会产出一定数量的煤。有三种类型的食品车:肉车,鱼车和面包车。 矿工们喜欢变化的食谱。如果提供的食品能够 ...
分类:
其他好文 时间:
2017-09-28 11:38:14
阅读次数:
112
懵逼题,一度推出六维的DP,最后看了题解。。 恍然大悟。。。(需要运用好题目的限制(a[i]>=25 且a[i]<=32))并将相同的a[i]进行压缩,压缩成一个值 因为拿出一本书只有两种可能,(1)放到最前面,(2)放到与它相同编号的书的旁边,那么我们可以就此加上限制,就可以推出状态转移方程式了( ...
分类:
编程语言 时间:
2017-09-28 09:58:43
阅读次数:
170
很多人做动归题的时候总是爆空间。虽然这种问题对于竞赛队里面除了我的各种巨佬完全不是问题(开个滚动数组不就得了?),但是因为我实在是太菜了,所以连滚动数组都不会…… 不过菜鸡虽然菜,还是要继续生存的,所以菜鸡有菜鸡的办法…… 我的灵感来源于计算斐波那契数列的时候: f[i] = f[i-1]+f[i- ...
分类:
编程语言 时间:
2017-09-23 20:28:23
阅读次数:
207
火山喷发 概率题目就放在T1,真的好吗? 废话不说话,先写10分的暴力程序。 正解待补 信息传递 我写的floyd+dp(滚动数组优化空间) 50分 正解是 floyd+dp(矩阵快速幂优化) 待补 任性的国王 看了看题目,觉得30分的裸线段树。 结果成功写挫爆0. 正解待补 思考与总结 哇 再这样 ...
分类:
其他好文 时间:
2017-09-16 13:31:54
阅读次数:
238
给定n个数字,求其中m段的最大值(段与段之间不用连续,但是一段中要连续) 例如:2 5 1 -2 2 3 -1五个数字中选2个,选择1和2 3这两段。 dp[i][j]从前j个数字中选择i段,然后根据第j个数字是否独立成一段,可以写出 状态转移方程:dp[i][j]=max(dp[i][j-1]+n ...
分类:
编程语言 时间:
2017-09-14 00:41:10
阅读次数:
194
2017-09-03 11:39:16 writer:pprp 以很简单的一个动态规划问题为引入: 从左上角到右下角走过的路径和最大,问你最大为多少? 1、可以想到普通的dp 状态转移为: dp[i][j] = max(dp[i-1][j],dp[i][j-1]) + arr[i][j]; 2、采用 ...
分类:
编程语言 时间:
2017-09-03 13:29:22
阅读次数:
308
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1024 题意:给定n个数字,求其中m段的最大值(段与段之间不用连续,但是一段中要连续) 例如:2 5 1 -2 2 3 -1五个数字中选2个,选择1和2 3这两段。 题解:dp[i][j]从前j个数字中选 ...
分类:
编程语言 时间:
2017-09-01 00:54:41
阅读次数:
206
状态转移方程如下: 当i > j时,dp[i,j]= 0。 当i = j时,dp[i,j] = 1。 当i < j并且str[i] == str[j]时,dp[i][j] = dp[i+1][j-1]+2; 当i < j并且str[i] ≠ str[j]时,dp[i][j] = max(dp[i][ ...
分类:
其他好文 时间:
2017-08-29 20:41:37
阅读次数:
150
题目描述 某加工厂有A、B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成。由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工,所完成任务又会不同。某一天,加工厂接到n个产品加工的任务,每个任务的工作量不尽一样。你的任务就是: ...
分类:
其他好文 时间:
2017-08-24 14:58:19
阅读次数:
168