Link

  https://jzoj.net/senior/#main/show/2938

Description

  地主某君有一块由2×n个栅格组成的土地,有k个儿子,现在地主快要终老了,要把这些土地分给这些儿子。分给每个儿子的土地最小的单位是一个栅格,同时,分给同一个儿子的土地要求要相邻连续的。地主觉得分给某个儿子的土地面积至少有一个栅格,但是具体多少可以随意。

  请问,聪明的你,能够算出地主一共有多少种分土地的方法吗?也就是说要求把2*n的栅格分成k个连通区域,每个区域至少有一个栅格。

Solution

10~90分

  应该都是正解某些细节没有处理好,或者可以打个递归暴力做一下,可以得到少量的分数

100分

  这道题是道很好的DP题目,准确来说是递推,因为它有许多情况需要讨论。

  我们设f[i,k,0/1]表示你选到第i列,其中分配给k个儿子,第i列两个栅格分配给不同一个儿子为0,反之,为1。

  关键是很难想到转移。

  其中有9种情况,其实应该有12种情况,因为有的,状态一样,但是情况不一样。

  [1]、f[i,k,0]:=f[i,k,0]+f[i-1,k-2.0]

  [2]、f[i,k,0]:=f[i,k,0]+f[i-1,k-2,1]

  [3]、f[i,k,0]:=f[i,k,0]+f[i-1,k-1,1]*2

  [4]、f[i,k,0]:=f[i,k,0]+f[i-1,k-1,0]*2

  [5]、f[i,k,0]:=f[i,k,0]+f[i-1,k,0]

  [6]、f[i,k,1]:=f[i,k,1]+f[i−1,k−1,0]

  [7]、f[i,k,1]:=f[i,k,1]+f[i-1,k-1,1]

  [8]、f[i,k,1]:=f[i,k,1]+f[i-1,k,0]*2

  [9]、f[i,k,1]:=f[i,k,1]+f[i-1,k,1]

  状态怎么来呢?与前一列的状态有关,具体可以分成如下9种。盗用别人的图片

  自己手推一下,非常容易可以的出来,故本题就迎刃而解了。没有想到递推如此强大。

Code

uses math;
const
maxn=;
var
n,m,i,k:longint;
f:array[..,-..,..] of int64;
begin
readln(n,m); f[,,]:=;
f[,,]:=; for i:= to n do
for k:= to min(i*,m) do
begin
f[i,k,]:=(f[i,k,]+f[i-,k-,]+f[i-,k-,]+f[i-,k-,]*+f[i-,k-,]*+f[i-,k,]) mod maxn;
f[i,k,]:=(f[i,k,]+f[i-,k-,]+f[i-,k-,]+f[i-,k,]*+f[i-,k,]) mod maxn;
end; writeln((f[n,m,]+f[n,m,]) mod maxn); writeln(chr());
end.

