其实是一道奇怪的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]花仙子的魔法的更多相关文章

  1. bzoj千题计划183:bzoj1197: [HNOI2006]花仙子的魔法

    http://www.lydsy.com/JudgeOnline/problem.php?id=1197 题意转化:在n维空间中放m个n维球,问最多将空间分成几部分 f[i][j] 表示在i维空间中放 ...

  2. 1197: [HNOI2006]花仙子的魔法

    1197: [HNOI2006]花仙子的魔法 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 762  Solved: 443[Submit][Stat ...

  3. BZOJ 1197: [HNOI2006]花仙子的魔法【DP】

    Description 相传,在天地初成的远古时代,世界上只有一种叫做“元”的花.接下来,出 现了一位拥有魔法的花仙子,她能给花附加属性,从此,“元”便不断变异,产生了大千世界千奇百怪的各种各样的花. ...

  4. 1197: [HNOI2006]花仙子的魔法 - BZOJ

    Description Input 包含两个整数,并用一个空格隔开,第一个整数表示实施魔法的次数m,第二个整数表示空间的维数n.其中,1≤m≤100,1≤n≤15. Output 仅包含一个整数,表示 ...

  5. HNOI2006 花仙子的魔法

    题目描述 题解: 考试的时候手画打表,然后半个小时磨了个式子:$$f[i][j]=f[i-1][j-1]+f[i][j-1]$$ 交上去$A$的时候都蒙了. 考后才知道原因. 考虑$n$维空间内原来有 ...

  6. BZOJ 1197 [HNOI2006]花仙子的魔法 (数学题)

    题面:洛谷传送门 BZOJ传送门 非常有意思的一道数学题,浓浓的$CF$风,然而我并没有想出来.. 我们想把一个$n$维空间用$n$维球分成尽可能多的块 而新增加一个$n$维球时,肯定要尽可能多地切割 ...

  7. BZOJ 1197 花仙子的魔法(递推)

    数学归纳法. dp[i][j]=dp[i][j-1]+dp[i-1][j-1]. # include <cstdio> # include <cstring> # includ ...

  8. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  9. BZOJ一句话

    一句话题解集合. 1061: [Noi2008]志愿者招募 单纯形,运用对偶原理转化过来,变成标准形然后单纯性裸上即可. #include<cmath> #include<cstdi ...

随机推荐

  1. 本地连接VM virtualBox ubuntu16.04 中的Mysql数据库

    1.打开mysql配置文件vim /etc/mysql/mysql.conf.d/mysqld.cnf     将bind-address = 127.0.0.1注销 2.重启ubuntu数据库 3. ...

  2. Delphi XE5 for Android (七)

    Delphi XE5下,TMainMenu和TPopupMenu不可用,那么如何支持Android的菜单呢? 查看了一些资料,不得要领,只是摸索着先模拟一下吧. 首先在窗体上放置一个TPanel,在其 ...

  3. Python3基础 random 配合while输出10个随机整数

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  4. CSS 常用语法与盒模型分析

    CSS基础知识 CSS规则由两个主要的部分构成:选择器,以及一条或者多条声明 selector { property: value; property: value; ... property: va ...

  5. JavaScript:new function(){}和function(){}()

    继:http://www.cnblogs.com/hongdada/p/3328089.html new function(){} function(){}(): 大概的总结: function(){ ...

  6. mysql-5.7.20-winx64.zip Zip版、解压版MySQL安装

    1.  zip下载地址: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-winx64.zip 2.官方文档位置: http:// ...

  7. left join联查提高执行性能

    本文为博主原创,未经允许不得转载: 在项目应用中,很多功能需要多张数据库表联查,甚至跨数据库查询获取数据.sql的执行性能很能影响 服务的体验感,今天就遇到了这样问题,原来的sql是这样的: sele ...

  8. python学习站点

    1.python 外部扩展网址 http://www.lfd.uci.edu/~gohlke/pythonlibs Python Extension Packages 2.web2py学习 http: ...

  9. hdu 5586 Sum 基础dp

    Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem Desc ...

  10. ubuntu16.04上安装Java

    1.下载jdk8 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选择 ...