
构造
空灰冰魂
=NULL
展开
-
N皇后问题
1. 暴力n 不附代码,暴力dfs,map数组存可选点逐层搜索,暴力出解。2. 对判断优化,判断每行,每列,每个左上至右下的斜线,每个右上至左下的斜线能否选点。 (1,1) (2,1) (1,2) (2,2) 左上到右下的每条线共性:任何线上有全部点(i,j)能有i-j+k(k为任意常数,此处取n为佳)=定值原创 2014-08-21 18:33:12 · 1183 阅读 · 0 评论 -
【POJ1740】A New Stone Game 构造博弈
题意:多组数据,每组数据一个先n,然后给出n堆石子的数目。两人轮流操作,每次可以从某数量为xi的石子堆中扔掉k个石子(k∈[1,xi]),然后剩余xi-k个,可以把g个石子随意分给其他堆(不能凭空建堆出来,g∈(0,xi-k))。题解:首先构造平衡状态:有偶数堆,且可以两两配对。这样可以理解为先手玩一下,后手可以有同样的应对策略。(脑洞开一下就好了,这不是难点少年)原创 2015-01-10 15:17:10 · 977 阅读 · 0 评论 -
【UOJ#26.】【IOI2014】Game 交互题,构造
先给UOJ打个广告。Orz Vfeaking~~~#include int main(){ puts("UOJ网址:UOJ.ac"); puts("本题地址:uoj.ac/problem/26");}题解:两种,都是建立在一个前提下的,就是一个点(或者点集),如果它的出边都问完了之前就可以知道它是否连通了那么显然剩下的出边就没有必要问了。然后这样这些边原创 2015-02-10 09:51:38 · 1966 阅读 · 0 评论 -
【BZOJ1816】【Cqoi2010】扑克牌 二分答案+贪心+构造(证明)
题解:首先如果二分答案,它是满足单调性的。 但关键在于怎么check。我们可以贪心地给二分出的mid分配min()原创 2015-03-24 18:44:30 · 1880 阅读 · 1 评论 -
【BZOJ3613】【Heoi2014】南园满地堆轻絮 构造
题解:我们把所有逆序对点都搞到同一高度。 然后发现答案是距离最远的逆序对搞到一起的代价。代码:#include #include #include #include #define N 5001000#define inf 0x3f3f3f3fusing namespace std;int n,a[N];long long Sa,Sb,Sc,Sd,mod;int原创 2015-03-06 10:43:57 · 1742 阅读 · 0 评论 -
【BZOJ1263】【SCOI2006】整数划分 高精度+构造
题解:一直*3就好了,最后如果剩1,那么把最后一个3变成4,如果剩2,直接乘。代码:#include #include #include #include #define N 5010#define M 100000000using namespace std;struct HP{ int x[N],y; void init(){x[0]=1;}原创 2015-03-24 16:36:10 · 1241 阅读 · 0 评论