[jzoj]2938.【NOIP2012模拟8.9】分割田地的更多相关文章

  1. JZOJ【NOIP2012模拟8.9】2020.10.5 T1

    逐个击破 题目 Description 三大战役的平津战场上,傅作义集团在以北平.天津为中心,东起唐山西至张家口的铁路线上摆起子一字长蛇阵,并企图在溃败时从海上南逃或向西逃窜.为了就地歼敌不让其逃走, ...

  2. 洛谷P3145 [USACO16OPEN]分割田地Splitting the Field

    P3145 [USACO16OPEN]分割田地Splitting the Field 题目描述 Farmer John's NN cows (3 \leq N \leq 50,0003≤N≤50,00 ...

  3. JZOJ【NOIP2013模拟联考14】隐藏指令

    JZOJ[NOIP2013模拟联考14]隐藏指令 题目 Description 在d维欧几里得空间中,指令是一个长度为2N的串.串的每一个元素为d个正交基的方向及反方向之一.例如,d = 1时(数轴) ...

  4. 【NOIP2012模拟8.7】JZOJ2020年8月8日提高组T1 奶牛编号

    [NOIP2012模拟8.7]JZOJ2020年8月8日提高组T1 奶牛编号 题目 作为一个神秘的电脑高手,Farmer John 用二进制数字标识他的奶牛. 然而,他有点迷信,标识奶牛用的二进制数字 ...

  5. [jzoj 6092] [GDOI2019模拟2019.3.30] 附耳而至 解题报告 (平面图转对偶图+最小割)

    题目链接: https://jzoj.net/senior/#main/show/6092 题目: 知识点--平面图转对偶图 在求最小割的时候,我们可以把平面图转为对偶图,用最短路来求最小割,这样会比 ...

  6. [jzoj 5664] [GDOI2018Day1模拟4.6] 凫趋雀跃 解题报告(容斥原理)

    interlinkage: https://jzoj.net/senior/#contest/show/2703/3 description: solution: 考虑容斥原理,枚举不合法的走的步数 ...

  7. [jzoj 6101] [GDOI2019模拟2019.4.2] Path 解题报告 (期望)

    题目链接: https://jzoj.net/senior/#main/show/6101 题目: 题解: 设$f_i$表示从节点$i$到节点$n$的期望时间,$f_n=0$ 最优策略就是如果从$i, ...

  8. [jzoj 6093] [GDOI2019模拟2019.3.30] 星辰大海 解题报告 (半平面交)

    题目链接: https://jzoj.net/senior/#contest/show/2686/2 题目: 题解: 说实话这题调试差不多花了我十小时,不过总算借着这道题大概了解了计算几何的基础知识 ...

  9. [jzoj 6080] [GDOI2019模拟2019.3.23] IOer 解题报告 (数学构造)

    题目链接: https://jzoj.net/senior/#main/show/6080 题目: 题意: 给定$n,m,u,v$ 设$t_i=ui+v$ 求$\sum_{k_1+k_2+...+k_ ...

随机推荐

  1. host-only局域网络

    在网桥配置的情况下设置: 网桥配置链接 配置前: 配置后: vi /etc/sysconfig/network-scripts/ifcfg-eth0 这里是使用static静态配置,具体网络配置及声明 ...

  2. 2017-12-19python全栈9期第四天第二节之列表的增删改查之切片

    #!/user/bin/python# -*- coding:utf-8 -*-li = ['zd',[1,3,4,5,6],'ls','ww','zl']l1 = li[0]print(l1)l2 ...

  3. ZooKeeper-配置 zoo.cfg

    官方说明:https://zookeeper.apache.org/doc/r3.4.14/zookeeperAdmin.html#sc_configuration # 通信心跳数,Zookeeper ...

  4. Fiddler--AutoResponder

    AutoResponder支持创建规则,可以在响应请求时自动触发,常见例子是返回之前捕捉的响应,而不需要访问服务器. 通俗点讲,就是它能在不访问服务器的情况下,使发送的请求得到自己设置的响应. 下图是 ...

  5. [物理学与PDEs]第5章第5节 弹性动力学方程组及其数学结构

    5.5.1 线性弹性动力学方程组   1.  线性弹性动力学方程组 $$\beex \bea 0&=\rho_0\cfrac{\p{\bf v}}{\p t}-\Div_x{\bf P}-\r ...

  6. 应用留数定理计算实积分 $\dps{I(x)=\int_{-1}^1\frac{\rd t}{\sqrt{1-t^2}(t-x)}\ (|x|>1,x\in\bbR)}$ [华中师范大学2010年复变函数复试试题]

    应用留数定理计算实积分 $\dps{I(x)=\int_{-1}^1\frac{\rd t}{\sqrt{1-t^2}(t-x)}\ (|x|>1,x\in\bbR)}$ [华中师范大学2010 ...

  7. 你从未听说过的 JavaScript 早期特性

    最近这些年在对 JavaScript 进行考古时,发现网景时代的 JavaScipt 实现,存在一些鲜为人知的特性,我从中挑选几个有趣的说一下. Object.prototype.eval() 方法 ...

  8. 函数语法:currentStyle、getComputedStyle兼容判断

    var oDiv = document.getElementById('aa'); if(oDiv.currentStyle){ var style = oDiv.currentStyle; aler ...

  9. Android获取虚拟软键盘高度

    public static int getDpi(Context context) { int dpi = 0; WindowManager windowManager = (WindowManage ...

  10. CDQ分治求不知道多少维偏序 (持续更新 ]

    求三维偏序的模板 : //Author : 15owzLy1 //luogu3810.cpp //2018 12 25 16:31:58 #include <cstdio> #includ ...