07 2019 档案

摘要:V - Can you answer these queries? HDU - 4027 这个题目开始没什么思路,因为不知道要怎么去区间更新这个开根号。 然后稍微看了一下题解,因为每一个数开根号最多开十几次就变成1了,所以就直接单点更新,但是这个可以剪枝。 如果碰到区间长度和区间大小相同就可以不用更 阅读全文
posted @ 2019-07-31 14:26 EchoZQN 阅读(120) 评论(0) 推荐(0) 编辑
摘要:看直播 Description 小明喜欢看直播,他订阅了很多主播,主播们有固定的直播时间 [Li, Ri] 。 可是他网速只有2M,不能同时播放两个直播,所以同一时间只能看一个直播。 并且他只会去看能完整看完的直播(从开播到停播都能观看)。 他想知道最多能看多长时间的直播呢? 注意 [1, 3] 和 阅读全文
posted @ 2019-07-30 21:55 EchoZQN 阅读(170) 评论(0) 推荐(0) 编辑
摘要:N - 寿司晚宴 HYSBZ - 4197 推荐题解 这个题目我觉得还是很难的,借助题解写出来的,题解还看了很久,现在还是不是很理解。 首先这个数比较大有500,如果直接就像这个题目S - Query on a tree 这样写就超时了,而且也存不下这么大的数。 因为这个500以内的质数太多了,然后 阅读全文
posted @ 2019-07-30 21:14 EchoZQN 阅读(147) 评论(0) 推荐(0) 编辑
摘要:吃零食 桌上有n袋零食,不同的零食会有不同的美味程度wi和腐坏程度di,每种零食在一单位时间内美味程度都会下降di,但是不会降到0以下。 qwb每一单位时间可以吃掉一袋零食。现在qwb想要在吃完所有零食后获得的美味度最大。问最大值是多少? Input 第一行,一个整数n,代表有n袋零食接下来n行,每 阅读全文
posted @ 2019-07-30 10:15 EchoZQN 阅读(149) 评论(0) 推荐(0) 编辑
摘要:K Subsequence 这个题目是这个人想吃东西,但是他每次吃的都是他的美味值都必须不递减,可以吃k次,问这个最大的美味值是多少。 这个是一个比较明显的费用流,建图也很好建,但是呢,这个题目卡spfa费用流,所以要用dij的费用流。 刚刚是第一种方法,第二种方法就是优化,减少很多边来优化这个复杂 阅读全文
posted @ 2019-07-30 09:54 EchoZQN 阅读(199) 评论(0) 推荐(0) 编辑
摘要:S - Query on a tree HDU - 3804 离散化+权值线段树 题目大意:给你一棵树,让你求这棵树上询问的点到根节点直接最大小于等于val的长度。 这个题目和之前写的那个给你一棵树询问这棵树的这个节点到根节点之间的节点权重相乘小于等于k的对数非常像。 之前是不是就是放进去弹出来的操 阅读全文
posted @ 2019-07-29 14:23 EchoZQN 阅读(199) 评论(0) 推荐(0) 编辑
摘要:M - Little Pony and Harmony Chest 怎么感觉自己越来越傻了,都知道状态的定义了还没有推出转移方程。 首先这个a的范围是0~30 这里可以推出 b数组的范围 0~60 原因很简单,因为这个要求abs(b-a)) 尽量小,所以如果b>=60 那还不如用1 ,因为1 的数量 阅读全文
posted @ 2019-07-27 16:56 EchoZQN 阅读(134) 评论(0) 推荐(0) 编辑
摘要:Painful Bases LightOJ - 1021 这个题目一开始看,感觉有点像数位dp,但是因为是最多有16进制,因为限制了每一个数字都不同最多就有16个数。 所以可以用状压dp,看网上题解是 dp[s][r] 表示数字集合为s,对 k 取余为r的方案数。 这个题目首先把给你的字符转化成数字 阅读全文
posted @ 2019-07-27 14:55 EchoZQN 阅读(157) 评论(0) 推荐(0) 编辑
摘要:R - Weak Pair HDU - 5877 离散化+权值线段树 这个题目的初步想法,首先用dfs序建一颗树,然后判断对于每一个节点进行遍历,判断他的子节点和他相乘是不是小于等于k, 这么暴力的算法很自然的超时了。 然后上网搜了一下题解,感觉想的很巧妙。 就是我们要搜 子节点和父节点的乘积小于一 阅读全文
posted @ 2019-07-27 10:47 EchoZQN 阅读(164) 评论(0) 推荐(0) 编辑
摘要:P2766 最长不下降子序列问题 这个题目还是比较简单的,第一问就是LIS 第二问和第三问都是网络流。 第二问要怎么用网络流写呢,首先,每一个只能用一次,所以要拆点。 其次,我们求的是长度为s的不下降序列有多少个, 这个图可能因为我之前写过,所以感觉还是比较简单的。 建图就是dp[i]==1 的时候 阅读全文
posted @ 2019-07-26 22:52 EchoZQN 阅读(213) 评论(0) 推荐(0) 编辑
摘要:P2765 魔术球问题 知识点::最小点覆盖 这个题目要拆点,这个不是因为每一个球只能用一次,而是因为我们要求最小点覆盖,所以要拆点来写。 思路: 首先拆点,然后就是开始建边,因为建边的条件是要求他们可以组成一个平方数,这个平方数最大就是x*x,最小就是x 大致就是这样, 所以去遍历然后建边,最后每 阅读全文
posted @ 2019-07-26 21:56 EchoZQN 阅读(141) 评论(0) 推荐(0) 编辑
摘要:搬东西 现有n个扁担以及一辆货车,扁担一次挑两个货物,货车可以装K个货物,货车只能运送一次货物。 现在qwb要把总共2n+k个货物搬到某个地方。现在qwb想选K个货物让货车先运走,然后剩下的2n个货物由他自己用扁担云过去,但是两个货物重量不均匀的话,会使得qwb感到很难受,每次会造成的疲劳值,wi和 阅读全文
posted @ 2019-07-26 20:37 EchoZQN 阅读(238) 评论(0) 推荐(0) 编辑
摘要:Q - Play With Sequence HDU - 3971 这个题目是一个线段树,比较特别的线段树,就是c询问一定次数之后重新排序建树来优化减低复杂度。 第一次碰到这种题目有点迷。 这个题目写还是很好写的,就是重新排序建树的位置不太好找。 不过可以知道的是,这是更新花费时间和排序花费时间的一 阅读全文
posted @ 2019-07-26 11:55 EchoZQN 阅读(120) 评论(0) 推荐(0) 编辑
摘要:P2774 方格取数问题 这个题目之前写过一次,现在重温还是感觉有点难,可能之前没有理解透彻。 这个题目要求取一定数量的数,并且这些数在方格里面不能相邻,问取完数之后和最大是多少。 这个很好的用了网络流的最大独立集。 根据位置把这些数分成了两个独立集,两个独立集的意思是这两个集合之间有关系,但是集合 阅读全文
posted @ 2019-07-25 22:18 EchoZQN 阅读(114) 评论(0) 推荐(0) 编辑
摘要:Equivalent Prefixes 这个是一个用单调栈的题目,至于为什么可以用单调栈? 把两个数组同时跑单调栈,如果每次进栈最多一个,当然在这个进栈之前肯定会有数出栈, 如果存在一个数进栈了,然后这个时候判断一下进栈的这个数的位置是不是相同,如果不相同就说明肯定是不对的。 为什么说这个时候只要考 阅读全文
posted @ 2019-07-25 20:31 EchoZQN 阅读(115) 评论(0) 推荐(0) 编辑
摘要:E. A Simple Task 这个题目的意思是 给你一个由小写字母组成的字符串,有两种操作 i j k 如果k==1 那么就是就把i 到 j 的这个区间非递减排序。 i j k如果k==2 那么就是把 i 到 j 这个区间非递增排序。 n 有 1e5 q(操作次数) 5e4 这个题目不会写,问别 阅读全文
posted @ 2019-07-25 15:35 EchoZQN 阅读(186) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #575 (Div. 3) 这个div3打的太差了,心态都崩了。 B. Odd Sum Segments B 题我就想了很久,这个题目我是找的奇数的个数,因为奇数想分成x个奇数,那么这个x肯定是一个奇数, 偶数同理,如果一个偶数想分成y个奇数,那么这个y肯定是一个偶 阅读全文
posted @ 2019-07-25 10:19 EchoZQN 阅读(242) 评论(0) 推荐(0) 编辑
摘要:这个是要用bitset 一个大整数的二进制 学习推荐博客 这个题目大意就是:给你n,m 还有一个序列,还有一个一棵树,有一种操作一种询问 操作是给你一个节点 把这个节点及其子节点都加上x 询问是 给你一个节点,问你这个节点以下 小于m的质数有多少种,注意是种,所以要去重,所以需要bitset 这个题 阅读全文
posted @ 2019-07-24 17:01 EchoZQN 阅读(153) 评论(0) 推荐(0) 编辑
摘要:我觉得这两个最小割都还比较难。 第一个题目大意是给你一个网络,这个网络是由城市和中转站组成,终点是0,给你每一条边的流量, 问,从城市到终点最大流流完之后,是否可以增加一条路上的一条边的容量,使得最大流增加。 这个其实很好想到的就是枚举每一个条边,如果这条边增加容量之后可以使得最大流增加,那么就是符 阅读全文
posted @ 2019-07-23 20:49 EchoZQN 阅读(177) 评论(0) 推荐(0) 编辑
摘要:P2764 最小路径覆盖问题 这个题目之前第一次做的时候感觉很难,现在好多了,主要是二分图定理不太记得了,二分图定理 知道这个之后就很好写了,首先我们对每一个点进行拆点,拆完点之后就是跑最大流,求出最大匹配数, 然后就可以求出最小路径覆盖数,这个题目的难点在于求路径,其实很好写,就是用一个数组来写就 阅读全文
posted @ 2019-07-23 15:57 EchoZQN 阅读(207) 评论(0) 推荐(0) 编辑
摘要:P4016 负载平衡问题 这个题目现在第二次做,感觉没有这么简单,可能是我太久没有写这种题目了,基本上都忘记了,所以我连这个是费用流都没有看出来。 有点小伤心,知道是费用流之后,我居然还拆点了。 这个写完之后确实感觉没有那么难,但是写的过程还是很艰辛的,这个为什么是一个费用流呢, 因为我们知道每移动 阅读全文
posted @ 2019-07-23 15:23 EchoZQN 阅读(139) 评论(0) 推荐(0) 编辑
摘要:D. Yet Another Subarray Problem 这个题目很难,我比赛没有想出来,赛后又看了很久别人的代码才理解。 这个题目他们差不多是用一个滑动窗口同时枚举左端点和右端点,具体如下: 首先枚举0~m,这个是说更新的位置,如果是1 当m==3 就更新1 4 7 10... 如果是2,当 阅读全文
posted @ 2019-07-23 11:11 EchoZQN 阅读(628) 评论(0) 推荐(0) 编辑
摘要:J - Super Mario HDU - 4417 这个题目我开始直接暴力,然后就超时了,不知道该怎么做,直接看了题解,这个习惯其实不太好。 不过网上的思路真的很厉害,看完之后有点伤心,感觉自己应该可以写的,但是没有写出来。 因为我们要查找一个区间小于等于c的数有多少个,这种区间处理可以用线段树很 阅读全文
posted @ 2019-07-20 10:30 EchoZQN 阅读(244) 评论(0) 推荐(0) 编辑
摘要:I - Turing Tree HDU - 3333 这个题目求的不是区间种类数,而是求一个区间不同数加和。 这个题目第一次碰到感觉有点难,看了题解,就是首先对这个区间进行离散化,然后对于每一个查询区间对r进行排序。 为什么要对 r 进行排序呢, 笼统的说就是消去前面更新对后面的影响。 举个例子, 阅读全文
posted @ 2019-07-19 11:44 EchoZQN 阅读(266) 评论(0) 推荐(0) 编辑
摘要:E - Tunnel Warfare HDU - 1540 对这个题目的思考:首先我们已经意识到这个是一个线段树,要利用线段树来解决问题,但是怎么解决呢,这个摧毁和重建的操作都很简单,但是这个查询怎么查呢, 这个是不是要判断这一个点左边和右边最远的距离,然后相加起来就可以了,所以就是维护一个区间最左 阅读全文
posted @ 2019-07-18 16:01 EchoZQN 阅读(206) 评论(0) 推荐(0) 编辑
摘要:题目一:E. Infinite Inversions 这个题目没什么思维量,还比较简单,就是离散化要加上每一个值的后面一个值,然后每一个值放进去的不是1 ,而是这个值与下一个点的差值。 因为这个数代表了一堆数,然后每一次的找到了的逆序对都要乘以这个num。 #include <cstdio> #in 阅读全文
posted @ 2019-07-17 21:58 EchoZQN 阅读(139) 评论(0) 推荐(0) 编辑
摘要:小阳的贝壳 如果线段树要维护区间gcd 这个很简单,但是如果有了区间加,维护gcd 就比较麻烦了。 这个首先可以证明的是 gcd(x,y,z)=gcd(x,y-x,z-y) 这个可以推到 n 个 证明过程传送门 这个就和差分扯上关系了 可以看一下差分 差分传送门 上面的这两个博客基本上告诉我们这两个 阅读全文
posted @ 2019-07-17 17:30 EchoZQN 阅读(325) 评论(0) 推荐(0) 编辑
摘要:牛客小白月赛16 这个题目我AC之后看了一下别人的题解,基本上都是线段树,不过二分也可以。 这个题目很自然就肯定要对其中一个进行排序,排完序之后再处理另外一边,另一边记得离散化。 怎么处理呢,你仔细想想,找找规律就可以发现,其实我们就是在找递增子序列。 第一次找到的就是重要程度为1 的妹子,然后删除 阅读全文
posted @ 2019-07-17 14:56 EchoZQN 阅读(116) 评论(0) 推荐(0) 编辑
摘要:Minimum Inversion Number HDU - 1394 求最小反转数,就是求最少的逆序对。 逆序对怎么求,就是先把所有的数都初始化为0,然后按照顺序放入数字,放入数字前查询从这个数往后面的数的位置是不是被占了,被占了说明有逆序对。 #include <stdio.h> #includ 阅读全文
posted @ 2019-07-17 11:32 EchoZQN 阅读(108) 评论(0) 推荐(0) 编辑
摘要:C. Watching Fireworks is Fun 题目大意: 一个城镇有n个区域,从左到右1-n,每个区域之间距离1个单位距离。节日中有m个烟火要放,给定放的地点a[ i ]、时间t[ i ] ,如果你当时在区域x,那么你可以获得b[ i ] - | a[ i ] - x |的happine 阅读全文
posted @ 2019-07-17 10:26 EchoZQN 阅读(169) 评论(0) 推荐(0) 编辑
摘要:B. Queue 这个题目会做的很偶然,突然想到的,因为我们要求离这只海象的最远的比他年轻的海象,这个年轻的海象可以用单调栈维护。 就是从前往后遍历一遍,单调栈里面存年龄从小往大的海象,这个为什么这么存呢,因为如果后面有比这个队列里面更年轻的海象, 那么就可以更新,而且这个更新是正确的,不会有影响, 阅读全文
posted @ 2019-07-16 16:11 EchoZQN 阅读(149) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示