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

国外外贸网站有哪些问题营销推广投放

国外外贸网站有哪些问题,营销推广投放,百度网址怎么输入?,网站建设和网站推广可以同一家做吗1.一笔画 题意 给出 n 行 m 列的点阵,每个点是一个字符: “.” 或 “#” ,其中“#”表示该点是障碍物。 现在小毛的问题是: 他最少要画多少笔才能把点阵里所有的“.”都覆盖完毕(被小毛画到的点就会被覆盖&#xff…

1.一笔画

题意

给出 n 行 m 列的点阵,每个点是一个字符: “.” 或 “#” ,其中“#”表示该点是障碍物。

现在小毛的问题是: 他最少要画多少笔才能把点阵里所有的“.”都覆盖完毕(被小毛画到的点就会被覆盖)。

小毛每次只能在某一行或某一列画,小毛当然想一笔就把某一行或某一列画完,

但很遗憾,在任何时候都不允许小毛画的那一段点阵含有障碍物。

还有一点更奇怪: 已经被画过的点,不能重复被画。

问小毛最少要画多少笔?

0 < n , m ≤ 15 0 < n, m \le15 0<n,m15

2.Selotejp

两个字符的含义交换,数据范围改成 1 ≤ n ≤ 1000 , 1 ≤ m ≤ 10 1≤n≤1000,1≤m≤10 1n10001m10

思路

非常复杂的一道题。

我们发现 n , m n,m n,m中有一个尤其小,那么可以想到对每一行的状态压缩

我们钦定 m m m位状态 s s s,每一位上, 0 0 0 表示填横线或者有障碍物, 1 1 1表示填竖线。如果到了右侧边界,直接转移到下一行第一个,继承这个行状态,表示该行 r r r对下一行 r + 1 r+1 r+1的影响。

考虑一行一行处理,对于 r r r c c c列的格子,分情况考虑怎么画这个格子。

先明确:下文讲提到本位 c c c和上一位(左边) c − 1 c-1 c1,在代码中它们的状态表示为:

int t=(1<<(c-1)),pt=(1<<(c-1-1));//t本位 pt上一位 

障碍物

如果这个格子是一个障碍物,那么状态 s s s上的这一位理应填 0 0 0,需要强制把它修改为 0 0 0,因为不会从这个障碍物伸出一条竖线影响下一行了。之后向下一位转移。

if(a[r][c]=='#')//障碍物 
{if((s&t)==t)f[r][c][s]=dfs(r,c+1,s^t);//去1 else f[r][c][s]=dfs(r,c+1,s);return f[r][c][s];
}

填竖线

如果上一行继承下来的状态,该为 c c c 1 1 1,那么可以直接利用这条现成的竖线;否则需要多加一条竖线,把该位强制修改为 1 1 1,并记得加上 1 1 1

if((s&t)==t)shu=dfs(r,c+1,s);//s的c位是1,利用现有的竖线 
else shu=dfs(r,c+1,s|t)+1;//新建一条竖线 

填横线

如果左边 c − 1 c-1 c1位不是障碍物,且上一位 c − 1 c-1 c1位填了 0 0 0,说明 c c c位左边有一条现成的横线,可以直接利用,并将该位 c c c强制修改为 0 0 0

否则就需要在这一位新开一条横线,并将该位 c c c强制修改为 0 0 0

if(a[r][c-1]=='.'&&!((s&pt)==pt))//上一个不是障碍物,且上一个填了横线 
{if((s&t)==t)heng=dfs(r,c+1,s^t);//原本是竖线 else heng=dfs(r,c+1,s);//本来就是横线 
}
else //上一个是障碍物,要新建一条横线 
{if((s&t)==t)heng=dfs(r,c+1,s^t)+1;else heng=dfs(r,c+1,s)+1;
}

换行、继承等操作,本人使用记忆化搜索。

代码

#include<bits/stdc++.h>
using namespace std;
const int N=16,M=16,inf=0x3f3f3f3f;
int n,m;
char a[N][M];
int f[N][M][1<<M];
int dfs(int r,int c,int s)
{if(r>n)return 0;if(c>m)return dfs(r+1,1,s);//换行,把状态复制到下一行 if(!(f[r][c][s]>=inf))return f[r][c][s];int t=(1<<(c-1)),pt=(1<<(c-1-1));//t本位 pt上一位 if(a[r][c]=='#')//障碍物 {if((s&t)==t)f[r][c][s]=dfs(r,c+1,s^t);//去1 else f[r][c][s]=dfs(r,c+1,s);return f[r][c][s];}//竖 int heng=inf,shu=inf;if((s&t)==t)shu=dfs(r,c+1,s);//s的c位是1,利用现有的竖线 else shu=dfs(r,c+1,s|t)+1;//新建一条竖线 if(a[r][c-1]=='.'&&!((s&pt)==pt))//上一个不是障碍物,且上一个填了横线 {if((s&t)==t)heng=dfs(r,c+1,s^t);//原本是竖线 else heng=dfs(r,c+1,s);//本来就是横线 }else //上一个是障碍物,要新建一条横线 {if((s&t)==t)heng=dfs(r,c+1,s^t)+1;else heng=dfs(r,c+1,s)+1;}f[r][c][s]=min(heng,shu);return f[r][c][s];
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>a[i][j];memset(f,inf,sizeof(f));printf("%d",dfs(1,1,0));return 0;
}

2 2 2题的代码敬请自行修改

http://www.hrbkazy.com/news/46283.html

相关文章:

  • 网站维护企业seo网络优化教程
  • 陕西农产品网站建设石家庄全网seo
  • 优秀设计网站销售网站有哪些
  • 网站内页怎么做301定向西安百度
  • 深圳网站建设制作公司天津外贸seo推广
  • 网站开发h5页面惠州seo网站管理
  • 做网站如何把栏目放到首页凡科网免费建站官网
  • 网站建设与管理好找工作吗惠州seo代理
  • 上海比较好的网站建设公司博客网站登录
  • 网络工程专业毕业生设计百度seo按天计费
  • 网站开发商城1688手机优化助手下载
  • 呼和浩特做网站的公司有哪些武汉整站seo数据上云
  • python网站开发pdf电商推广联盟
  • 南通网站seo陕西网站关键词自然排名优化
  • 博彩网站做维护网站交易平台
  • 做一家网站体验式营销案例
  • 织梦网站如何做伪静态在线的crm系统软件
  • 网站建设应用技术关于软文营销的案例
  • 网站开发方式有上海网站seo诊断
  • 微商城微网站开发富阳网站seo价格
  • 网站建设中静态页面模板百度搜索引擎怎么弄
  • 企业网站哪里可以做seo网站优化服务合同
  • 郑州做网站公司排名佣金高的推广平台
  • 旅游目的地网站建设seo5
  • 广州网站建设 中网科技湖南做网站的公司
  • 上海网站设计开发公司友情链接联盟
  • 松江郑州阳网站建设百度 营销推广怎么收费
  • 金华职院优质校建设网站西安最新消息今天
  • 做网站推荐网站交换链接友情链接的作用
  • 公司网站建设完成通知互联网营销师培训学校