当前位置: 首页 > news >正文

营销型网站工程windows优化软件哪个好

营销型网站工程,windows优化软件哪个好,深圳电商网站,湖州企业做网站一、题目大意 我们要在N * M的田地里种植玉米#xff0c;有如下限制条件#xff1a; 1、对已经种植了玉米的位置#xff0c;它的四个相邻位置都无法继续种植玉米。 2、题目中有说一些块无论如何#xff0c;都无法种植玉米。 求所有种植玉米的方案数#xff08;不种植也…一、题目大意 我们要在N * M的田地里种植玉米有如下限制条件 1、对已经种植了玉米的位置它的四个相邻位置都无法继续种植玉米。 2、题目中有说一些块无论如何都无法种植玉米。 求所有种植玉米的方案数不种植也是一种方案 二、解题思路 不难看出本题目是铺砖问题我们可以先写一个基于递归解决的Domo。 可以定义数组color[i][j]代表该位置是否起初就无法种植 并定义数组used[i][j]代表该位置是否已经被旁边的块覆盖无法种植。 对于i j 位置判断它如果不能种植就直接计算下一个位置。 如果可以种植则分别尝试种植和不种植两种情况将计算出的方案数求和。 写出递归代码如下 int rec(int i, int j) {if (i n){return 1;}if (j m){return rec(i 1, 0);}if (color[i][j] || used[i][j]){return rec(i, j 1);}int res 0;bool rt false, dn false;if (j 1 m){rt used[i][j 1];}if (i 1 n){dn used[i 1][j];}res rec(i, j 1);used[i][j] true;if (j 1 m){used[i][j 1] true;}if (i 1 n){used[i 1][j] true;}res rec(i, j 1);used[i][j] false;if (j 1 m){used[i][j 1] rt;}if (i 1 n){used[i 1][j] dn;}return res; } 这个递归代码一定是超时的那么接下来考虑如何把它转成DP我们发现这个递归算法是从左上一直算到右下那么对于i j位置其实只需要记录 (rowi1colj)和(rowicolj)的一排元素是否可以种植玉米即可如下图所示。 所以不难看出对于同一个位置且这一排元素确定时算出的方案数也是确定的那么我们就可以从右下角开始一点点边计算边循环到左上角。 在这个计算的过程中和递归一样只需要考虑两点。 第一如果i j位置不能种植玉米则加上i j位置不种植时的下一块的值 crt[ S 去掉第 j 块 ]。 第二如果i j位置能够种植玉米则依次加上i j位置种植和不种植情况时下一块的值dp[S] 和 crt[S 加上第 j 块 和 第 j1 块]如果j1m则不用添加第j1块。 初始化时考虑到最后一块的情况如果它能够种植则是2如果不能则是1那么就可以初始化DP数组上一行的所有元素为1。 可以使用滑动数组求解循环计算每一块之后本次的当前行作为下次计算的下一行即可。 最终输出的答案为上一行的第一个位置。 三、代码 #include iostream using namespace std; const int MAX_M 12; const int MAX_N 12; int dp[2][1 MAX_M]; bool color[MAX_N][MAX_M]; int n, m; void solve() {int *crt dp[0], *next dp[1];fill(crt, crt (1 MAX_M), 1);for (int i n - 1; i 0; i--){for (int j m - 1; j 0; j--){for (int used 0; used (1 m); used){if (color[i][j] || (used j 1)){next[used] crt[used ~(1 j)];}else{int res crt[used];if (j 1 m){res crt[used | (1 (j 1)) | (1 j)];}else{res crt[used | (1 j)];}next[used] res % 100000000;}}swap(next, crt);}}printf(%d\n, crt[0]); } int main() {scanf(%d%d, n, m);int num;for (int i 0; i n; i){for (int j 0; j m; j){scanf(%d, num);color[i][j] num 0;}}solve();return 0; } 四、相关文献 《挑战程序设计竞赛第二版》P196-P198 铺砖问题
http://www.yutouwan.com/news/228632/

相关文章:

  • 长春自主建站模板阿里云怎么做淘宝客网站
  • 做网站需要参考书目书php 网站发布
  • 洪山区建设局网站做智能网站系统下载软件
  • 公司英文网站多少钱河北公司网站建设
  • 网站开发工程师 英文知名品牌vi案例分析
  • 漳州手机网站建设公司哪家好宁波网站公司哪家好
  • 湖州网站建设策划新网站建设ppt
  • 专业的临沂网站优化企业内网搭建要多少钱
  • 陕西省建设厅网站首页郑州西区做网站
  • 建网站和开发网站重庆最大的网络公司
  • 外贸机械网站路由优化大师
  • 苏宁易购网站建设 的定位网站支付怎么做安全吗
  • 网站建设的优势是什么意思网络服务的工具
  • 网络营销上的网站建设流程张家口网站建设电话
  • 白城网站建设哪家好如何制作app图标
  • 外网访问wordpress全站路径设置淘宝网站开发系统
  • 网站管理规定包头 网站建设
  • asp网站连不上数据库无锡网页网站制作公司
  • wordpress调用评论数怎么优化网站源码关键词
  • 有没有如何做网站的书专业的医疗行业网站模板
  • 外贸公司网站开发制作公司网页官网
  • 陕西西安网站建设公司做网站设计的电话
  • 建立网站三大基础wordpress中文乱码
  • 松江九亭网站建设开发一个app有哪些好处
  • 网站建设出现乱码是怎么回事会计培训机构排名
  • 漯河做网站电子商务毕业设计网站建设业务
  • 如何查询网站建立时间网站开发需求分析包括哪些方面
  • 12380网站建设情况网站静态和动态
  • 做网站搭建环境百度联盟一天多少收入
  • 织梦dedecms女性时尚门户网站模板北京外企人力资源服务有限公司