构造
_kikyou-
这个作者很懒,什么都没留下…
展开
-
D. Dogeforces (贪心构造+并查集维护生成树)
传送门 有一个有根树,带点权,最多500个叶节点,满足根到叶子单条链上的点权严格递减 同时告诉了每对叶节点(i,j)的lca的点权,构建一棵符合条件的树。 首先这个题肯定是从叶子节点往上去构建一棵树的过程, 想到可以用并查集来维护,fa[u]就表示u往上走目前到达的点, 我们把(i,j,lca(i,j))三元组按点权升序排序,点权相同则按顶点编号排序。 枚举排好序的三元组,对于(u,v,w),有两种情况。 先求出u v的根节点r1 r2 ,如果小于w 说明u v的lca的点权就是w,n+=1表示新建一个节原创 2021-11-19 21:45:26 · 301 阅读 · 0 评论 -
Codeforces Round #575 (Div. 3) E. Connected Component on a Chessboard (构造)
题目链接 题意:在一个无限大的国际象棋棋盘中,左上角是白色格子, 要求选定一个连通块,包含w个白色格子,b个黑色格子。 (1<=w,b<=1e5) 分析:不妨假设w>b ,那么w最大只能为3b+1。 (因为只有第1个b可以接4个w,以后最多只能接3个w)。 然后就模拟取格子的过程,先取(1,2)处的黑格子。 然后循环 每次取 (x,2)处的白格子 + 右左下的三个黑格子。 直至w==b退出循环。 此时w和b相等,选上一行开始取即可。 #include<bits/stdc++.h&g原创 2021-04-25 23:06:44 · 102 阅读 · 0 评论 -
Codeforces Round #712 (Div. 2) C. Balance the Bits (贪心+构造)
题目链接 题意:给定01串,要求构造2个合法的括号串,同时满足01串中1对应的位置括号相同,0对应的位置括号不同。 (2<=n<=2e5,n为偶数) 分析:如果把左括号看出1,右括号看出-1,那么合法的括号串必须满足: 任意一个前缀和不小于0 整体前缀和等于0 第一个括号是(最后一个括号是) 题目要构造两个符合关联的括号串,我们可以先考虑一个合法的括号串。 然后根据0的位置进行整体的修改得到另一个: 首先串的开头和结尾必须是1 (因为合法串的第一个括号是(最后一个括号是)) 除开头结尾外的原创 2021-04-15 13:23:02 · 106 阅读 · 0 评论 -
What Is It? CodeForces - 1474E (逆向思维+构造)
目录题目链接一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 题目链接 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnin.原创 2021-03-29 23:55:02 · 155 阅读 · 0 评论 -
Sonya and Matrix CodeForces - 1004D (构造)
题目链接 题意:给出一种矩阵,有且只有一个位置是0,其余位置的值是与0的曼哈顿距离。现给你t个数,问这t个数是否能构成一个上述矩阵,若可以,输出矩阵的大小以及0的位置。 分析:由于矩阵是由大小n*m,0的位置(x,y)确定,只要有了这4个参数我们就可以求出除0位置以外的所有的值 。 我们令0在上半个矩阵,(在下半个也是一样的,可以对称过去) 再我们根据这个矩阵里面,当矩阵无限大,每个数的个数就是值*4,(1出现4次,2出现8次,3出现12次…) 可以知道从1开始枚举,最先缺少的数就是0的x坐标。 然后我们原创 2021-03-17 14:57:30 · 95 阅读 · 0 评论