https://www.luogu.org/problem/show?pid=1240
哇很好的一道题目诶;
和那个八皇后很像的,但是八皇后是一年前做的题了;
这个我们搜索就算了,虽然用一些技巧也不是说过不去;
我们dp吧;
但是这个图像我们显然是不可以dp的;
那我们转化一下;

图是从某大佬博客上盗来的…….
http://blog.sina.com.cn/s/blog_3ba6bd850102vxqf.html
因为是横竖关系,所以平移一点影响都没有;
但是你平移成这样,就可以dp了;

f[i,j]:=f[i,j]+f[k,j-1]*(Len[i]-(j-1)) [j-1<=k<=i-1]
方程说明:
1.f[i,j]表示前i列放置j个的方案,且第j个放在第i列上,
2.前面f[k,j-1]个都需要累加上来,举一个说明为什么需要累加:对于前4排放置2个的情况(平移后的),2个即可以放在第一列和第三列,也可以放在第一列和第四列,所以需要把这些分布在不同列的情况累加上来。
3.乘(Len[i]-(j-1))是因为前面k列放了j-1个棋子了,然后每行只能放一个棋子,所以第j个棋子在第i列可以放的情况就是Len[i]-(j-1),len[i]是第i列有多少行,程序中是L[i]

#include<bits/stdc++.h>
using namespace std;
int f[1000][1000];
int l[1000],top;
int n,m,ans;
int main()
{scanf("%d%d",&n,&m);if(m==0){printf("1");return 0;}l[1]=l[2]=1;top=2;while(l[top]<n*2-1){l[top+1]=l[top+2]=l[top]+2;top+=2;}top--;f[0][0]=1;for(int i=1;i<=top;i++)for(int j=1;j<=min(m,l[i]);j++)for(int k=j-1;k<=i-1;k++)f[i][j]=(f[i][j]+f[k][j-1]*(l[i]-j+1))%504;for(int i=1;i<=top;i++)ans=(ans+f[i][m])%504;printf("%d",ans);
}

dp——洛谷P1240 诸侯安置相关推荐

  1. 洛谷 P1240 诸侯安置

    题目描述 很久以前,有一个强大的帝国,它的国土成正方形状,如图所示. 这个国家有若干诸侯.由于这些诸侯都曾立下赫赫战功,国王准备给他们每人一块封地(正方形中的一格).但是,这些诸侯又非常好战,当两个诸 ...

  2. 洛谷P1240 诸侯安置

    传送门 题目描述 很久以前,有一个强大的帝国,它的国土成正方形状,如图所示. 这个国家有若干诸侯.由于这些诸侯都曾立下赫赫战功,国王准备给他们每人一块封地(正方形中的一格).但是,这些诸侯又非常好战, ...

  3. 【洛谷】 P1240 诸侯安置(递推)

    洛谷P1240 诸侯安置 点击此处去OJ 问题描述 很久以前,有一个强大的帝国,它的国土成正方形状(需旋转45°来看),图1所示为n=3时的情况.这个国家有若干诸侯.由于这些诸侯都曾立下赫赫战功,因此 ...

  4. P1240 诸侯安置 [dp]

    P1240 诸侯安置 这道题跟前面的"车的放置"是差不多的.只不过那道题碰巧可以用组合数解决,而这道题只能用dp. 首先要转换这个图,这个图这么奇怪显然无法dp. 我们只需要如第二 ...

  5. 树形DP 洛谷P1272 道路重建

    好久没有更新博客了 But!今天凌晨突然发现spli神竟然不可描述地......本dog受到上亿吨伤害,看来spli神是要向sdfzyhx学习啊!!! 于是今天又开始脑抽地写博客了. P1272 重建 ...

  6. #数位dp#洛谷 4317 花神的数论题

    感谢dalao@小粉兔的帮助 dalao's 博客园,dalao's 洛谷博客 题目 设f[i]f[i]f[i]表示iii转化为二进制后1的个数,求∏i=1nf[i]\prod_{i=1}^nf[i] ...

  7. [二维DP] 洛谷P1736 创意吃鱼法(预处理)

    题目 LP1736 思路 本题作为一道提高+/省选-的题,基本思路是自己想出来的,拿了90,然后有一个小bug一直没发现,拿来标程对比,改了这个bug然后AC,还是很开心的. 首先,借鉴最大正方形的经 ...

  8. 【洛谷 P1240】诸侯安置

    题目描述 很久以前,有一个强大的帝国,它的国土成正方形状,如图所示. 这个国家有若干诸侯.由于这些诸侯都曾立下赫赫战功,国王准备给他们每人一块封地(正方形中的一格).但是,这些诸侯又非常好战,当两个诸 ...

  9. 尼克的任务 dp 洛谷1280

    蒟蒻表示老久没看过dp题目了,,挺水的一道dp题目都没想出来,,, 首先设dp[i]表示从开始到i时间的最大空闲时间,用vector to[x] 表示从x点开始的任务结束时间,cnt[x]表示从x开始 ...

最新文章

  1. 【科普】AI的分类与演进
  2. 在.NET中编辑器在用伪静态后不能正常使用的解决方法
  3. Taro+react开发(79):taro生命周期setstate异步
  4. Thinkphp系统常量
  5. 我的世界基岩版json_(1.8.0.13+)我的世界Minecraft【BE】基岩版 /function 使用教程
  6. JDK开发WebService
  7. 【转】Asp.Net MVC详解Controller之Filter
  8. ISP图像调试工程师——3D和2D降噪(熟悉图像预处理和后处理技术)
  9. axure 浏览器插件_7款超级实用的谷歌浏览器插件
  10. 让选择更具明确性:土方计算方法的选择——方格网or三角网
  11. 【疑难解决】将设备通过Ehome协议接入EasyCVR,级联后视频无法播放如何解决?
  12. 基于html5动画效果毕业论文,动画设计毕业论文15篇
  13. 2019年外卖市场分析:本地外卖创业要注意哪些趋势?
  14. 树莓派智能小车资料整理
  15. 学习linux能做什么?
  16. 如何从github上下载文件并运行
  17. 海关外贸企业大数据风控平台产品应用
  18. oracle数据库审计优点缺点,Oracle数据库安全性:标准数据库审计
  19. python猜单词游戏_python实现猜单词游戏
  20. JSP动态合并单元格

热门文章

  1. 拜读阮一峰JavaScript教程笔记
  2. 【Java核心技术卷】深入理解Java近似数(近似存储)与有效数字、精确度、最大有效位数的概念
  3. javascript 获取网页地址(url)
  4. QT Quick项目简介
  5. 智能物联网系统降低劳动强度和人工成本
  6. 使用铝、金、铜做电极的CCD摄像机
  7. [NOIP赛前冲刺第一期]初赛基础知识归纳
  8. 2020-12-4今日纪实
  9. 互联网数字营销广告管理平台应用
  10. ncut算法分割图像的matlab,Ncut_9 归一化切割和图像分割算法及其论文, 不仅度量了不同分组之间总体不相似性, matlab 269万源代码下载- www.pudn.com...