构造
文章平均质量分 61
WA是一笔财富
这个作者很懒,什么都没留下…
展开
-
CodeForces - 841D Leha and another game about graph 构造(dfs + 思维)
传送门:Codeforces 841D题意:给出一个连通图,并给每个点赋一个d值0或1或-1,要求选出一个边的集合,使得所有的点i要么d[i] == -1,要么dgree[i] % 2 == d[i],dgree[i]代表i结点的度数。思路:首先我们考虑一条边都不选的情况,此时所有d[i] == 0的i都满足了题目要求,此时如果有d[i] == 1的点,我们就要加一条边,我们考虑用df原创 2017-08-20 21:48:48 · 1071 阅读 · 0 评论 -
HDU 6150 Vertex Cover 构造
传送门:HDU6150以上来自:点击打开链接想了很久都不明白贪心的做法为什么一定把右边的当做解,重新看了一眼题,发现if (deg[i] >= mx) { mx = deg[i]; u = i; }注意是>=,也就是说,度数相等的情况下选择较大的编号,而我们构造的图中右边的编号又一定大于左边的。。这样做原创 2017-08-20 18:39:36 · 269 阅读 · 0 评论 -
HDU - 4850 Wow! Such String! 构造(字符串上的欧拉回路)
题意:构造一个长度为N的小写字母字符串,要求所有长度大于等于4的子串只能出现一次。不能构造输出“Impossible”。思路:详见:点击打开链接类似的字符串构造题应该也能抽象出类似的模型。代码:#include#define MAXN 26 * 26 * 26#define mod (26 * 26)using namespace std;struct node{ int原创 2017-10-07 17:54:12 · 340 阅读 · 0 评论 -
HDU - 5573 Binary Tree 构造
题意:给出一颗二叉树,根节点为1,子节点为父节点的2倍和2倍+1,从根节点开始依次向下走k层,问如何走能使得将路径上的数进行加减最终结果得到n。思路:来自:点击打开链接做题一定要注意数据范围! n 是真的没想到利用差值去搞事情。。代码:#include#define ll long longusing namespace std;int main(){ int原创 2017-10-14 18:44:59 · 208 阅读 · 0 评论 -
Codeforces 873D. Merge Sort 分治 + 构造
传送门:Codeforces 873D题意:给出一种特殊的归并排序,分治的方法同普通的归并排序一样,只是如果当前待排序的区间已经是有序的,就不会再继续递归了,让你构造一个会调用k次mergesort函数的序列。思路:因为我们上来就会调用一次mergesort函数,并且只要当前待排序区间不是有序的,那么在该层递归里就会调用两次mergesort,因此可以推出总调用次数一定是个奇数。然后我们递原创 2017-10-17 13:03:01 · 542 阅读 · 0 评论