构造
Joey丶sunk
古今成大事者 不惟有超世之才 亦必有坚忍不拔之志
展开
-
CodeForces - 867B Save the problem! 构造
简单构造直接 用 1分 的和 2分的 构造#include#include#include#include#include#includeusing namespace std;const int maxn = 100 + 7;int n;int main() { scanf("%d", &n); printf("%d 2\n", (2*n)-1);原创 2017-10-02 17:46:04 · 581 阅读 · 0 评论 -
Codeforces Round #453 (Div. 2) C - Hashing Trees 构造
特殊同构树,,根据规则,相邻的两层结点 同时大于一个结点就会有差异,输出方案的时候 一种是把所有的结点放到上一层的一个结点上,,另一种是把一个拿出来放到上层的一个结点上,另外的放到上层的另外的结点上#include#include#include#include#include#include#include#include#include#inclu原创 2017-12-20 21:43:20 · 288 阅读 · 0 评论 -
SGU - 449 Dendrograms 并查集+贪心构造
题意:比较难理解,直到我看题解之前,都没能得出明确的题意。总结题意后得到: 给出m个集合,每个集合中的元素必须挨着,因为原题说 首先要保证结构清晰,也就是说集合之间不能有交叉的连线;思路:虽然我没能弄清具体的题意,但是也想到了从最下面对集合进行并查集操作,每个集合保证字典序最小即可,从下往上实现并查集操作可以达到结构清晰的目的,不会出现相交的情况,(其实也会有某个元素同时在多个原创 2017-11-27 13:55:52 · 300 阅读 · 0 评论 -
Codeforces Round #480 (Div. 2) B - Marlin 对称构造
题意:4*n (n为奇数)的矩形格子上面见商店,只能在2*(n-2)的内部建造,使得左上角到右下角和左下角到右上角的“最短路径条数相等”;思路:“最短路径条数相等”,因为只能上下左右移动,所以一个只能往右或下移动,一个只能往右或上移动;我们大致可以想到构造上下对称的局面,使得两个人所 都能经过同样的点;多推一下可以发现有几种情况:m为偶数,直接上下对称两部分m为奇数,可以“一”和“凹”两种情况;#...原创 2018-05-10 07:21:00 · 152 阅读 · 0 评论 -
CodeForces - 976D Degree Set 构造+建图
题意思路待更新;#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<iostream>#include<vector>using namespace std;typedef long long ll;co...原创 2018-05-17 11:56:26 · 218 阅读 · 0 评论 -
HDU - 6301 Distinct Values 思路+优先队列
题意:给定n段区间,要求每段区间内没有重复的数字; 构造这样一个序列,使得序列的字典序最小思路:字典序最小的话我们可以想到 对序列从左往右放数,从1开始放数;然后按n个序列的左值排序,这样我们只需要考虑相邻的两个区间就好,当前区间和上一个区间,这里分为以下情况: 如果当前区间包含在前一个区间,则不用考虑,continue; 如果当前区间跟前一个区间没有交集,...原创 2018-07-24 17:23:18 · 120 阅读 · 0 评论 -
Codeforces Round #501 D. Walking Between Houses 构造
题意:给定n,k,s:有1-n个点可以落脚,开始在1点,然后走k步,是否可以使行走路径长度达到s,可以则输出路径思路:行走的路径没有限制,不超过n就行,所以我们首先检查是否合法如果 (n-1)*k < s 或者 k > s 则不合法然后每次都走 s/k 步就可以了,其实这么说有错误, 若 cnt = s%k > 0 那么就要有cnt次多走一步,这样比较简单...原创 2018-08-08 10:06:26 · 101 阅读 · 0 评论 -
HDU - 5573 B - Binary Tree 15上海 构造+二进制数
题意:给定一颗正常意义上的二叉树,根结点权值为1,左孩子权值是父节点的两倍,右孩子是两倍+1;给定 n 和 k,让你找一条从根结点走到第k层的路径,每经过一个结点,必须加上或者减去其权值,最后得到的结果是n; 思路:我们知道每一个数都可以表示成二进制数,所以二进制位上的01能够组成任何数,注意 题目中说明的 N ≤ 2^K ≤ 2^60 ;没看到,所以这个题开始没做出来,...原创 2018-10-10 18:10:14 · 188 阅读 · 0 评论 -
Codeforces C. Colored Rooks 构造 (Codeforces Round #518 (Div. 2) )
CF: *1700 题意:(真难懂)给定n种颜色的棋子,标号1-n,然后给定m个关系,即这两个棋子是和谐的,可以连通本题连通的意思就是在同一行或者同一列让你给出一种方案,使得:1 每种颜色的棋子都有,2 同种颜色的棋子必须直接连通或者间接联通3 相互和谐的棋子也必须有一个连通关系,不和谐的棋子不能有联通 题意可以理解为:相同颜色的棋子要同行或者同列,m种和谐...原创 2018-11-05 17:52:45 · 244 阅读 · 0 评论