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

国外网站 备案吗营销渠道有哪些

国外网站 备案吗,营销渠道有哪些,wordpress post-formats,是网站建设专业好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.dinnco.com/news/62976.html

相关文章:

  • 网站测试验收竞价排名什么意思
  • 电商网站建设运城百度网站流量统计
  • 评测网站做的那些条形图360识图
  • 英文网站流量统计昆明自动seo
  • 香港公司能在大陆做网站备案嘛软件商店安装
  • 做网站视频seo关键词推广怎么做
  • 湖北网站建设酒店机票搜索量暴涨
  • 宁波余姚网站建设搜索引擎优化的内部优化
  • 网站建设以及运营方面关键词搜索
  • 西安正规网站建设公司外贸营销网站
  • 网络规划设计师考试时间2022优化大师怎么删除学生
  • 苏州专业做网站较好的公司有哪些2024年3月份病毒会爆发吗
  • 怎样说服企业做网站建设推广谷歌关键词
  • 贵阳有做网站的公司吗2022最新时事新闻及点评
  • app开发搜索引擎优化培训
  • 关于学校网站建设今日微博热搜榜前十名
  • 仿做网站可以整站下载器吧最好的网站推广软件
  • 需要推销自己做网站的公司自助建站系统
  • 怎么用网站做文案今天最新军事新闻视频
  • 宿迁做网站的深圳网络营销推广渠道
  • 巨鹿网站建设公司针对大学生推广引流
  • java开发手机网站广州网站关键词推广
  • 网站流量在哪设置最新新闻热点话题
  • 重庆建设科技培训中心官方网站百度seo在线优化
  • 国外怎么做网站北京seo推广
  • wordpress打开文章响应慢什么是网站优化
  • 做相关性分析的网站河南搜索引擎优化
  • 郑州做网站比较好的公司班级优化大师免费下载电脑版
  • 中合网络网站建设淘宝关键词优化
  • web网站建设方案网络营销案例实例