BZOJ1197 [HNOI2006]花仙子的魔法
其实是一道奇怪的DP题,蒟蒻又不会做。。。
看了Vfk的题解才算弄明白是怎么一回事:
令f[i, j]表示i维有j个球时最大切割部分,则
f[i, j] = f[i, j - 1] + f[i - 1, j - 1]
其中第一部分很好理解,就是前j - 1个球的最大个数,然后就是第二部分的理解:
j - 1个球后再加一个球,于是最优的情况就是最后一个球与前j - 1个球都相交
而求面试i - 1维的,相交出来的是i - 2维空间 <=> i - 1维空间用j - 1个i - 2个球划分的最优个数。
证毕。。。
/**************************************************************
Problem:
User: rausen
Language: Pascal
Result: Accepted
Time: ms
Memory: kb
****************************************************************/ var
n, m : longint;
f : array[.., ..] of int64;
cal : array[.., ..] of boolean; procedure pre_work;
var
i, j : longint; begin
for i := to n do begin
f[i, ] := ;
cal[i, ] := true;
end;
for j := to m do begin
f[, j] := * j;
cal[, j] := true;
end;
end; function calc(x, y : longint) : int64;
begin
if cal[x, y] then exit(f[x, y]);
cal[x, y] := true;
f[x, y] := calc(x - , y - ) + calc(x, y - );
exit(f[x, y]);
end; begin
readln(m, n);
fillchar(cal, sizeof(cal), false);
pre_work;
writeln(calc(n, m));
end.
(p.s. 程序是P的不要怪我>.<。。。是以前写的。。。!)
BZOJ1197 [HNOI2006]花仙子的魔法的更多相关文章
- bzoj千题计划183:bzoj1197: [HNOI2006]花仙子的魔法
		http://www.lydsy.com/JudgeOnline/problem.php?id=1197 题意转化:在n维空间中放m个n维球,问最多将空间分成几部分 f[i][j] 表示在i维空间中放 ... 
- 1197: [HNOI2006]花仙子的魔法
		1197: [HNOI2006]花仙子的魔法 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 762 Solved: 443[Submit][Stat ... 
- BZOJ 1197: [HNOI2006]花仙子的魔法【DP】
		Description 相传,在天地初成的远古时代,世界上只有一种叫做“元”的花.接下来,出 现了一位拥有魔法的花仙子,她能给花附加属性,从此,“元”便不断变异,产生了大千世界千奇百怪的各种各样的花. ... 
- 1197: [HNOI2006]花仙子的魔法 - BZOJ
		Description Input 包含两个整数,并用一个空格隔开,第一个整数表示实施魔法的次数m,第二个整数表示空间的维数n.其中,1≤m≤100,1≤n≤15. Output 仅包含一个整数,表示 ... 
- HNOI2006 花仙子的魔法
		题目描述 题解: 考试的时候手画打表,然后半个小时磨了个式子:$$f[i][j]=f[i-1][j-1]+f[i][j-1]$$ 交上去$A$的时候都蒙了. 考后才知道原因. 考虑$n$维空间内原来有 ... 
- BZOJ 1197 [HNOI2006]花仙子的魔法 (数学题)
		题面:洛谷传送门 BZOJ传送门 非常有意思的一道数学题,浓浓的$CF$风,然而我并没有想出来.. 我们想把一个$n$维空间用$n$维球分成尽可能多的块 而新增加一个$n$维球时,肯定要尽可能多地切割 ... 
- BZOJ 1197 花仙子的魔法(递推)
		数学归纳法. dp[i][j]=dp[i][j-1]+dp[i-1][j-1]. # include <cstdio> # include <cstring> # includ ... 
- bzoj AC倒序
		Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ... 
- BZOJ一句话
		一句话题解集合. 1061: [Noi2008]志愿者招募 单纯形,运用对偶原理转化过来,变成标准形然后单纯性裸上即可. #include<cmath> #include<cstdi ... 
随机推荐
- 20145122《Java程序设计》第七周学习总结
			教材学习内容总结 1.在只有Lambda表达式的情况下,参数的类型必须写出来. 2.Lambda表达式本身是中性的,同样的Lambda表达式可用来表示不同目标类型的对象操作. 3.Lambda表达式只 ... 
- 探索Java8:(三)Predicate接口的使用
			上一篇学习了下Function接口的使用,本篇我们学习下另一个实用的函数式接口Predicate. Predicate的源码跟Function的很像,我们可以对比这两个来分析下.直接上Predicat ... 
- 使用libcurl开源库和Duilib做的下载文件并显示进度条的小工具
			转载:http://blog.csdn.net/mfcing/article/details/43603525 转载:http://blog.csdn.net/infoworld/article/de ... 
- updateByPrimaryKeySelective更新失败
			问题:使用Mybatis中Mapper内置方法updateByPrimaryKeySelective更新失败. 发现:控制台打印出来的sql语句发现where条件出现所有属性. 解决:映射的实体类没有 ... 
- MBR主引导扇区解析2
			unsigned AnsiChar data[] = { 0x33, 0xC0, 0x8E, 0xD0, 0xBC, 0x00, 0x7C, 0x8E, 0xC0, 0x8E, 0xD8, 0xBE, ... 
- 一种斐波那契博弈(Fibonacci Nim)
			事实上我也不知道这算是哪个类型的博弈 是在复习$NOIP$初赛的时候看到的一个挺有趣的博弈 所以就写出来分享一下 $upd \ on \ 2018.10.12$忽然发现这个其实就是$Fibonacci ... 
- console.time测试代码块执行时间
			console.time('计时器'); for (var i = 0; i < 1000; i++) { for (var j = 0; j < 1000; j++) {} } cons ... 
- java自学入门心得体会 0.1
			之前记录了java的简介和基本语法 这里记载下对象和类 不太懂的我理解java对象和类的概念很模糊,因为有了 Abstract修饰符 让对象与类更加的扑朔迷离 - - 所以,就像很开放的语言,创建对象 ... 
- hdu 5525 Product 数论算贡献
			Product Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Proble ... 
- ant的原理
			ANT批量完成项目代码的重新编译.打包.测试.java语言编写与平台无关的. Ant工具 Ant是一种基于Java的build工具.理论上来说,它有些类似于(Unix)C中的make ,但没有make ... 
