08 2022 档案

摘要:A and B sbt,不讲。 C 垃圾计算几何,问是不是一个凸包,搞份板子交就可以了。 D 简单 dp,令 f(i,j) 表示第 i 个时间在第 j 个位置的最大价值,从上一个时间转移,可以向左,向右或者不动,即: $$ f(i,j)=\max(f(i-1,j-1),f(i-1,j), 阅读全文 »
posted @ 2022-08-30 13:45 Epoch_L 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题目链接 Solution 陈年老题了,但真是一道组合数好题。 根据数学知识,加括号就相当于改变里面的符号,所以我们可以将其看为对符号的修改,问题就变为:一个长度为 n1 的符号序列,每次可以选一个区间将其符号反转,问 k 次操作后,能得到多少不同的序列。 要注意第一个符号没有办法改变,这 阅读全文 »
posted @ 2022-08-22 16:12 Epoch_L 阅读(49) 评论(0) 推荐(0) 编辑
摘要:题目链接: 洛谷 Codeforces Solution Tarjan 板题。 很明显可以用 Tarjan 找到这一个环,由于这是一个无向图,所以需要多记录一个当前节点的父亲,防止其反复横跳。然后缩完点以后,找到一个强连通分量的大小大于 1,也就是那一个环,以它为源点,跑 dijkstra,与此 阅读全文 »
posted @ 2022-08-21 15:47 Epoch_L 阅读(19) 评论(0) 推荐(0) 编辑
摘要:题目链接 Solution 考虑离线回答这个问题,由于只问我们第 q 位,我们~~很自然~~想到枚举一个阈值,将大于等于它的变成 1,小于它的变成 0,然后对这个 01 序列进行排序操作。有单调性,举个栗子: 假设知道一个排完序后的序列 3,1,2,4,5,现询问第 3 个位置。 阅读全文 »
posted @ 2022-08-19 17:55 Epoch_L 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题目链接: 洛谷 Codeforces Problem 这题目翻译真的神了,好多歧义,看不懂,给一个本人翻译: 给你一个长度为 n 的序列 a,定义幸运数为仅含有 47 的数,你需要取出它的一个的子序列,满足以下条件: 长度为 k。 不能出现相同的幸运数,即最多 1阅读全文 »
posted @ 2022-08-17 18:33 Epoch_L 阅读(29) 评论(0) 推荐(0) 编辑
摘要:题目链接: 洛谷 Codeforces Solution 我一开始以为是道结论题,一直想贪心策略,后来卡了二十多分钟,感觉不行,赶紧换方法。 这题不能正着做,只能反过来,从答案串往原串推,因为正着做有后效性,十分恶心。反过来做以后,顺序就变了,即先改后看,对于每一次检查的区间 [l,r],我们这 阅读全文 »
posted @ 2022-08-16 21:21 Epoch_L 阅读(26) 评论(0) 推荐(0) 编辑
摘要:题目链接: 洛谷 Codeforces Solution 以前做过这种题,比这题难得多,所以看到就秒了,加强版:[NOIP2021] 方差。 再来推一遍: 如果每次操作 ai,那么差分数组的变化为: $$ d_i=a_i-a_{i-1}=a_{i-1}+a_{i+1}-a_i-a_{i-1}= 阅读全文 »
posted @ 2022-08-16 19:47 Epoch_L 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目链接: 洛谷 Codeforces Solution 二分好题。 答案有单调性,首先二分。 现在问题转化成如何判断最少要改几个,使用 dp,设 f(i) 表示第 i 个不改,前 i 个最多几个不改,转移方程为: f(i)=max(f(j)+1) 这个转移方程成立,当且仅 阅读全文 »
posted @ 2022-08-15 19:26 Epoch_L 阅读(23) 评论(0) 推荐(0) 编辑
摘要:题目链接 Solution 这种字符串题一般都是区间 dp,设 f(i,j) 表示第 ij 的子串的最小长度,如果没有折叠操作,则枚举断点 k,转移方程为: f(i,j)=min(f(i,j),f(i,k)+f(k+1,j)) 若有折叠操作,这时想要折叠就必须满足 阅读全文 »
posted @ 2022-08-14 23:21 Epoch_L 阅读(63) 评论(0) 推荐(0) 编辑
摘要:题目链接 Solution 开一个数组 mn(i) 记录第 i 个位置及之前的最窄的宽度,显然其单调不上升,每次我们二分找到最深能够到达的位置,记录为 ans,然后第二次二分时的右端点就只要开到 ans1,就保证不超过前一个。 复杂度 O(nlogn),蓝题 15 分钟 阅读全文 »
posted @ 2022-08-10 23:19 Epoch_L 阅读(22) 评论(0) 推荐(0) 编辑
摘要:题目链接 Solution 说实在的评蓝有点过了。。。 数据较大,直接暴力 O(nn) 复杂度直接起飞。 问题是求 f(x) 加到 f(y),我们考虑换个思路,把式子变成: i=1yf(i)i=1x1f(i) 即求 1 阅读全文 »
posted @ 2022-08-10 23:10 Epoch_L 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目链接 Problem 给定一个矩阵,最多进行 k 次操作,每次可以把 B 改成 G,G 改成 B,P 不能改,问最后能得到的最大的颜色相同的子矩阵。 Solution 由于 n,m500,所以应该是一个 O(n3) 的做法。 我们枚举一个矩阵的最上行 x,最下行 y阅读全文 »
posted @ 2022-08-09 09:39 Epoch_L 阅读(57) 评论(0) 推荐(1) 编辑
摘要:题目链接 Solution 本题是动态询问我们图形的侧面积,由于数据较大,肯定不能每一次暴力查找。所以我们考虑每一次的贡献。 假设说我们每一次都没有跟别的方块有冲突,那么每一次的贡献就是 z×4,然后我们要考虑重合的部分。 设放的当前方块原来有 now 个,现在放上去 z阅读全文 »
posted @ 2022-08-09 09:13 Epoch_L 阅读(30) 评论(0) 推荐(1) 编辑
摘要:T1-受欢迎的牛 题目链接 Solution 裸题,Tarjan 缩点,找到那一个出度为 0 的点,把它所在的强连通分量的大小输出。如果有多个就无解。 Code 这题是贺我们老师的,所以码风不像我的。 #include<bits/stdc++.h> using namespace std; #d 阅读全文 »
posted @ 2022-08-07 19:40 Epoch_L 阅读(34) 评论(0) 推荐(0) 编辑
摘要:## A-World Cup 用 while 循环一直加到合法。 ## B-Triangle (Easier) 暴力枚举并判断。 ## C-Min Max Pair 首先如果 ai=i,aj=j 的话,直接找有多少个值等于编号的,然后答案加上其选 2 个的组合数。 如果 $a_i=j,a 阅读全文 »
posted @ 2022-08-04 19:58 Epoch_L 阅读(28) 评论(0) 推荐(0) 编辑

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