Problem Description
小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只有某些格子才可以放,小希还是很轻松的解决了这个问题(见下图)注意不能放车的地方不影响车的互相攻击。
所以现在Gardon想让小希来解决一个更难的问题,在保证尽量多的“车”的前提下,棋盘里有些格子是可以避开的,也就是说,不在这些格子上放车,也可以保证尽量多的“车”被放下。但是某些格子若不放子,就无法保证放尽量多...
分类:
其他好文 时间:
2015-04-28 18:26:44
阅读次数:
109
棋盘游戏Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2757Accepted Submission(s): 1612Problem Descri...
分类:
编程语言 时间:
2015-04-27 12:43:32
阅读次数:
139
这题有个重要性质:我们设 Flag[i][j] 表示 (i, j) 是否被奇数个操作所覆盖,也就是操作次数对 2 取模。设 x = (n + 1) / 2。那么对于所有的合法的操作方案,令 1 <= i <= x , 1 <= j < x,都有 Flag[i][j] ^ Flag[i][x] ^ F...
分类:
其他好文 时间:
2015-04-12 22:29:56
阅读次数:
169
这题也是简单的模板应用,但是有一点不一样;重要点:如果取消这个点,不能放置尽量多的棋子,比如原来可以放3个,如果不放这个只能放2个,说明它是一个重要点;这题的解题思路就是:先算出最大匹配数,然后把读入的可放置点的坐标依次取消标记,再算一次最大匹配,如果两次匹配结果相等,说明其不是重要点,记录数加1,...
分类:
其他好文 时间:
2015-04-06 12:43:32
阅读次数:
90
~~~
貌似是wyfcyx以前出过的题?
题解:
~~~~~~那个首先暴力的话并不是O(217)O(2^{17}),而是O(217?17)O(2^{17*17})。
~~~~~~然后我们分析怎么过此题。
~~~~~~首先我们发现其实搜索的话,有好几部分都是独立的。
~~~~~~发现所有的方形都经过中间一行,所以我们可以先O(217)O(2...
分类:
其他好文 时间:
2015-04-01 09:34:19
阅读次数:
165
解题思路:
枚举棋盘上所有格子,如果讲该点删除后,最大匹配数会减少,则该点为关键点。
#include
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 100 + 10;
int G[MAXN][MAXN];
int vis[MAXN];
int match[MAX...
分类:
其他好文 时间:
2015-03-30 11:24:10
阅读次数:
106
行列二分匹配。位于重要点的判断,删边后再判断最大匹配是否变小。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; i--)#define N 123...
分类:
其他好文 时间:
2015-03-16 21:11:16
阅读次数:
125
跟撕纸那个一样。一开始就必胜的特判一下。#include#include#include#includeusing namespace std;int T,n,X[1001],Y[1001],SG[101][101];int sg(int x,int y){ if(SG[x][y]!=-1) ret...
分类:
其他好文 时间:
2015-03-14 12:16:43
阅读次数:
209
Problem Description
小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只有某些格子才可以放,小希还是很轻松的解决了这个问题(见下图)注意不能放车的地方不影响车的互相攻击。
所以现在Gardon想让小希来解决一个更难的问题,在保证尽量多的“车”的前提下,棋盘里有些格子是可...
分类:
其他好文 时间:
2015-02-16 19:41:25
阅读次数:
138