2020年暑假集训
文章平均质量分 50
_记念_
这个作者很懒,什么都没留下…
展开
-
Alice’s Stamps(HDU - 6249)
感受 变菜了,居然没有想出来变菜了,居然没有想出来变菜了,居然没有想出来 思路 n3暴力Dp应该很容易想的,这里不再赘述n^3暴力Dp应该很容易想的,这里不再赘述n3暴力Dp应该很容易想的,这里不再赘述 设f[i][j]为前i张邮票使用不超过j个集合获得的最大种类数设f[i][j]为前i张邮票使用不超过j个集合获得的最大种类数设f[i][j]为前i张邮票使用不超过j个集合获得的最大种类数 状态转移分析:状态转移分析:状态转移分析: f[i][j]如何由f[1..i−1][]更新呢?f[i][j]如何由f[1原创 2020-10-14 13:34:55 · 91 阅读 · 0 评论 -
树的距离(dfs序+主席树)
题目链接 感受 主席树模板题,确实简单,但比那个第k大模板稍微难一点主席树模板题,确实简单,但比那个第k大模板稍微难一点主席树模板题,确实简单,但比那个第k大模板稍微难一点 思路 该问题就转化为某个子树中,子节点到该子树根节点的距离>=k的距离和该问题就转化为某个子树中,子节点到该子树根节点的距离\\>=k的距离和该问题就转化为某个子树中,子节点到该子树根节点的距离>=k的距离和 由于子树有很多,于是对于距离我们可以进行一下转化。由于子树有很多,于是对于距离我们可以进行一下转化。由于子树有原创 2020-08-25 17:06:26 · 196 阅读 · 0 评论 -
D. Boboniu Chats with Du(Codeforces Round #664 (Div. 2) )
感受 怎么这么傻逼的题目,我现场A不了呢?看来还有不少提升的空间怎么这么傻逼的题目,我现场A不了呢?看来还有不少提升的空间怎么这么傻逼的题目,我现场A不了呢?看来还有不少提升的空间 题意 简单来说,给你n天,每一天都有一个fun值,如果该值大于m,则选择该天,然后后d天不能选择。否则,不影响,问最优情况下可以获得的最大fun之和简单来说,给你n天,每一天都有一个fun值,如果该值大于m,\\则选择该天,然后后d天不能选择。否则,不影响,问最优情况下\\可以获得的最大fun之和简单来说,给你n天,每一天都有一原创 2020-08-13 09:43:40 · 136 阅读 · 0 评论 -
2020杭电多校 Game
题目链接 题意 在二维坐标上,有n个点,起点固定,双方轮流选择一个未被经过的点,且要保证距离严格递增,问谁会win?在二维坐标上,有n个点,起点固定,双方轮流选择一个\\未被经过的点,且要保证距离严格递增,问谁会win?在二维坐标上,有n个点,起点固定,双方轮流选择一个未被经过的点,且要保证距离严格递增,问谁会win? 思路 比赛时想破头皮都不知道要怎么处理,一直想把它转化成Nim游戏,可惜失败了!比赛时想破头皮都不知道要怎么处理,一直想把它转化成Nim\\游戏,可惜失败了!比赛时想破头皮都不知道要怎么处理原创 2020-08-12 14:45:27 · 114 阅读 · 0 评论 -
POJ 1704 Nim游戏的思考与证明
证明 看了白书的证明,感觉有些地方讲得可能不清楚。现在写博客来记录一下,方便以后查阅。看了白书的证明,感觉有些地方讲得可能不清楚。现在写博客来\\记录一下,方便以后查阅。看了白书的证明,感觉有些地方讲得可能不清楚。现在写博客来记录一下,方便以后查阅。 证明:该游戏的胜负状态和所构成的Nim的胜负状态一致首先,假设先手是赢家,那么就按照正常的取石子方法,(1)如果后手也是按照正常的取石子方法(也就是说不断左移右端点)很显然,后手会面临无法继续左移右端点,因此要左移,只要先手保证右移的格子数与后手一样,那么Ni原创 2020-08-07 20:27:56 · 88 阅读 · 0 评论 -
2020杭电多校第5场 1012Set1
感受 平时比赛使用组合数求解比较少,所以一直比较恐惧那部分说不想考什么,它就来什么!平时比赛使用组合数求解比较少,所以一直比较恐惧那部分\\说不想考什么,它就来什么!平时比赛使用组合数求解比较少,所以一直比较恐惧那部分说不想考什么,它就来什么! 题意 思路 显然,小与等于n/2(下取整)的概率必为0显然,小与等于n/2(下取整)的概率必为0显然,小与等于n/2(下取整)的概率必为0 ...原创 2020-08-05 09:42:51 · 134 阅读 · 0 评论 -
2020牛客多校第七场 Dividing
题意 给出(n,k)是A的要求,问n属于1到N以及k属于1到K中有多少种组合?给出(n,k)是A的要求,问n属于1到N以及k属于1到K中\\有多少种组合?给出(n,k)是A的要求,问n属于1到N以及k属于1到K中有多少种组合? 思路 思路是队友想出来的,现在回头看这题,确实也是比较显然的对于每一个k,我们考虑由这个k可以拓展的所有组合(1,k)−>(1+k,k)−>(1+2k,k)...−>(1+xk,k)其中x为非负整数(1,k)−>(k,k)−>(加法)−>(2k,k原创 2020-08-01 20:55:56 · 1533 阅读 · 3 评论 -
2020牛客多校第七场 Mask Allocation
题意 分解n∗m,使得满足两个条件:(1)分解的数中可以组合成n组,每组的值为m(2)分解的数中可以组合成m组,每组的值为n分解n*m,使得满足两个条件:\\(1)分解的数中可以组合成n组,每组的值为m\\(2)分解的数中可以组合成m组,每组的值为n分解n∗m,使得满足两个条件:(1)分解的数中可以组合成n组,每组的值为m(2)分解的数中可以组合成m组,每组的值为n 要使得分解的个数少,若相同输出字典序最大的一种方案要使得分解的个数少,若相同输出字典序最大的一种方案要使得分解的个数少,若相同输出字典序最大的原创 2020-08-01 20:12:04 · 154 阅读 · 0 评论 -
HDU6789 Fight【2020 年百度之星·程序设计大赛 - 初赛三】
题意 中文题面 思路 方便起见,把xyz排序,其实不排序也可以。 枚举x与y以及x与z的攻击次数,那么y与z的攻击次数便可O(1)求出,因此复杂度就是O(1e6) AC代码原创 2020-07-27 09:37:25 · 264 阅读 · 0 评论 -
HDU 6787 Chess 【2020 年百度之星·程序设计大赛 - 初赛三】
题意 中文题: 题面 思路 dp[i][j][k]表示截止到第i个时,已经使用j个,且到i已经连续k个dp[i][j][k] 表示截止到第i个时,已经使用j个,且到i已经连续k个dp[i][j][k]表示截止到第i个时,已经使用j个,且到i已经连续k个 已知dp[i−1][][]的所有状态,增加第i个元素时,dp[i][j][0]=dp[i][j][k](其中k属于0到10且dp[i−1][j][k]状态有效)dp[i][j][k]=dp[i−1][j−1][k−1]∗(i−1)已知dp[i-1][][]的原创 2020-07-26 23:29:30 · 120 阅读 · 0 评论 -
牛客多校第五场 Drop Voicing(非常详细的证明,小白都可以看懂)
题意 思路 数组位置 1 2 3 4 5 6 元素值 z - - w x y 首先给出结论:对于第i个位置,插入到任意位置所需要的次数为1 证明: 考虑第n个位置,如图所示n=6 y如何插入到w与x之间 操作1:xz–wy 操作2:z–wyx y如何插入到-与w之间 操作1:xz–wy | wxz–y 操作2:z-ywx 以此类推,就可以让第n个位置插入到任意位置 那我们如何证明对于任意i呢? 首先通过操作1,把第1…i位置全部移动到后面, 即a[i+1], a[原创 2020-07-25 20:18:54 · 267 阅读 · 0 评论 -
多校第二场 String Distance(DP)
题意 给两个串A(1…n)和B(1…m),其中n<=1e5,m<=20。多组询问,每一次询问给一组(l,r)值,问至少经过多少次增减操作使得A(l…r)与B(1…m)相同。 思路 难点一:增操作没有必要 考虑最终相等的串,再考虑某一个位置,如果该位置对应的A串和B串字符均是添加进去的,我们可以更优地去除这个位置的字符,从而使答案更优;如果该位置对应的其中一个串的字符是添加进去的,另外一个没有操作,那么我们可以把这个添加操作改为删除操作。因此,增操作均可以由删操作替代 难点二:ans = |r-原创 2020-07-25 09:28:12 · 179 阅读 · 0 评论 -
多校第三场 Operating on a Graph
题意 给你n个点,对于点i,其属于i-group。q次操作,对于每一次操作,给出一个值o,如果o-group不存在,则不执行任何操作,否则,则把o-group周围相邻的i-group吞并使其成为o-group。问经过q次操作,每一个点所在的group编号。 思路 对于每一种group可以用并查集维护,并记录一个list,维护group内可扩展的点集。 因为每一个点只多进行一次扩展,所以n个点扩展的复杂度是O(nlogn)+O(n +m)—前者是O(nlogn)(并查集合并),后者是O(n + m)图的遍历原创 2020-07-20 00:08:17 · 158 阅读 · 1 评论 -
牛客多校2 - Just Shuffle(置换群的幂)
题意 给出一个置换 B,求出一个置换 A ,使得Ak=BA^k=BAk=B ,k 是一个大质数 思路 基础知识(1) 基础知识(2) 了解置换群概念以及基本性质后,开始讲解此题。 Ak=B=>(Ak)t=Bt=>Akt=Bt如果(kt%置换群秩r)=1即kt≡1(%r),那么Akt=A(置换群)=Bt问题转为如和求解t?kt≡1(%r)又gcd(k,r)=1=>由数论知识,方程有解,所以t必然存在=>由exgcd即可求解t,如果t<0,则一直+r问题继续转化为如何求解Bt?A^原创 2020-07-16 22:51:48 · 194 阅读 · 0 评论 -
D. Berserk And Fireball(Educational Codeforces Round 91 (Rated for Div. 2))
题目链接 题意 给一个序列A,A中所有元素均不同,再给一个序列B。现允许两种操作, (1)花费x,去除连续k个元素 (2)花费y,取两个连续的元素并把较小的元素去除 问是否可能让A通过操作变为B,如果可以,最少费用是多少? 思路 B里面的元素相对位置如果与A不同,那么肯定不能让A->操作->B 否则,B里面的元素相对位置与A相同 显然,可以把这个A分成很多序列,对于每一个序列,处理操作相同,现讨论一个序列的处理方法。 L [.P.]R L、R不需要删除 […]均需要删除,里面当中的最大值P m原创 2020-07-14 07:48:16 · 166 阅读 · 0 评论 -
2020牛客暑期多校训练营(第一场)B-Suffix Array
B-Suffix Array 题意 对于字符串S,定义一个规则,把S变换成B数组; 现给定一个字符串S,对于S的所有后缀,求出对应的B数组并进行排序。 思路 思路借鉴,如果A = a + b B = c + d,那么比较A与B字典序时,可以先比较a和c的字典序大小,如果相等则考虑比较b与d 考虑一个串。 (1)如果存在a和b,那么也就是说B数组的开头为0…0(省略号要么为空,要么就是全是1) (2)如果ab当中仅有一种,那么就是说B数组为0…(省略号要么为空,要么全是1) 首先做一个结构体元素原创 2020-07-13 10:45:57 · 214 阅读 · 0 评论 -
网络流 24 题
搭配飞行员 题意 n个飞行员,其中有m名飞行员是正驾驶员。 飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员。由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞行,问如何搭配驾驶员才能使出航的飞机最多。 思路 裸二分图匹配(最大流)题 版本一:网络流做法 引入源点s = 0以及汇点t = n + 1,所有边权设置为1。 上板子跑最大流 网络流版代码 版本二:二分图匹配(匈牙利)做法 匈牙利版本 ...原创 2020-07-10 16:31:13 · 108 阅读 · 0 评论