强烈建议阅读一下最小割模型在信息学竞赛中的应用
其中2.2.2的Optimal Marks一题和此题建模非常相像。
在原图外围虚拟一圈‘D’,我们要最大化的周长,就可以等价为最大化相邻的'D'和'.' 的总对数,也就是最大化相邻格子不同类型的总对数。
按照论文中的建图方式,我们可以最小化相邻格子不同类型,
反过来想,稍微改变一下建图,就可以最小化相邻格子相同类型
建图:
将地图奇偶建图...
分类:
其他好文 时间:
2014-07-22 22:39:35
阅读次数:
244
题目大意:在一个N * M的格子中,放有一些糖,这些糖有的会损害健康,有的对健康有益。有损害的被记为负数,有益的会记为正数。另外,对于每一个糖而言,他都比左边的糖和上面的糖更健康。 现在我要在在N*M这个矩阵中找到一个子矩阵,使得所有糖的有益值加起来最大。 题目已经是简化了的。糖果按照左上最小,右下...
分类:
其他好文 时间:
2014-07-21 11:13:08
阅读次数:
204
UVA 1386 - Cellular Automaton
题目链接
题意:给定一个n格的环,现在有个距离d,每次变化把环和他周围距离d以内的格子相加,结果mod m,问经过k次变换之后,环上的各个数字
思路:矩阵很好想,每个位置对应周围几个位置为1,其余位置为0,但是这个矩阵有500,有点大,直接n^3去求矩阵不太合适,然后观察发现这个矩阵是个循环矩阵,循环矩阵相乘的话,只需要...
分类:
其他好文 时间:
2014-07-20 23:16:53
阅读次数:
247
题意:一自行车的轮子被分成5个扇区,涂了5种不同颜色。自行车每1秒要么骑到下一个格子,要么左转或者右转90。。一开始自行车面向北,颜色为绿,到达目标格时,必须触底颜色为绿,但朝向无限制。求到达目标格的最短时间。思路:可以朝3个方向搜索,多了一种颜色状态,每个结点有四个值需要保存,坐标x,坐标y,朝向...
分类:
其他好文 时间:
2014-07-19 09:18:55
阅读次数:
235
题意:给一个只有三行的方块阵(横向最多100个),然后p,q,r分别代表第1,2,3层的方格数,两人轮流去掉一个格子,此时这个格子的右上方都会被去掉,面临只剩最左下角的一个格子的状态的人输,问先手能否赢,要赢得话应该取哪个方格。解法:记忆化搜索,设dp[p][q][r]表示第1,2,3层方格数分别为...
分类:
其他好文 时间:
2014-07-18 23:38:40
阅读次数:
369
题目地址:HDU 3046
最小割第一发!其实也没什么发不发的。。。最小割==最大流。。
入门题,但是第一次入手最小割连入门题都完全没思路。。。sad。。对最小割的本质还是了解的不太清楚。。
这题就是对每两个相邻的格子的边界都要进行加边,然后求最大流就OK了。
RE了好长时间,注意遍历加边的时候要从1开始,而不是0开始,因为0是源点的。。。(也许只有我才犯这种错误吧。。。)建图不多说了。。...
分类:
其他好文 时间:
2014-07-18 21:31:05
阅读次数:
235
点击打开链接
题目:在一个N * M 的矩阵草原上,分布着羊和狼,每个格子只能存在0或1只动物。现在要用栅栏将所有的狼和羊分开,问怎么放,栅栏数放的最少,求出个数?
解析:将狼群看作一个集合,羊群看作一个集合。然后设置源点和汇点,将两点至存在动物的点的距离赋值为1,构图,由于求得是栅栏数,从存在动物的位置向四周发散点赋值为1,即该方向放置一个栅栏。然后可以发现变成了求最小割,即求出最大流。...
分类:
其他好文 时间:
2014-07-18 15:10:40
阅读次数:
302
题意:给你一个棋盘,上面的字母代表机器人要走的方向。如果机器人能走出这个棋盘,则输出机器人所走的步数,否则输出该机器人在走向无限循环前所走的步数,及无限循环所要走的格子数
思路:直接模拟,没有思路(大神可以多考虑些思路)
AC代码:
#include
#include
char str[12][12];
int flag[12][12];
int r,c,s,sum,loop;
void ...
分类:
其他好文 时间:
2014-07-18 12:23:10
阅读次数:
223
题目链接:点击打开链接
给定n*m 的矩阵 常数k
下面一个n*m的矩阵,每个位置由 0-9的一个整数表示
问:
从最后一行开始向上走到第一行使得路径上的和 % (k+1) == 0
每个格子只能向↖或↗走一步
求:最大的路径和
最后一行的哪个位置作为起点
从下到上的路径
思路:
简单dp
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2014-07-17 20:15:08
阅读次数:
283
一个小岛,表示为一个N×N的方格,从(0,0)到(N-1, N-1),一个人站在岛上,位置(x, y),他可以上下左右走,一步一个格子,他选择上下左右的可能性是一样的。当他走出小岛,就意味着死亡。假设他要走n步,请问他死亡的概率有多大?请写出求解代码。
分析
遇到这样的问题,就试着走几步好了。当一个人在(x,y)的时候,假设他此时,死亡的概率为p(x,y,n),然后,他有四种选择,而且...
分类:
其他好文 时间:
2014-07-17 19:19:22
阅读次数:
253