自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Perfect Security (01字典树&&删除点)

题意:第一行给你一个n第二行给你n个数字 分别是a[1],a[2]…a[n]。第三行给你n个数字 分别是b[1],b[2]…b[n]。问:第三行的序列可自由排列,要求排列之后的顺序 a[1]b[1],a[2]b[2]…a[n]^b[n]的字典序最小。题解:因为b数组可以自由排列,那么我们把b数组先生成一个字典序。要想字典序最小,那么根据贪心的思想,我们a[1]要与b中的某个数异或后值最小。那么我们再遍历一遍a数组每次找出当前能组合的最小值。因为每次组合后,我们需要删除b中一个元素,那么b

2020-10-30 23:23:32 201

原创 Vitya and Strange Lesson (01字典树)

题意:给定一组数,然后对所有的数进行异或操作m次异或操作,问你每次操作后,没有出现过的最小的非负整数题解:首先需要一个性质(ab)c=a(bc);所以我们没有必要对于所有的数进行异或操作。我们只需要设一个ans=0,每次用输入进来的数于ans进行异或即可。其次,我们把没有出现过的数字加入进字典树,这样的话我们从高位到低位寻找与当前ans按位 比较相同的数字,如果不相同那么我们就给 返回值加上当前位的值。最后返回值极为最小mex。/*Keep on going Never give up*//

2020-10-30 14:08:16 135

原创 奶牛异或(01字典树)

题意:让你找一个连续区间异或和最大,如果有相同的,则输出断点较小的。题解:01字典树,利用前缀和的思想进行求解,我们在插入前缀的同时,也在不断的更新最大值。我们查询当前 二进制字符串与已经插入的 二进制字符串中的哪一个异或和最大?找到最大的那个,读取这个前缀和是到谁结束的,来判断是否要更新/*Keep on going Never give up*///#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>

2020-10-30 00:31:51 217

原创 The XOR Largest Pair(01trie模板题)

题意:给你一堆数,问你从里面跳出来两个数异或和最大。(菜鸡第一次用字典树做题)题解:之前没用过字典树做题,,看了大佬的题解,才知道字典树还有这种妙用。对于二进制,如果我们想让它最大,(一点贪心的小思想)那么最高位的1 我们是要尽量保留的,(再就是保留次高位…)。对此我们建立一颗字01字典树,一条链对应的是一棵树的二进制形式,每次查询一个数字与已经放进去的最大异或值,**如何异或最大,就是在二进制下 与查询的这个数字 每位尽可能不同 **当然前提下是从 最高位到最低位进行遍历(最高位权重大

2020-10-29 21:38:57 117

原创 2020ICPC·小米 网络选拔赛第一场(D. Router Mesh)

题意:模板题,求图中每个割点能把网络分成几个点双连通分量(不是割点就输出他有几块即可)。题解:跟POJ 的SPF很像这题用Tarjan来求,首先我们需要统计出来具体有几个连通块。对于每个连通块,我们需要判断这个割点去掉后,这幅图会被分成几块?这个其实很简单,只需要更改一下判断这个点是否为割点即可。每被判断成一个割点,那么这个割点++。注意特判根节点! 看看它有几个不相连的子树num[]代表的是 从这个点分支出去,有几个不相连的子树到最后的时候要进行num[i]–,是因为他是头节点。

2020-10-27 00:35:22 226

原创 [USACO16JAN]Angry Cows S[二分+贪心]

题意:Bessie 设计了一款新游戏:Angry Cows。在这个游戏中,玩家发射奶牛,每头奶牛落地时引爆一定范围内的干草。游戏的目标是使用一组奶牛引爆所有干草。N 捆干草排列在数轴上的不同位置。第 i 捆干草的的位置为 x[i]。如果一个威力为 R 的奶牛在 x 位置落地,她将引爆 [x−R,x+R] 范围内的所有干草。你现在可以发射 K 头奶牛,每头奶牛的威力都是 R,现在你需要确定 R 的最小值,使得用 K 头奶牛可以引爆所有干草。题解:这种最小值,一般来说就是二分答案了,重点还是在于二分答案

2020-10-10 20:14:34 380

原创 网络优化(中国计量大学现代科技学院第三届“中竞杯”程序设计校赛(网络赛))

题意:《梦三国2》是一款3D MOBA类网游。游戏继承《梦三国》的三国文化背景和基础玩法,并加入许多全新地图和全新竞技玩法。由于人气高,游戏在线人数与日俱增,我们知道当在线人数不断增长的时候,会给服务器带来巨大的压力。已知该游戏***有n名用户,编号从1到n,服务器共有m条服务线,每个用户最多只能登陆一条线,第i条线最多可以容纳v[i]名用户同时在线,且只能给编号在[l[i],r[i]]范围内的用户提供服务。现在希望找出一种合理的资源分配方案,使得同时在线人数最大化,请输出这个最大人数。题意:第一次

2020-10-04 22:16:19 232

原创 链表的基本操作(c++实现)

跟c语言不同点1.结点建立方法与释放方法2.c++类 加入了构造函数和析构函数3.每个函数有略微改动c语言版:https://blog.csdn.net/xxxxxiao123/article/details/104566064/*Keep on going Never give up*//* Author : Vinegar-Tree Lang : C++ Blog : https://blog.csdn.net/xxxxxiao123 Date :2020/

2020-10-04 21:23:10 225 1

原创 CF1132D Stressful Training (binary search)(greedy)

题意:有n台电脑,每台电脑,他的初始电量为a[i],每分钟消耗电量为b[i]你有一个功率为的充电器,每分钟可以使一台电脑电量增加x。问,x至少为多大才能保证在[0,k)的时间内任意一台电脑电量都不为负题解:我们对于这个x进行二分操作。那么这个check函数怎么写呢首先我们想如果保证每天电脑都尽量都有电,那么我们肯定是对 最快没电的那台电脑进行充电(贪心策略),如何找出最快没有电的那台电脑,因为我们需要遍历完1-k 分钟,每次都要找到最快没有电的那台电脑,如何操作呢? 那肯定是优先队列了,我们对优先

2020-10-03 11:23:59 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除