
其它-构造
Endless_Way
这个作者很懒,什么都没留下…
展开
-
UOJ 225 [UR #15]奥林匹克五子棋
构造。除了一些n=1,m=1,k=1……之类的特殊情况外,我们能够保证的最优解肯定是这样的: OXOXO OXOXO XOXOX XOXOX OXOXO那么k>2肯定都是有解。然后判掉特殊情况,把这种图暴力跑出来输出就好了- -,一些细节要注意好UOJ比赛出这种题真的好吗#include<cstdio> #define N 550 int map[N][N], n, m, k; void原创 2016-08-29 22:48:14 · 670 阅读 · 0 评论 -
UOJ 82 [UR #7]水题生成器
贪心发现n!的约数也就几万个,然后就可以贪心,每次找最大的减,一定能减完。证明:我不会官方题解:http://vfleaking.blog.uoj.ac/blog/219#include<cstdio> #include<algorithm> #define ll long long using namespace std; int prime[9]={0,2,3,5,7,11,13,17,19},原创 2016-10-23 12:23:00 · 400 阅读 · 0 评论 -
51Nod 1737 配对
这种贡献在边上的题的套路就是按边考虑。对于一条边,它的贡献一定不超过它两端子树的大小的较小值。开一个脑洞就会发现我们确实可以构造出这样一个方案。以重心为根,使每一条路径都经过重心即可。由于每一个子树的大小不超过n/2,所以这是一定能构造出来的。#include<cstdio> #include<algorithm> #define N 100005 using namespace std; name原创 2017-03-03 14:57:11 · 399 阅读 · 0 评论 -
UOJ 206 [APIO2016]Gap
构造第一个子任务就从外往内两个两个地确定即可。第二个子任务,发现如果我们类似上面地把每一个数都确定下来,至少也要N/2级别的询问,而询问代价还有一个k,因此不能直接确定所有数字。那就是要忽略一些数字,发现答案的下界是⌈an−a1n⌉\lceil \frac {a_n-a_1}{n} \rceil,因此把a1a_1至a−na-n分成下界个块数,块内就不用管了。只有块之间有贡献。#include "ga原创 2017-05-01 22:05:26 · 417 阅读 · 0 评论 -
BZOJ 4971 [Lydsy1708月赛]记忆中的背包
构造 我觉得这是一道神题,官方题解戳我 主要的想法是先构造出 kkk 个 111,再构造出若干个不小于 ⌈w2⌉⌈w2⌉\lceil \frac {w}{2} \rceil 的数,显然后者最多只能取一个,且取了这一个方案数就会多 (kw−vi)(kw−vi)k \choose w-v_i。 那么只需考虑k=1到k=20的所有情况就能过了。 我不知道为什么k=20是足够的,但它就是够的,感觉...原创 2018-08-24 23:36:02 · 432 阅读 · 2 评论