
构造法
文章平均质量分 83
nike0good
这个作者很懒,什么都没留下…
展开
-
Codeforces Round 969 (Div. 1) 题解
题意:给定一棵树,点权为0或1。定义一个叶子的权值为:考虑从根到叶子的这条路径的点权组成的字符串,权值为其中01作为连续子串出现次数减去10作为连续子串出现次数。定义树的价值为:权值非零的叶子个数(不包括root节点1)。现在一些点权变成 ?,博弈的两人分别填充,先手最大化,后手最小化树的价值。求最终树的价值。解法:一条路径计入答案当且仅当叶子和根权值不同。所以只和根和叶子的权值有关。若根的权值确定,则策略显然;若根的权值不确定,一个思路是看叶子节点填过的0和1哪个多,按自己的目标填;实际上当叶子原创 2024-08-31 12:42:46 · 1744 阅读 · 0 评论 -
CF 1583F(Defender of Childhood Dreams-构造)
给一个n≤1000n\le 1000n≤1000个点有向完全图(iii向jjj连边,i<ji<ji<j)求一个合法边染色使得所有长度为kkk的路径存在至少222种颜色。把所有点分成若干大小为kkk的集合,每个集合连同一种颜色边,则其余边必须连除此以外的颜色考虑把所有点按0,⋯ ,n−10,\cdots,n-10,⋯,n−1编号,2个点之间连它们kkk进制下第一个相同的位置#include<bits/stdc++.h> using namespace std;#def原创 2021-10-19 20:41:38 · 218 阅读 · 0 评论 -
hiho #1257(Snake Carpet-贪吃蛇构造题)
构造一个h*w的矩形,它可以分成长度为1,2,..,n的折线( 除前2条外,每条折线的拐角数与它的长度有相同的奇偶性 )注意要按顺序输出折线可以花式构造,比如这种 奇数 1 3 5 3 3 5 5 5 5 偶数 2 2 6 6 4 4 6 6 4 4 6 6 8 8 8 8 8 8 8 8#include <iostream>#include <cmath>#includ原创 2015-12-12 22:24:00 · 796 阅读 · 0 评论 -
BZOJ 4302(Hdu 5301 Buildings-构造)
给一个n*m,但挖去(x,y)的网格,让你分成若干矩形,使得 1.每个矩形至少有一个面在边缘上, 2.最大的矩形的面积最小 求2中最大矩形面积最小值数据加强了,hdu的程序过不去。。先构造, 如果n=m是奇数,(x,y)在正中间,答案为n/2n/2.否则,显然答案至少为(min(n,m)+1)/2(min(n,m)+1)/2 考虑(x,y)周围4个格子中的一个,假设它到边缘的最小距离为tt原创 2015-12-28 12:46:13 · 895 阅读 · 0 评论 -
CF 613C(Necklace-构造法)
给你n (1 ≤ n ≤ 26)种颜色的珠子,每种ai个,你需要把它们全部使用连成环,使其从‘某处’断开后形成的串是回文的,这样的某处尽可能多。求出任意一种方案构造#include <iostream>#include <cmath>#include <algorithm>#include <cstdio>#include <cstring>#include <string>#inclu原创 2016-01-24 16:24:31 · 538 阅读 · 0 评论 -
ICPCCamp 2016 Day1 ftiasch's Contest #4(Around the world-树,构造)
已知一个有n个点(4<=n<=500)连通无向图,边权均为1。点的编号为1,2,...,n1,2,...,n,现在你需要给出一条环(v1,v2,…,vn),满足:v1,v2,...,vnv_1,v_2,...,v_n 是不同的点对2≤i≤n2 \le i \le n ,有dis(vi,vi+1)≤kdis( v_i , v_{i+1} ) \le k #include<cstdio>#inc原创 2016-02-03 01:26:39 · 831 阅读 · 0 评论 -
UVA 716(Commedia dell' arte-三维八数码)
题意:给一个3维八数码(长宽高为n≤100n \le100),问能否恢复原状?考虑2维八数码给一个网上的结论 八数码问题的有解无解的结论: 一个状态表示成一维的形式,求除0之外所有数字的逆序数之和,称为这个状态的逆序。若两个状态的逆序奇偶性相同,则可相互到达,否则不可相互到达。必要性: 现在考虑证明,如果将一个数左右移动,逆序数不变 上下移动 逆序数可能改变−(n−1),−(n−3)原创 2016-02-27 19:06:26 · 816 阅读 · 0 评论 -
GCJ Round 1A 2017 题解
A Alphabet Cake给一个R*C矩阵,里面有大写字母和?(大写字母每个最多出现一次),用矩阵中出现的大写字母填满矩阵,要求每个字母出现的区域都恰为一子矩阵。 直接把每个字母向行延展,后向列延展。#include<bits/stdc++.h>using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i原创 2017-04-16 00:40:45 · 834 阅读 · 0 评论 -
CODE FESTIVAL 2017 qual A
A Snuke’s favorite YAKINIKU#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define ForkD(i,k,n) for(int i=n;i>=k;i--)#def原创 2017-10-11 03:43:06 · 370 阅读 · 0 评论 -
HK 2016(Special Tour-构造)
给1个n*m的矩阵,你需要找一条哈密尔顿回路,使得任意2点间曼哈顿距离为2或3.小数据暴力写插头,连边 大数据,黑白染色,对每种颜色连环,再连成一个大环。//由于构造方法过于复杂,用了网上的另一种讨论:#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(原创 2017-10-30 08:03:19 · 443 阅读 · 0 评论 -
HK 2016(Colourful Graph-构造)
有一幅无向连通图G(n,m),无重边无自环G(n,m),无重边无自环。 You are given two k-colourings s and t. You want to transform from s to t step by step. In each step, each vertex may change its colour to one of its neighbours’原创 2017-10-24 17:28:08 · 458 阅读 · 0 评论 -
BZOJ 3503([Cqoi2014]和谐矩阵-gauss消元)
Description我们称一个由0和1组成的矩阵是和谐的,当且仅当每个元素都有偶数个相邻的1。一个元素相邻的元素包括它本 身,及他上下左右的4个元素(如果存在)。 给定矩阵的行数和列数,请计算并输出一个和谐的矩阵。注意:所有元素为0的矩阵是不允许的。Input输入一行,包含两个空格分隔的整数m和n,分别表示矩阵的行数和列数。Output输出包含m行,每行n个空格分隔整数(0或1),为所求矩阵。原创 2017-11-13 15:54:47 · 485 阅读 · 0 评论 -
2017-2018 ACM-ICPC, NEERC, Northern Subregional Contest(Dividing Marbles-构造)
有一堆n=2d1+2d2+2d3+2d4n=2^{d_1}+2^{d_2}+2^{d_3}+2^{d_4}个石子。现在每次操作都选择一堆,分成两堆,使每堆至少有一颗石子,之后如果场上有相同数量的石子堆,则只保留一堆。问至少几次操作使石子只剩1个。显然可以先将n化成2进制。 如果1的个数不超过3,可以这样 10101 10101->10000 +100 +1 //2步 10000 -> 10原创 2017-11-15 06:10:23 · 1508 阅读 · 4 评论 -
BZOJ 5100([POI2018]Plan metra-构造法)
有一棵n个点的无根树,每条边有一个正整数权值,表示长度,定义两点距离为在树上的最短路径的长度。 已知2到n-1每个点在树上与1和n的距离,请根据这些信息还原出这棵树。 (2<=n<=500000),1<=d<=1000000解法:考虑1-n这条路径,如果上面没有其它点,说明都在一侧,特判。 否则上面至少有1个点,可以先求出1-n的距离=mini(d1,i+di,n)min_i(d_{1,i}+原创 2017-12-27 01:30:15 · 326 阅读 · 0 评论 -
CF 584E(Anton and Ira-构造+贪心)
已知2个排列a,b,交换第i位位与第j位代价=abs(i-j) ,求把排列a变成排列b最小代价及任一合法方案先把第一个排列变成顺序的我们考虑对 ii 最终要移到bib_i ,代价=|i−bi||i-b_i| 最小总代价ans=12∑ni=1|i−bi|ans=\frac1 2 \sum_{i=1}^n|i-b_i|不妨假设这是答案, 那么每个数只能往一个方向挪, 我们从n开始,不断找可以交换原创 2015-10-13 13:17:19 · 1095 阅读 · 0 评论 -
UOJ #134(【UR #9】App 管理器-tarjen+构造)
给一张混合图的无向边定向,使得原图强连通,题目保证有解。显然,如果只有无向边,那么原图必边强连通,故用tarjen走一遍就行。 现在考虑有有向边的情况, 对于一条无向边,把它从图中删除,因为原图强连通,故 - 存在一条路径从u到v - 存在一条路径从v到u 必然满足一条。 若只满足一条,就把边的另一个方向填上。 否则这条边删除不影响答案。#include<bits/stdc++.h>原创 2015-10-05 21:40:50 · 1025 阅读 · 0 评论 -
CF 559B(Equivalent Strings-构造法)
B. Equivalent Stringstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputToday on a lecture about strings Gera原创 2015-07-24 16:57:45 · 915 阅读 · 0 评论 -
CF 323A(Black-and-White Cube-构造法放4w饼)
A. Black-and-White Cubetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a cube of size k × k ×原创 2013-07-05 17:00:08 · 1401 阅读 · 0 评论 -
CF 306D(Polygon-多边形‘推进’oper)
D. Polygontime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputPolycarpus loves convex polygons, especially if a原创 2013-07-25 16:46:11 · 1469 阅读 · 0 评论 -
BZOJ 3101(N皇后-N皇后O(n)构造一组解的方法)
3101: N皇后Time Limit: 10 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 70 Solved: 32[Submit][Status]Descriptionn*n的棋盘,在上面摆下n个皇后,使其两两间不能相互攻击…Input一个数nOutput原创 2014-11-11 08:53:38 · 2807 阅读 · 0 评论 -
BZOJ 3704(昊昊的机油之GRST-维护构造贪心解)
3704: 昊昊的机油之GRSTTime Limit: 10 Sec Memory Limit: 1024 MBSubmit: 47 Solved: 15[Submit][Status]Description昊昊有个好机油,他就是传说中的着力点。现在昊昊获得了一份长度为n的GRST牌(mod 4 意义下),打算作为送给好机油的生日礼物(不是在2月的么)。但是,昊昊深知他原创 2014-11-13 21:57:37 · 1687 阅读 · 0 评论 -
CF 482A(Diverse Permutation-相邻距离不同数为k的1~n全排列构造)
A. Diverse Permutationtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputPermutation p is an ordered set of in原创 2014-10-31 11:42:02 · 2649 阅读 · 0 评论 -
XJTU Summer Holiday Test 1(Brackets in Implications-构造)
B - Brackets in ImplicationsTime Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionImplication is a function of two logical arguments,原创 2015-07-12 16:07:47 · 844 阅读 · 0 评论 -
HDU 5402(Travelling Salesman Problem-构造矩阵对角最长不相交路径)
Travelling Salesman ProblemTime Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 898 Accepted Submission(s): 327Special JudgeProblem Desc原创 2015-08-24 19:45:39 · 1498 阅读 · 0 评论 -
CF 558C(Amr and Chemistry-构造法)
C. Amr and Chemistrytime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputAmr loves Chemistry, and specially doin原创 2015-07-15 17:45:10 · 1504 阅读 · 0 评论 -
HDU 5385(The path-构造最短路树)
The pathTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 724 Accepted Submission(s): 277Special JudgeProblem DescriptionYou have a原创 2015-08-28 20:19:10 · 1892 阅读 · 0 评论 -
CF 573B(Bear and Blocks-匹配最长递增序列)
B. Bear and Blockstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputLimak is a little bear who loves to play.原创 2015-08-30 12:19:51 · 1547 阅读 · 0 评论 -
CF 574E(Bear and Drawing-2*n点阵画树)
E. Bear and Drawingtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputLimak is a little bear who learns to dra原创 2015-08-30 23:52:38 · 1490 阅读 · 0 评论 -
HDU 5301(Buildings-贪心构造)
BuildingsTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2210 Accepted Submission(s): 624Problem DescriptionYour current task i原创 2015-08-16 20:46:04 · 1470 阅读 · 0 评论 -
HDU 5302(Connect the Graph- 构造)
Connect the GraphTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 456 Accepted Submission(s): 144Special JudgeProblem DescriptionO原创 2015-08-17 13:00:02 · 2512 阅读 · 0 评论 -
CH Adera 3(ZZB的数学作业-构造法初讲)
描述把一个正整数M分成P个不超过K的正整数的和,满足分成的数不是N的倍数,并且P也不是N的倍数,求这样的P最小是多少?”输入格式一个测试点不超过10组数据,每行三个整数N、M、K代表一组数据,以EOF结尾。输出格式对于每组数据输出一行,一个整数,即最小的P。样例输入3 11 62 12 47样例输出4-1数据范围与约定对于20%的数据,1原创 2013-03-27 08:04:09 · 2113 阅读 · 0 评论