自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2019.11.12 接触ACM以来的一些感受

本来是在熬夜刷题的,在搜题解的时候看到了一个前ACMer的退役贴,借此想了很多很多其实对于ACM这个比赛,相对于很多NOIP选手,我的起步真的算很晚了,因为我的高中不重视信息奥赛,我也没有更多的途径去了解到这类比赛,直到大学才真正意义上的接触到了ACM这里还是非常感谢我的大一C语言老师姜老师,多亏了姜老师的一路引导,让我在编程语言学习的道路上少走了许多弯路,也是感谢姜老师让我提前了解到了有...

2019-11-12 03:18:33 1414 22

原创 CodeForces - 1485F Copy or Prefix Sum(dp)

题目链接:点击查看题目大意:给出数组 bbb,问可以构造出多少种满足条件的数组 aaa,规定数组 aaa 和数组 bbb 的关系如下:bi=aib_i = a_ibi​=ai​ orbi=∑j=1iajb_i = \sum_{j=1}^{i} a_jbi​=∑j=1i​aj​题目分析:乍一看是个计数问题,因为对于每个位置,aia_iai​ 都有两种选择,所以答案将会是 2n2^n2n 级别的,但是有些时候会重复计数,观察当 (∑j=1i−1aj)=0(\sum_{j=1}^{i-1} a_j)=

2021-06-14 13:56:16 1

原创 CodeForces - 1485E Move and Swap(树形dp)

题目链接:点击查看题目大意:给出一棵有根树,每个节点都有权值,满足所有叶子结点到根节点的距离相同,初始时在根节点有两个硬币,分别是红色和蓝色,每次可以执行如下操作:将红色硬币移动到任意一个子节点将蓝色硬币移动到下一层的任意一个节点(可选)交换红色硬币和蓝色硬币本次操作的贡献是红色硬币和蓝色硬币点权之差的绝对值问如何移动可以使得贡献之和最大题目分析:...

2021-06-14 12:25:03 12

原创 CodeForces - 1486F Pairs of Paths(树上计数+容斥)

题目链接:点击查看题目大意:给出一棵 nnn 个点的树,再给出 mmm 条路径,现在问有多少个路径对 (x,y)(x,y)(x,y),满足第 xxx 条路径和第 yyy 条路径有且仅有一个交点题目分析:参考至大佬博客:https://www.cnblogs.com/syksykCCC/p/CF1486F.html再借个图。。(侵权删)本题需要求的路径只有可能是上述两种情况,第一种是 LCALCALCA 相同,第二种是 LCALCALCA 不同,不过总而言之都需要利用 LCALCALCA 来辅助计数

2021-06-10 16:46:43 43

原创 CodeForces - 1486E Paired Payment(分层图最短路)

题目链接:点击查看题目大意:给出一个 nnn 个点 mmm 条边组成的带权无向图,规定每次只能走两条边,假设走的两条边为 a−>b−>ca->b->ca−>b−>c,那么花费的权值为 (wab+wbc)2(w_{ab}+w_{bc})^2(wab​+wbc​)2,问从点 111 到 nnn 个点的最短路分别是多少,如果不可达输出 −1-1−1题目分析:读题的时候注意到了 www 的上限只有 505050,本来以为只是限制答案不爆 intintint 的,结果说是用来建

2021-06-10 16:10:03 13

原创 CodeForces - 1486D Max Median(二分+最长连续子段和)

题目链接:点击查看题目大意:给出一个长度为 nnn 的数列,现在从长度至少为 kkk 的连续子段中,找到最大的中位数题目分析:做过平均数的模型:POJ - 2018 Best Cow Fences将平均数换成中位数该如何去考虑呢,现在问题转换为了,枚举 xxx 作为中位数,该如何 checkcheckcheck 序列是否合法考虑若一个数想要成为中位数,则至少有一半及以上的数比他小才行,那么我们如果将比 xxx 小的数视为 −1-1−1 ,大于等于 xxx 的数视为 111 会怎么样呢?不难发现,如果

2021-06-09 16:46:15 24

