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

ppt免费网站wordpress阿里云rds

ppt免费网站,wordpress阿里云rds,自己开店怎么办会员系统,网站后台无法上传图片题义很简单#xff0c;还记得方格取数(1)的时候#xff0c;使用状态压缩写的#xff0c;这里由于行列数太大#xff0c;因此无法进行压缩。所以要运用的最小割最大流的思想来解这道题。 大概是这样分析的#xff0c;题义是要我们求在一个方格内取出N个点#xff0c;使得这…  题义很简单还记得方格取数(1)的时候使用状态压缩写的这里由于行列数太大因此无法进行压缩。所以要运用的最小割最大流的思想来解这道题。   大概是这样分析的题义是要我们求在一个方格内取出N个点使得这N个独立的不相邻点集的和最大。我们可以将问题转化为最小割来求解。首先我们将方格进行黑白相间的染色然后再将任意一种颜色黑色作为源点一种颜色白色作为汇点。我们的算法过程就是一个不断寻找增广路的过程。当我们找到最大流的时也就是此时不存在从黑色到白色的路径也即不存在不相邻的两个方格能够连通了。而此时的最大流就是分割两个区间的最小割拿总合值减去这个最小割就是我们想要得到的结果。   代码如下 #include cstring #include cstdlib #include cstdio #include queue #define RE(x) (x)^1 #define INF 0x3fffffff #define MAXN 50 using namespace std;int N, M, dis[MAXN*MAXN10], head[MAXN*MAXN10], idx, source, sink; int G[MAXN10][MAXN10];int dir[4][2] {0, 1, 1, 0, 0, -1, -1, 0};struct Edge {int v, cap, next; }e[200000];void init() {idx -1;source N*M, sink N*M1;memset(head, 0xff, sizeof (head)); }int to(int x, int y) {return (x-1)*My-1; }void insert(int a, int b, int c) {idx;e[idx].v b, e[idx].cap c;e[idx].next head[a], head[a] idx; }bool judge(int x, int y) {if (x 1 || x N || y 1 || y M) {return false;}else {return true;} }bool bfs() {int u;queueintq;memset(dis, 0xff, sizeof (dis));dis[source] 0;q.push(source);while (!q.empty()) {u q.front();q.pop();for (int i head[u]; i ! -1; i e[i].next) {if (dis[e[i].v] -1 e[i].cap 0) {dis[e[i].v] dis[u] 1;q.push(e[i].v);}}}return dis[sink] ! -1; }int dfs(int u, int flow) {if (u sink) {return flow;}int tf 0, sf;for (int i head[u]; i ! -1; i e[i].next) {if (dis[u]1 dis[e[i].v] e[i].cap 0 (sf dfs(e[i].v, min(flow-tf, e[i].cap)))) {e[i].cap - sf, e[RE(i)].cap sf;tf sf;if (tf flow) {return flow;}}}if (!tf) {dis[u] -1;}return tf; }int Dinic() {int ans 0;while (bfs()) {ans dfs(source, INF);}return ans; }int main() {int sum;while (scanf(%d %d, N, M) 2) {sum 0;init();for (int i 1; i N; i) {for (int j 1; j M; j) {scanf(%d, G[i][j]);sum G[i][j];}}for (int i 1; i N; i) {for (int j 1; j M; j) {if (!((ij)1)) { insert(source, to(i, j), G[i][j]);insert(to(i, j), source, 0);for (int k 0; k 4; k) {int xx idir[k][0], yy jdir[k][1]; if (judge(xx, yy)) {insert(to(i, j), to(xx, yy), G[i][j]);insert(to(xx, yy), to(i, j), 0);}}} else {insert(to(i, j), sink, G[i][j]);insert(sink, to(i, j), 0);}}}printf(%d\n, sum - Dinic());}return 0; }
http://www.yutouwan.com/news/420474/

相关文章:

  • wordpress对网站排名网络营销方式有哪些类型
  • 东莞网站优化排名网站卡地亚手表官方网站查询
  • 重庆公司网站酒店网站建设栏目分析
  • 扬州市城乡建设网站怎么用织梦做购物网站
  • 网站建设的一些问题阿里云能做网站么
  • 万能网站网址下载app制作费用是多少
  • 为什么网站找不到了环保设备东莞网站建设
  • 移动建站模板wordpress获取特定分类文章数
  • 企业网站软件下载网站公司哪家好
  • 织梦网站主页代码在后台怎么改周杰伦做的广告网站
  • 南京公司网站建设简单html网页制作代码
  • 专门做试卷的网站建筑工程网cnas
  • 建设金融网站哪家好威海优化公司立找2火星
  • 仿冒网站制作小白网页制作软件
  • 数据处理网站开发天河建设网站制作
  • 个人网站模板 免费WordPress未设置密码用户
  • 惠州惠城区建设网站物流网络化
  • 北京怎样建网站汕头制作企业网站
  • 百度网站链接提交页面外贸网站如何做推广苏州
  • 联雅网站建设公司殡葬类网站建设
  • 网站备案全国合作拍照点什么是营销型网站
  • 建设的招标网站购物商城网站开发公司
  • 网站怎么开发wordpress 导入 乱码
  • 发布网站的流程付网站建设费用会计分录
  • 商城建站费用怎么做souq网站
  • 门户网站推广渠道wordpress商业版
  • 洛阳网站seo国家建设部投诉网站
  • iis如何添加网站手机网站大全1
  • 网站建设服务器是什么网页美工图片
  • 网站建立项目步骤vps 上怎么做网站