04 2020 档案

摘要:Description 现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t 阅读全文
posted @ 2020-04-29 22:52 zlc0405 阅读(138) 评论(0) 推荐(0) 编辑
摘要:Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u 阅读全文
posted @ 2020-04-29 22:33 zlc0405 阅读(132) 评论(0) 推荐(0) 编辑
摘要:Given the map of a city, with all the ambulance dispatch centers (救护车派遣中心) and all the pick-up spots marked. You are supposed to write a program to pr 阅读全文
posted @ 2020-04-28 11:46 zlc0405 阅读(256) 评论(0) 推荐(0) 编辑
摘要:在OX轴上给您n个点a1,a2,…,an。现在,要求您在OX轴上找到这样一个整数点x,使得fk(x)最小可能。 函数fk(x)可以用以下方式描述: 形成距离列表d1,d2,…,dn,其中di = | ai-x | (ai和x之间的距离);以降序对列表d进行排序;结果是dk + 1。如果有多个最佳答案 阅读全文
posted @ 2020-04-13 18:36 zlc0405 阅读(401) 评论(0) 推荐(0) 编辑
摘要:忽略了二进制的性质,就是2的幂次可以组合成任何数,所以对每个数可以先贪心的计算出使得这个数比前一个数大的步数,再釜底抽薪把前面的多余的步去掉。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int m 阅读全文
posted @ 2020-04-13 12:29 zlc0405 阅读(359) 评论(0) 推荐(0) 编辑
摘要:你有一个字符串s组成的小写拉丁字母和q查询这个字符串。 回想一下,字符串s的子字符串s[l;r]是字符串slsl+1…sr。例如,“codeforce”的子字符串是“code”、“force”、“f”、“For”,而不是“coder”和“top”。 有两种查询类型: 1 pos c(1≤pos≤|s 阅读全文
posted @ 2020-04-12 20:47 zlc0405 阅读(239) 评论(0) 推荐(0) 编辑
摘要:您将得到一个二进制字符串s(回想一下,如果每个字符都是0或1,那么一个字符串就是二进制的)。 设f(t)为整数t的十进制表示形式,写成二进制形式(可能包含前导零)。例如f (011) = 3, f (00101) = 5, f (00001) = 1, (10) = 2, f(000) = 0和f 阅读全文
posted @ 2020-04-12 20:46 zlc0405 阅读(277) 评论(0) 推荐(0) 编辑
摘要:你在和一个斯拉夫人传说中凶猛的怪物,一个巨大的龙一样的爬行动物,有多个头! 最初,Zmei Gorynich有x个头像。你可以打n种牌。如果你使用第i种类型的打击,你将Gorynich人头的数量减少最小(di,curX), curX是当前人头的数量。但是如果在这次打击之后,Zmei Gorynich 阅读全文
posted @ 2020-04-12 20:43 zlc0405 阅读(206) 评论(0) 推荐(0) 编辑
摘要:简单版本和硬版本之间的惟一区别是数组中的元素数量。 给你一个由n个整数组成的数组。在一个你可以选择任何ai,除以2舍去小数(换句话说,在一个动作你可以设置ai: =⌊ai2⌋)。 你可以用任何ai执行这样的操作任意次数(可能是零次)。 您的任务是计算获得数组中至少k个相等数字所需的最小操作数。 不要 阅读全文
posted @ 2020-04-12 20:37 zlc0405 阅读(167) 评论(0) 推荐(0) 编辑
摘要:题意: 你在玩另一个电脑游戏,现在你必须杀死n个怪物。这些怪物站成一个圈,顺时针从1到n编号。最初,第i个怪物有ai生命值。 你可以射击怪物杀死他们。每次射击只需要一颗子弹,并且使目标怪物的生命值降低1(对其造成1点伤害)。此外,当某个怪物i的生命值变为0或小于0时,它会死亡并爆炸,对下一个怪物造成 阅读全文
posted @ 2020-04-12 20:31 zlc0405 阅读(273) 评论(0) 推荐(0) 编辑
摘要:在集合 S={1,2,⋯,n}S=1,2,⋯,n 中,对于每个正整数 kk ,找出一个大小为 kk 的子集,使得该子集中两两间最大公因数的最大值最小,求这个最小值。 题解: 开一个映射数组,初始化1-N+1的映射都是1,然后从2开始,把1-N范围内每个因数是i的映射改为i,这样遍历一遍可以保证每个数 阅读全文
posted @ 2020-04-12 20:27 zlc0405 阅读(207) 评论(0) 推荐(0) 编辑
摘要:Eugene喜欢使用数组。今天,他需要你的帮助来完成一项具有挑战性的任务。 数组c是数组b的子数组,如果c可以从b中通过从开始删除几个(可能是零或全部)元素和从结束删除几个(可能是零或全部)元素来获得。 如果该数组的每个非空子数组,该子数组的元素的和都是非零,则我们称非空数组为good。例如,数组[ 阅读全文
posted @ 2020-04-12 20:19 zlc0405 阅读(170) 评论(0) 推荐(0) 编辑
摘要:题意: 鲍里斯再一次需要安东的帮助来完成一项任务。这次Anton需要解决以下问题: 有两个长度为n的整数数组a和b。结果发现,数组a只包含集合{−1,0,1}中的元素。 Anton可以执行以下操作序列任意次数: 选择任意一对索引(i,j),使1≤i可以多次选择同一对(i,j)。 把ai加到aj。换句 阅读全文
posted @ 2020-04-12 20:13 zlc0405 阅读(190) 评论(0) 推荐(0) 编辑
摘要:有n个洞穴编号为1~n,洞穴间有通道,形成了一个n-1条边的树, 洞穴的入口即根节点是1。 每个洞穴有x只bugs,并有价值y的金子,全部消灭完一个洞穴的虫子,就可以获得这个洞穴的y个金子. 现在要派m个战士去找金子,从入口进入。每次只有消灭完当前洞穴的所有虫子,才可以选择进入下一个洞穴。 一个战士 阅读全文
posted @ 2020-04-06 20:20 zlc0405 阅读(127) 评论(0) 推荐(0) 编辑
摘要:#include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=1e6+100; int a[maxn]; int c[maxn];//表示分块数组里每个点的信息 int mk[maxn];//用于标 阅读全文
posted @ 2020-04-06 14:39 zlc0405 阅读(219) 评论(0) 推荐(0) 编辑
摘要:题意: 实验室里原先有一台电脑(编号为1),最近绿名DD为又为实验室py了赞助,购置了N-1台电脑,编号为2到N。每台电脑都用网线连接到一台先前安装的电脑上。但是队内大佬担心网速太慢,问他第i台电脑到其他电脑的最大网线长度,但是贪玩的绿名DD沉迷城市天际线忘了计算,请你帮帮他。 题解: nmd太难了 阅读全文
posted @ 2020-04-05 22:44 zlc0405 阅读(186) 评论(0) 推荐(0) 编辑
摘要:俺的第一道树形DP问题,在树形DP上倒下了太多次!只要是带树的题,大概率是树形DP。。。 题意: 有个公司要举行一场晚会。为了让到会的每个人不受他的直接上司约束而能玩得开心,公司领导决定:如果邀请了某个人,那么一定不会再邀请他的直接的上司,但该人的上司的上司,上司的上司的上司……都可以邀请。已知每个 阅读全文
posted @ 2020-04-05 21:48 zlc0405 阅读(131) 评论(0) 推荐(0) 编辑
摘要:题意: 给出N-2个三元组,这些三元组内部顺序都被打乱,同时不同三元组之间的先后顺序也被打乱,请你还原这个序列! 题解: 建图,每个三元组内部两两建边,然后统计每个元素在所有组中的出现次数。 不难发现,只出现过一次的一定是起点或终点。 确定起点之后,遍历起点所连的点,出现两次的是第二个点。 确定前两 阅读全文
posted @ 2020-04-05 11:42 zlc0405 阅读(268) 评论(0) 推荐(0) 编辑
摘要:题意: 给出一张无向图,和每个节点所在的层数,相邻层的节点之间可以通过固定的代价抵达,询问1到N的最短路径。 题解: 暴力建图肯定会爆栈,考虑拆点,每个层拆出一个中间点,所在层对应的中间点向每个点建单向边,每个点向上下相邻层的中间点建双向边。 #include<cstdio> #include<al 阅读全文
posted @ 2020-04-04 17:01 zlc0405 阅读(127) 评论(0) 推荐(0) 编辑
摘要:题意: 两个长度为M的序列a和b,要求里面每个数字都在1和N之间,同时a数组不递减,b数组不递增,并且对于所有元素,a(i)<b(i),询问有多少种这样的ab序列,结果对1e9+7取模 题解: 翻转b序列,并与a序列合并,就是一个长度为2*M的严格不递减的序列,问题转化为求这个序列有多少种。 开一个 阅读全文
posted @ 2020-04-03 14:46 zlc0405 阅读(151) 评论(0) 推荐(0) 编辑
摘要:题意: 一个序列的MEX值定义为这个序列里最小的没有出现的非负数。 给出q和x,q表示询问数,每次询问插入一个数,x表示你可以对序列中任何一个数做无限次+x和-x的操作,使得当前序列的MEX最大 请输出每次询问后序列MEX的最大值 题解: 定义一个map保存可以通过操作达到当前值的数的个数 除x的余 阅读全文
posted @ 2020-04-03 14:19 zlc0405 阅读(127) 评论(0) 推荐(0) 编辑
摘要:题意: 给出两个串s和t,每次操作可以选择s中的一个子序列拼到z串后,z串一开始是空的,询问至少操作几次可以使得z串变成t串 题解: 预处理思维题,我太菜了,这都不会做... 定义一个二维数组nxt,表示s中第i-1个字符后面要跟第j个字母的话,应该去哪个位置(比较难懂...) 然后先初始化所有边界 阅读全文
posted @ 2020-04-03 14:00 zlc0405 阅读(177) 评论(0) 推荐(0) 编辑
摘要:题意: 给出一个N*M的矩阵,一开始在矩阵内有k个chip,位置给出! 一次操作,Patya 可以把所有chip都向同一方向移动一步! 如果chip到了边界,那么chip就保持原地不动! 几个chip可以占据一个格子! 对于每个chip,Petya选择一个它应该访问的位置,但不一定是最后访问的! 你 阅读全文
posted @ 2020-04-03 12:55 zlc0405 阅读(129) 评论(0) 推荐(0) 编辑