10 2019 档案

摘要:Description "题面" 有两列火柴,每个火柴有一个高度,定义两列火柴之间的距离为i=1n(aibi)2,其中ai表示第一列火柴中第i个火柴的高度,bi表示第二列火柴中第i个火柴的高度 可以交换一列中任意两根相邻火柴的位置, 阅读全文
posted @ 2019-10-26 10:48 __Liuz 阅读(122) 评论(0) 推荐(0) 编辑
摘要:Description 给你一串长度为n的数,有m个询问,每次询问lr内不相同的数的个数。 Solution 这道题显然不能直接通过线段树维护,考虑记录每一个数前一次出现的位置pos,然后将这个值插入线段树,每次查询l在这个区间内的排名即可(第几小)。这个是比较显然的, 阅读全文
posted @ 2019-10-26 07:54 __Liuz 阅读(147) 评论(0) 推荐(0) 编辑
摘要:Description "题面" 给你一颗有根树,你只能增加一条边的边权,最后需要使得根到每个叶子节点的距离相等 Solution 一道有点贪心意味的DP题,假设一开始根节点到叶子节点的最远距离为d,考虑到只能加边权不能减边权, 显然最终根节点到所有叶子节点的距离d2一定等于$d 阅读全文
posted @ 2019-10-24 15:45 __Liuz 阅读(114) 评论(0) 推荐(0) 编辑
摘要:树的直径 树的直径,是指树上最长的一条链。 求树的直径有两种方法 1.DPd1[u]表示u到达子树中叶子节点的最长链,d2[u]表示u到达子树中叶子节点的次长链,两条链不能有交集,只需要对每个节点做以下更新同时维护最大值最小值即可 这样维护保证了不会出现交集,不用$d2[ev] 阅读全文
posted @ 2019-10-23 16:04 __Liuz 阅读(4041) 评论(0) 推荐(3) 编辑
摘要:四边形不等式 使用范围:区间序列DP求最小值(一定是最小值) 对于动态规划转移方程 其中w(i,j)只受i,j取值影响 如果满足下面两个条件 1.区间单调性:如果对于iiS(i,j 1)\leq S(i,j)\leq S(i,j+1)$ 考试时可以 阅读全文
posted @ 2019-10-23 09:56 __Liuz 阅读(230) 评论(0) 推荐(0) 编辑
摘要:Solutionn100左右时,直接O(n3)区间DPn40000左右时,需要用贪心算法: 加西亚 瓦克斯算法 (Garsia Wachs) 注:这个方法仅求石子合并的最小答案 这是大概的流程 这是关于Garsia Wachs算法的正确性证明: 阅读全文
posted @ 2019-10-23 08:51 __Liuz 阅读(245) 评论(0) 推荐(0) 编辑
摘要:#区间DP题目清单: #状态设计 1.对于这一类问题,一般设计状态为dp[i][j],表示完成ij区间的答案。 2.有一些奇葩的情况,可以这样设计状态:dp[i][j]表示完成j时,左端点为i,右端点为j1 #状态转移 思想是用已经更新的小区间扩展到未被更新的 阅读全文
posted @ 2019-10-22 16:30 __Liuz 阅读(320) 评论(0) 推荐(0) 编辑
摘要:下面这两道题非常相似,我本来以为可以双倍经验,结果看到数据范围就凉了 P3146传送门 P3147传送门 #Description 在一个1n的网格图中,每一个格子有一个权值,相邻两个格子如果权值相同可以合并,权值+1,相当于一维的2048小游戏,只不过合并后权值不是2而是$ 阅读全文
posted @ 2019-10-22 16:26 __Liuz 阅读(139) 评论(0) 推荐(0) 编辑
摘要:Description "题面" n个同学按顺序排成一队,他们都有一个身高Hi,这个顺序称为初始队形 现在按照以下法则重新站队: 对于第一个同学,直接站到新队伍中,队友后面每个同学,假如在初始队伍中他比前面的同学高则站到新队伍最右边,否则站到新队伍最左边(数据保证每个同学身高不同)。所 阅读全文
posted @ 2019-10-22 14:23 __Liuz 阅读(149) 评论(0) 推荐(0) 编辑
摘要:技巧:给你一个数,要求你删去m位使得剩下的数最大 这是一个贪心问题,假设原来的数字是k位,那么相当于要保留km位。 有下面几种贪心策略 1.每次找最大的保留,直到km个,这样显然是错的,因为要求删除后顺序不能改变。 2.找到最大的且最靠前的位置,保留它,再从它后面这样操作 阅读全文
posted @ 2019-10-21 10:49 __Liuz 阅读(225) 评论(0) 推荐(0) 编辑
摘要:Description "题面" 给你一颗树,有两种操作,一种是将一条链都染成一种颜色,一种是询问一条链的 颜色段个数 比如1122211共有三段 Solution 线段树可支持的操作一定有区间可合并性 这道题难点设计三个地方的合并 明显树链剖分,但是线段树怎么维护呢,注意到两个区间合并 阅读全文
posted @ 2019-10-20 20:52 __Liuz 阅读(148) 评论(0) 推荐(0) 编辑
摘要:Description "题面" 给你一颗n个节点带权的树,告诉你有m个军队以及他们驻扎的节点,军队经过一条边的时间是这条边的权值,要求移动军队(所有军队可以同时移动,可以重合),使得每一条从根到叶子结点上都有军队驻扎,根节点不能驻扎军队,叶子结点可以驻扎军队。求完成部署的最短时间是多少 阅读全文
posted @ 2019-10-20 19:55 __Liuz 阅读(125) 评论(0) 推荐(0) 编辑
摘要:我们平常使用的表达式一般为中缀表达式,而且一般只有中缀表达式有括号 表达式树 将中缀表达式转化为表达式树方法:表达式树的树叶是操作数,而其他的节点为操作符, 根节点为优先级最低且靠右的操作符 ,圆括号不包括。 如中缀表达式1+((2+3)4)5转换后的表达式树如下: 已知中缀 阅读全文
posted @ 2019-10-17 15:18 __Liuz 阅读(1224) 评论(0) 推荐(0) 编辑
摘要:我真的菜,调了整整一天,最后还是没调出来心态炸了不想调了。 果然紫题不去看题解还是做不出来啊,但是看题解就在一定程度上失去训练的意义了啊。 调整一下心态,写下这篇博客 Description "题面" 给你一个nm的华容道棋盘,其中有标有0的部分不能移动,其他格子都标为1,在标有$ 阅读全文
posted @ 2019-10-17 11:17 __Liuz 阅读(208) 评论(0) 推荐(0) 编辑
摘要:Description "题面" 给你一张nm的数字表,问其中有多少个上下对称且左右对称的正方形。 Solution 这道题真的恶心,首先学习一下二维哈希,但在学习二维哈希之前,我们先来看一个问题 给你一个长度为n的字符串和Q组询问,每组询问是两个位置和两个长度代表两个子串,问 阅读全文
posted @ 2019-10-15 21:09 __Liuz 阅读(152) 评论(0) 推荐(0) 编辑
摘要:Description "题面" 给你一颗n个节点带权的树以及m条路径端点,你可以将一条边的权值设为0,要求使得操作后m条路径中的最长路径最短 这道题有很多解法,我在复习一种算法后更新一种 Solution1 二分+贪心+LCA+树上差分 这道题显然不是裸的树上差分,但需 阅读全文
posted @ 2019-10-15 11:21 __Liuz 阅读(123) 评论(0) 推荐(0) 编辑
摘要:Description "题面" 给你一张n个节点的树和一个遍历的顺序,必须按照顺序走,求每个点被经过多少次,最后到达的点不计算次数 Solution 树上差分的裸题,只需要做点差分就行了。 对于路径上相邻两点做点差分会发现有的点被统计两次,所以对于第2(n1)个经过的点标记一下 阅读全文
posted @ 2019-10-14 19:49 __Liuz 阅读(138) 评论(0) 推荐(0) 编辑
摘要:前言 众所周知,一些算法和数据结构是很板子化的,如果我们要用需要先记住他(这不废话吗) 2019.10.8 线段树(区间加与区间求和) 注意右子树区间大小为r(mid+1)+1=rmid #include<cstdio> #include<iostream> #include<cstri 阅读全文
posted @ 2019-10-12 14:07 __Liuz 阅读(407) 评论(2) 推荐(0) 编辑
摘要:主要推荐比较好的的专题博客,因为自己没时间再写一遍~~懒得~~,所以之间粘上链接 树状数组 "传送门" 阅读全文
posted @ 2019-10-12 10:42 __Liuz 阅读(97) 评论(0) 推荐(0) 编辑
摘要:Description 有一颗n个节点的树,给你两条路径各自的端点abcd,询问这两条路径是否有公共点 Solution 判断树上两条路径有无公共点:求LCA 若两条路径有公共点,那么到达公共点可以选择顺着链往上走或者往下拐进另一颗子树。 进一步说, 向上走的路只有一条,两 阅读全文
posted @ 2019-10-10 14:24 __Liuz 阅读(132) 评论(1) 推荐(1) 编辑
摘要:Description 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有 无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。 $Input:a 阅读全文
posted @ 2019-10-07 16:05 __Liuz 阅读(157) 评论(2) 推荐(1) 编辑
摘要:Description 给定n,求$1 include include define maxn 10000010 define re register define ll long long using namespace std; inline int read() { int x=0,f 阅读全文
posted @ 2019-10-05 18:22 __Liuz 阅读(140) 评论(0) 推荐(0) 编辑
摘要:今天qbxt的题有人AK,而且用时0.00s,后来发现是自动AC机,你会发现这个自动AC的写法是固定的,哪个题都可以直接交这份代码AC,所以发出来(看看就行了,比赛用你会被禁赛的) 仅供娱乐,请勿用于非法或违规用途 阅读全文
posted @ 2019-10-05 15:18 __Liuz 阅读(516) 评论(0) 推荐(0) 编辑
摘要:今天是2019.10.4,距离csp也就是AFO不远了 鬼知道我为什么拖到今天才写这次清北学堂的游记 准确的说鬼知道我为啥要写游记,而且到现在才写 也许是给未来留点回忆吧 Day4 早上懒床拖到7:26,赶紧吃了昨天买的牛肉粉方便面,吃的我e心,只吃了一半就50了赶紧跑去 阅读全文
posted @ 2019-10-04 19:03 __Liuz 阅读(203) 评论(0) 推荐(1) 编辑

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