原创 CodeForces - 1486C2 Guessing the Greatest (hard version)(二分+交互)

题目链接:点击查看题目分析:给出一个长度为 nnn 的序列,现在可以进行最多 202020 次查询,每次查询可以询问区间 [l,r][l,r][l,r] 中次大值的位置,现在要求在查询后输出最大值的位置题目分析:C1C1C1 的 404040 次查询是比较简单的二分,就不多说了,关于本题,个人感觉更像是一道思维偏重的构造题,直接说做法吧可以先利用一次查询,询问 [1,n][1,n][1,n] 的次大值位置,记为 ppp再用一次查询,询问最大值是在 [1,p−1][1,p-1][1,p−1] 还是 [

2021-06-09 16:25:31 10

原创 CodeForces - 1486B Eastern Exhibition(二维中位数)

题目链接:点击查看题目大意:给出二维平面上的 nnn 个点,现在需要选择任意一个点满足到所有点的距离最小,问这样的点有几个题目分析:如果压成一维的话,那就是一个裸的中位数问题了,只是升到了二维而已一维的模型:CH - 0501 货仓选址代码:// Problem: B. Eastern Exhibition// Contest: Codeforces - Codeforces Round #703 (Div. 2)// URL: https://codeforces.com/contest/1

2021-06-09 16:18:46 6

原创 CodeForces - 165E Compatible Numbers(SOSdp)

题目链接:点击查看题目大意:给出 nnn 个数,问能否在数列中找到一个数,满足 ai&aj=0a_i\& a_j=0ai​&aj​=0题目分析:题目中的式子可以转换为,aia_iai​ 是 aja_jaj​ 补集的子集,然后就是 SOSdpSOSdpSOSdp 的模板题了,因为输出的答案涉及到了 −1-1−1,所以可以将 dpdpdp 初始化为 −1-1−1,然后直接维护每个超集的最大可行答案就好啦转移的话就是子集向超集转移代码:// Problem: E. Compati

2021-06-08 18:26:42 13

原创 AtCoder - arc100_c Or Plus Max(SOSdp)

题目链接:点击查看题目大意:给出 2n2^n2n 个数,编号从 000 开始,现在要求出对于每个 k∈[0,2n)k\in[0,2^n)k∈[0,2n),找到两个下标 (i,j)(i,j)(i,j),满足 i⊕j<=ki \oplus j<=ki⊕j<=k,且 ai+aja_i+a_jai​+aj​ 最大题目分析:读完题后感觉很乱,因为绕了很多次,分析之后需要发现,i⊕j<=ki \oplus j<=ki⊕j<=k 这个条件,可以表示为 i⊕ji \oplus ji⊕

2021-06-08 18:04:54 15

原创 CodeForces - 1208F Bits And Pieces(SOSdp+贪心)

题目链接:点击查看题目大意:给出一个长度为 nnn 的序列,求出贡献最大的三元对:(i,j,k)(i,j,k)(i,j,k),满足 i<j<ki<j<ki<j<k,其贡献为 ai∣(aj&ak)a_i|(a_j\&a_k)ai​∣(aj​&ak​)题目分析:因为 aja_jaj​ 和 aka_kak​ 被绑定了,所以我们可以直接枚举 aia_iai​ 贪心从高位去寻找是否存在后面 aj&aka_j\&a_kaj​&ak​

2021-06-08 15:40:15 10

原创 2020-2021年度第二届全国大学生算法设计与编程挑战赛 (春季赛)- 天才的操作(线段树+主席树+树上倍增)

题目链接:点击查看题目分析:刚看到这个题目的时候,口胡了一个假算法,觉得对于每次询问的操作 [l,r][l,r][l,r] ,只需要找到指令集区间 [l,r][l,r][l,r] 内覆盖到点 kkk 的最大并集,然后求出这段区间中 aaa 数组的最大值就是答案了,这样一来直接用线段树维护一下数组 aaa,再用主席树维护一下区间交集即可但后来转念一想,覆盖的区间还有时序问题,也就是两个区间执行的先后顺序不同,会造成不一样的结果,到此为止这个题也就卡住了今天看了题解和杨大佬讨论了一下就豁然开朗了,其实卡.

2021-06-07 18:43:09 107

原创 CodeForces - 1535E Gold Transfer(树上倍增+交互)

题目链接:点击查看题目大意:给出一棵初始时只有一个点的树,每个点都有两个值:ai,cia_i,c_iai​,ci​,分别代表黄金的个数和单价。需要执行 mmm 次操作,每次操作分为两种类型:1 pi ai ci1\ p_i\ a_i\ c_i1 pi​ ai​ ci​添加一个新点 iii,pip_ipi​ 为其父节点,ai,cia_i,c_iai​,ci​ 如上一段所述,保证 ci>cpic_i>c_{p_i}ci​>cpi

2021-06-06 16:02:03 11

原创 CodeForces - 1535C Unstable String(思维)

题目链接:点击查看题目大意:规定一个字符串将问号都替换成 000 或 111 后满足 010101 交替的话,该字符串是合法的,现在给出一个长度为 nnn 的字符串,求合法子串的个数题目分析:两种思路,第一种也是比赛里想到的,不太会实现细节,就是尺取每两个合法 010101 段,然后对两端连续的问号段容斥去重,个人感觉比较难写考虑子串就是每个前缀的所有后缀,所以枚举点 iii 作为每个前缀 s[1:i]s[1:i]s[1:i],找到其合法的最长的后缀所代表的左端点 lll,使得 [l,i][l,i][

2021-06-06 15:50:41 46 2

原创 CodeForces - 1491E Fib-tree(模拟)

题目链接:点击查看题目大意:给出一棵树,问是否为斐波那契树。斐波那契树的定义是,树的大小为斐波那契数列的其中一项,且可以通过删除掉一条边使其拆分的两个子树也为斐波那契树题目分析:需要观察到,大小为 fibifib_ifibi​ 的树,分解成两个子树后,如果合法,那么需要分解成两个大小分别为 fibi−1fib_{i-1}fibi−1​ 和 fibi−2fib_{i-2}fibi−2​ 的子树所以直接模拟就好了,初始时记得判断一下 nnn 是否为斐波那契项,然后每次用树形 dpdpdp 求一下子树的大小

2021-06-04 11:56:58 26 2

原创 CodeForces - 1491C Pekora and Trampoline(差分+贪心)

题目链接:点击查看题目大意:给出一个长度为 nnn 的序列 aaa,aia_iai​ 表示第 iii 个蹦床的强度,当从第 iii 个蹦床起跳的话可以跳到 i+aii+a_ii+ai​ 的位置,但是相应的第 iii 个蹦床的强度会减少一,更具体的来说,假如在蹦床 iii 起跳后,会有 ai=max(ai−1,1)a_i=max(a_i-1,1)ai​=max(ai​−1,1)。问最小需要多少次弹跳,才能使得所有的蹦床强度都等于 111题目分析:口胡了一个 n2n^2n2 的算法,交了一发之后发现会被卡成

2021-06-04 11:48:45 23

原创 CodeForces - 1523E Crypto Lights(组合数学+推公式)

题目链接:点击查看题目大意:给出 nnn 个初始时熄灭的灯泡,每次操作会等概率打开一个灯泡,当每 kkk 个连续的灯泡中出现了大于一个亮着的灯泡时停止操作,问期望操作次数是多少题目分析:组合数学题留给队友补了,只是想解释一下这个模型,转换的过程借用洛谷大牛的题解了(侵权删)主要是想讲一下最后这个 “经典模型” ,其中 PiP_iPi​ 为操作 iii 次后,还没有结束的方案数。可以这样考虑,因为任意两个灯泡之间需要间隔为 kkk,所以放 iii 个灯泡两两之间需要有 i−1i-1i−1 个隔板隔开,而

2021-06-04 10:47:41 37

原创 牛客 - Elo mountains(AC自动机+可持久化数组优化)

题目链接:点击查看题目分析:初始时给出一棵以点 000 为根节点的字典树,设 arriarr_iarri​ 为从根节点出发到达点 iii 的字符串,需要回答对于每个 i∈[1,n]i\in[1,n]i∈[1,n] 时的 ∑k=1nf(arri,arrk)\sum_{k=1}^{n}f(arr_i,arr_k)∑k=1n​f(arri​,arrk​),其中 f(s,t)f(s,t)f(s,t) 代表的是字符串 sss 在字符串 ttt 中出现的次数题目分析:先附上官方题解:本题难点及解决方法:字

2021-06-03 17:41:49 265 4

原创 AC自动机解决字符集很大的情况(可持久化数组优化getfail的过程)

今天遇到了一个问题,那就是如果 ACACAC 自动机的字符集很大该怎么办?比如改成 1e51e51e5 该怎么办呢?例如下题:题目来源转自(侵权删):点击查看先不考虑解法,肯定是需要用 ACACAC 自动机去解决的,但是问题是,本题中字符串的总长度可能达到 O(n2)O(n^2)O(n2) 级别,加上字符集特别大,所以遇到了很多问题不过不难看出题目中给出的实际上就是一棵 trietrietrie 树,我们可以直接在 trietrietrie 树上 getfailgetfailgetfail,就可以

2021-06-03 17:08:00 50 2

原创 牛客 - 焦糖布丁(线性基+博弈)

题目链接:点击查看题目大意:给出 nnn 个数字,现在要求将其构造成一棵有根树,使得博弈的后手必胜博弈规则如下:两人轮流操作,每次选择一个点,然后将当前点的部分(可以是全部)点权交付给其父节点更具体的来说,每次选择一个点 xxx,再选择一个 yyy 满足 ax>=y>0a_x>=y>0ax​>=y>0,执行操作 ax−=y,afa+=ya_x-=y,a_{fa}+=yax​−=y,afa​+=y无法执行操作的人失败,问是否可以构造题目分析:考虑逐步分析假设根节

2021-06-03 09:16:25 21 1

原创 牛客 - Connie(AC自动机+dp/KMP+dp)

题目链接:点击查看题目大意:给出一个匹配串 sss,现在问模式串 ttt 的期望得分。其中假设匹配串在模式串中的出现次数为 xxx,那么将得到 2x2^x2x 的分数题目分析:涉及到了期望一开始还以为是概率,后来发现其实就是个计数问题题目实际让我们操作的就是,枚举 5n5^n5n 种字符串,然后对于每种字符串统计匹配串 sss 的出现次数,注意这里的出现次数并不能说是最多或最少的出现次数,先将贡献的式子转换一下:2x=(...((1)∗2)∗2)∗2...)∗22^x=(...((1)*2)*2)*

2021-06-03 09:02:17 16

原创 牛客 - Dance with a stick(大风车模型)

题目链接:点击查看题目大意:二维平面给出 nnn 个点,满足任意三个点不在一条直线上。需要选出一条经过某个点的有向直线,满足执行 “大风车” 后直线的角度反转到 180180180 度时,回到初始的起点“大风车” 指的是直线顺时针旋转,若碰到了某个点 ppp,则以点 ppp 为新的轴心继续旋转,持续这个过程题目分析:解析该模型的视频:https://www.bilibili.com/video/BV164411k7e3省流结论:找到一条经过某个点的直线,使得左右两侧的点个数相同代码:// Pro

2021-06-02 16:37:00 25

原创 牛客 - Alice and Bob(尺取+二分)

题目链接:点击查看题目大意:给出一个长度为 nnn 的数列,和一个数字 kkk。现在给出 mmm 次询问,每次查询需要回答区间 [l,r][l,r][l,r] 内有多少个子区间,满足区间内不同的数字个数大于等于 kkk题目分析:一开始看到强制在线和区间问题以为是主席树,后来发现 kkk 自始至终都是不变的。这样每个点作为左端点时,假设某个点可以作为右端点 rrr 与其对应,那么显然当 i∈[r+1,n]i\in[r+1,n]i∈[r+1,n] 的 iii 作为右端点时,区间 [l,i][l,i][l,i

2021-06-01 21:02:29 32

原创 CodeForces - 1523D Love-Hate(随机数+状压dp)

题目链接:点击查看题目大意:给出 nnn 个 010101 序列表示二进制状态,问选择至少 ⌈n2⌉\lceil \frac{n}{2}\rceil⌈2n​⌉ 个状态进行位运算的与运算后得到的答案中,111 的位数最多的答案题目分析:考虑最后需要求得的答案,一定是 ⌈n2⌉\lceil \frac{n}{2}\rceil⌈2n​⌉ 个状态中,其中一个状态的子集,于是我们就可以去枚举然后统计答案考虑随机数,每随机抽一个状态,不在最后 ⌈n2⌉\lceil \frac{n}{2}\rceil⌈2n​⌉ 个

2021-06-01 20:42:40 47

原创 牛客 - 牛牛的滑动窗口(单调栈+思维+差分)

题目链接:点击查看题目分析:给出 nnn 个数,定义滑动窗口的贡献是其中最大值与最小值的乘积,现在问对于长度分别为 [1,n][1,n][1,n] 的滑动窗口,贡献之和分别是多少题目分析:考虑暴力解法,是直接 RMQRMQRMQ 预处理一下,然后 O(n2)O(n^2)O(n2) 去模拟整个过程正难则反,考虑正这去枚举区间不行,那么我们是否可以通过枚举每个数字,从而计算每个数字对区间的贡献呢根据滑动窗口的定义,不难发现在每个长度下的滑动窗口,对于每个位置来说,都有可能作为一次窗口的起点或终点(如果越

2021-06-01 15:10:45 15

原创 牛客 - 牛牛的最大兴趣组(思维+数论)

题目链接:点击查看题目大意:给出 nnn 个数,要求选出最多的数,使得任意两个数的乘积不能是三次平方数,三次平方数,诸如23=8,33=272^3=8,3^3=2723=8,33=27题目分析:这个模型和前两天 cfcfcf 上遇到的一个样:CodeForces - 1497E2这个模型的特点就是,假设要使得任意两个数的乘积不能是 mmm 次平方数的话,当我们将所有的数字中,出现次数为 mmm 的倍数的质因子都筛掉后,剩下的数一定会两两匹配。具体到某个质因子来说,假设其出现次数为 xxx,那么其需要和

2021-06-01 14:51:58 9

原创 兰州大学第一届『飞马杯』程序设计竞赛 - ★★平形四边行★★(鸽巢原理+暴力)

题目链接:点击查看题目大意:二维平面坐标系上给出 nnn 个点,现在需要求出四个点,满足四个点可以组成可退化的平行四边形题目分析:因为坐标的范围很小,所以瞬间想到了上周刷到的一道题目的模型:CodeForces - 1501C然后就在纠结平行四边形边长长度的路上走远了赛后一看题解恍然大悟,只要去寻找两对点 (a,b),(c,d)(a,b),(c,d)(a,b),(c,d) 满足中点是同一个点就可以了妙啊因为鸽巢原理,二维平面坐标系上最多有 4e64e64e6 个点,所以每 4e64e64e6

2021-05-29 20:28:31 30

原创 兰州大学第一届『飞马杯』程序设计竞赛 - ★★飞马祝福语★★(动态dp)

题目链接:点击查看题目大意:给出一个长度为 nnn 的字符串 sss ,现在有 mmm 次操作,每次操作可以修改 [l,r][l,r][l,r] 内的字符为 chchch,问每次修改之后的字符串内含有多少个 “FeiMa” 的子序列题目分析:这种题应该叫动态 dpdpdp 吧,线段树的每个节点维护一个 dpdpdp,dpl,rdp_{l,r}dpl,r​ 代表含有子序列 [l,r][l,r][l,r] 的数量,合并的话就是:dpk,l,r=dpk<<1,l,r+dpk<<1∣1

2021-05-29 20:20:52 72 3

原创 兰州大学第一届『飞马杯』程序设计竞赛 - ★★体育课排队★★(二分+最大流)

题目链接:点击查看题目大意:给出 nnn 个人,再给出 nnn 个指定位置,每个人每秒钟可以向上下左右四个方向移动一个单位,问最少需要多长时间,才能使所有人都到达指定位置题目分析:数据比较小,可以直接二分时间然后跑最大流 checkcheckcheck,输出路径也是中规中矩的,注意行末空格就好啦代码:// Problem: ★★体育课排队★★// Contest: NowCoder// URL: https://ac.nowcoder.com/acm/contest/16520/B// Mem

2021-05-29 20:11:08 45

原创 AtCoder - arc120_c Swaps 2(思维+线段树+模拟)

题目链接:点击查看题目大意:给出一个序列 aaa,问能否经过有限此操作使其变成 bbb,每次操作分为三步:选择一个 iii,满足 i+1<=ni+1<=ni+1<=n,然后 swap(ai,ai+1)swap(a_i,a_{i+1})swap(ai​,ai+1​)ai++a_i ++ai​++(交换后的)ai+1−−a_{i+1}--ai+1​−−(交换后的)如果有解,输出最小操作次数题目分析:思维点+固定模型的题目,有个结论是,题目有解的充分必要条件是,当且仅当 aaa

2021-05-29 16:35:34 12 1

原创 CodeForces - 1430E String Reversal(线段树+模拟)

题目链接:点击查看题目大意:给出一个字符串 sss ,令其反转的串为 ttt ,每次操作可以将 ttt 中的两个相邻位置的字符交换,问最少需要进行多少次操作才能使得 ttt 变成 sss题目分析:假设字符 chchch 在 sss 中的出现位置为 p1,p2...pkp_1,p_2...p_kp1​,p2​...pk​,在 ttt 中出现的位置为 q1,q2,...qkq_1,q_2,...q_kq1​,q2​,...qk​,那么显然让 pip_ipi​ 和 qiq_iqi​ 匹配一定是最优的如此一

2021-05-29 11:15:11 18

原创 CodeForces - 1526D Kill Anton(模拟)

题目链接:https://vjudge.net/problem/CodeForces-1526D题目大意:给出一个只有四种字母组成的字符串 AAA,要求将其重排列 BBB,使得贡献最大。贡献指的是,每次可以交换相邻的两个字母,问从 AAA 变成 BBB 的最小操作次数题目分析:猜的结论,就是相同的字母一定连续,具体证明可以参考官方题解然后思维上就没什么难度了,剩下的就是如何 O(n)O(n)O(n) 或者 O(nlogn)O(nlogn)O(nlogn) 实现 calcalcal 函数用来计算两个字符

2021-05-29 09:53:42 133 4

原创 CodeForces - 1494E A-Z Graph(构造+思维)

题目链接:https://vjudge.net/problem/CodeForces-1494E题目大意:给出一个初始时只有 nnn 个点的有向带权图,需要执行 mmm 次操作,每次操作分为下列三种类型:+ u v c+\ u\ v\ c+ u v c:增加一条 u−>vu->vu−>v 的有向边,边权为 ccc− u v-\ u\ v− u v:删除 u−>vu->vu

2021-05-28 18:29:49 11

原创 CodeForces - 1494D Dogeforces(贪心+构造)

题目链接:点击查看题目大意:给出 nnn 个叶子结点和一个 n∗nn*nn∗n 的 LCALCALCA 矩阵,其中 LCALCALCA 表示的是最近公共祖先节点的权值,现在需要构造出一棵自顶向下权值严格递减的树题目分析:参考至:https://blog.csdn.net/liufengwei1/article/details/114298063思路就是贪心去合并,类似于哈夫曼树那样,将所有的 LCALCALCA 从小到大排序,然后贪心去加一开始以为所有点权都不一样,后来意识到是每一条链上的点权互不

2021-05-28 18:20:17 9

原创 CodeForces - 1497E2 Square-free division (hard version)(dp+数论)

题目链接:点击查看题目大意:给出一个长度为 nnn 的数列,现在最多可以修改 kkk 个数字为任意数值,现在问最少可以将数列划分成多少个连续的数列,使得每一个单独的段中,任意两个数的乘积都不能是完全平方数,完全平方数是指诸如 1,4,9,16{1,4,9,16}1,4,9,16 等题目分析:先简单说一下 E1E1E1,E1E1E1 就是 k=0k=0k=0 的情况,正因为少了修改,所以直接贪心即可,依据就是,当遍历到 xxx 时,若 xxx 可以和前面一段的数字中的任意一个组成完全平方数,则让 xxx

2021-05-26 19:07:57 29 4

原创 CodeForces - 1501C Going Home(鸽巢原理+暴力)

题目链接:点击查看题目大意:给出 nnn 个数,问是否存在四个数满足:a+b=c+da+b=c+da+b=c+d题目分析:官方题解是直接 O(n2)O(n^2)O(n2) 暴力,因为每个数的范围是 [1,2.5e6][1,2.5e6][1,2.5e6] 的,每次匹配即使会产生一个新的 sumsumsum 和,那么因为鸽巢原理,在匹配 5e65e65e6 次后,必定会产生一对 sumsumsum 相同的二元对 (i,j)(i,j)(i,j)。同理在匹配第 4∗5e64*5e64∗5e6 次后,一定会产生四

2021-05-26 18:33:41 30

原创 CodeForces - 1497D Genius(dp)

题目链接:点击查看题目大意:给出 nnn 个问题,每个问题有如下属性:tagtagtag:标签ccc:困难度sss:奖励值初始时 ci=2ic_i=2^ici​=2i,初始时 IQ=0IQ=0IQ=0 ,假设 lastlastlast 是最后一个回答的问题,则需要满足 ∣ci−clast∣>IQ|c_i-c_{last}|>IQ∣ci​−clast​∣>IQ 才可以回答问题 iii,且回答之后会发生的变化:IQ=∣ci−clast∣IQ=|c_i-c_{last}|IQ=

2021-05-26 09:59:59 17

原创 CodeForces - 1484F Useful Edges(最短路)

题目链接:点击查看题目大意:给出由 nnn 个点构成的无向图,再给出 qqq 个三元对 (u,v,l)(u,v,l)(u,v,l),现在问有多少条边 (i,j)(i,j)(i,j) 可以和至少一个三元对匹配,可以匹配的条件是:从点 uuu 到点 vvv 且包含边 (i,j)(i,j)(i,j) 的最短路的长度需要小于等于 lll题目分析:题目本身不难,就是有点绕,先考虑一下暴力思路可以先 O(m)O(m)O(m) 去枚举每条边,然后再 O(q)O(q)O(q) 去枚举每个询问,设 di,jd_{i,

2021-05-25 20:45:52 15

原创 CodeForces - 1529F It‘s a bird! No, it‘s a plane! No, it‘s AaParsa!(最短路+思维建图)

题目链接:点击查看题目大意:给出 nnn 个点(从 000 开始编号)和 mmm 条边的有向带权图,不过 mmm 条边是动态的,经过 ttt 秒后,第 iii 条边就从 ai−>bi,cia_i->b_i,c_iai​−>bi​,ci​ 变成了 ai−>(bi+t)mod  n,cia_i->(b_i+t)\mod{n},c_iai​−>(bi​+t)modn,ci​,现在要求输出任意两点之间的最短路(最短路矩阵)注意:在达到某个点后可以选择停留任意时刻再继续赶路题

2021-05-25 18:59:09 111

原创 CodeForces - 1529E Trees of Tranquillity(贪心+线段树)

题目链接:https://vjudge.net/problem/CodeForces-1529E题目大意:给出两棵根节点为 111 的树,分别称为 AAA 树和 BBB 树,现在通过两棵树可以构造出一个无向图,当且仅当点对 (x,y)(x,y)(x,y) 同时满足以下两个条件时,可以在图中建边:在 AAA 树中,xxx 是 yyy 的祖先或 yyy 是 xxx 的祖先在 BBB 树中,xxx 不能是 yyy 的祖先同时 yyy 不能是 xxx 的祖先求该图的最大团题目分析:一开始读错题了,后来

2021-05-25 18:36:25 83 2

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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