随笔分类 -  比赛题解

1
摘要:[比赛链接](https://ac.nowcoder.com/acm/contest/57361) # C ## 题解 **知识点:位运算,贪心。** 我们用分段的思想考虑大小关系,若在同一段则大小不能确定,一开始为 [1,n] 。 我们按位从高到低考虑,某位如果 bi 产生了 1阅读全文
posted @ 2023-08-13 21:45 空白菌 阅读(91) 评论(0) 推荐(0) 编辑
摘要:[比赛链接](https://ac.nowcoder.com/acm/contest/57360) # A ## 题解 ### 方法一 **知识点:并查集,树形dp,背包dp。** 因为需要路径中的最大值,因此考虑按边权从小到大加入图中,保证通过这条边产生贡献的点对已经全部出现。 在加边的同时进行树 阅读全文
posted @ 2023-08-10 01:03 空白菌 阅读(11) 评论(0) 推荐(0) 编辑
摘要:[比赛链接](https://ac.nowcoder.com/acm/contest/57359) # A ## 题解 **知识点:莫队,树状数组。** 区间询问显然可以离线莫队,考虑端点移动对答案的影响。 不妨先考虑右端点右移一个位置,对答案的改变。假设右端点右移后在 r ,我们先要知道 $[ 阅读全文
posted @ 2023-08-02 20:16 空白菌 阅读(185) 评论(0) 推荐(0) 编辑
摘要:[比赛链接](https://ac.nowcoder.com/acm/contest/57358) # A ## 题解 **知识点:KMP,构造。** 考虑构造全 0,1 串,至少有一个可行。 我们只需要考虑到 t 的border t ,即 t+s+t : 1. 当 $t'+s 阅读全文
posted @ 2023-07-31 01:57 空白菌 阅读(95) 评论(0) 推荐(0) 编辑
摘要:[比赛链接](https://ac.nowcoder.com/acm/contest/57357) # A ## 题解 **知识点:数学。** 当 x=0 时,当且仅当 y=0 可行。 当 x0 时,一定可行,答案为 |xy| 。 时间复杂度 O(1) 空间 阅读全文
posted @ 2023-07-26 16:28 空白菌 阅读(148) 评论(0) 推荐(0) 编辑
摘要:[比赛链接](https://ac.nowcoder.com/acm/contest/57356) # D ## 题解 **知识点:贪心。** 首先,因为第一个人喜欢吃的可能会被后面的人选中,因此直接选最喜欢吃的可能会浪费机会。所以,我们考虑先看后面的人怎么选,就是倒着贪心,我们考虑证明。 假设当前 阅读全文
posted @ 2023-07-25 19:25 空白菌 阅读(28) 评论(0) 推荐(0) 编辑
摘要:[比赛链接](https://ac.nowcoder.com/acm/contest/57355) # A ## 题解 **知识点:构造。** 设任意字符串为 t ,为了使得 t=s 时结果不有序,考虑将其中 s 一组 01 固定反序,同时 ts 时一定不会反序。 阅读全文
posted @ 2023-07-21 02:29 空白菌 阅读(313) 评论(0) 推荐(1) 编辑
摘要:比赛链接 A 题解 知识点:模拟。 如题。 代码 #include <bits/stdc++.h> using namespace std; using ll = long long; int main() { std::ios::sync_with_stdio(0), cin.tie(0), co 阅读全文
posted @ 2023-02-09 20:05 空白菌 阅读(72) 评论(0) 推荐(1) 编辑
摘要:比赛链接 A 题解 知识点:前缀和,二分。 找到小于等于 x 的最后一个物品,往前取 k 个即可,用前缀和查询。 时间复杂度 O(n+qlogn) 空间复杂度 O(n) 代码 #include <bits/stdc++.h> using namespace std; usin 阅读全文
posted @ 2023-02-07 17:04 空白菌 阅读(72) 评论(0) 推荐(0) 编辑
摘要:比赛链接 A 题解 知识点:数学。 算一下发现 3 最好,2,4 并列, 4 以后递减。于是,特判 3 ,其他取最小值。 (众所周知, e 进制最好qwq。 时间复杂度 O(1) 空间复杂度 O(1) 代码 #include <bits/stdc++.h> using n 阅读全文
posted @ 2023-02-02 18:34 空白菌 阅读(41) 评论(0) 推荐(0) 编辑
摘要:比赛链接 A 题解 知识点:贪心。 把所有正偶数除成奇数,即可。 (人傻了没加 x>0 WA2 时间复杂度 O(n) 空间复杂度 O(1) 代码 #include <bits/stdc++.h> using ll = long long; using namespace std; int 阅读全文
posted @ 2023-01-24 22:24 空白菌 阅读(174) 评论(0) 推荐(0) 编辑
摘要:比赛链接 A 题解 知识点:数学。 用 n 减去区间1的端点得到匹配的一个区间,求一下与区间2的交集。 一个小公式,两区间 [L1,R1][L2,R2] 的交集长度为 max(0,min(R1,R2)max(L1,L2)+1) 。 时间复杂 阅读全文
posted @ 2023-01-19 01:35 空白菌 阅读(173) 评论(0) 推荐(2) 编辑
摘要:比赛链接 A 题解 知识点:模拟。 显然。 (用char输入到一半直接给答案跳出,WA了两小时,无话可说。 时间复杂度 O(1) 空间复杂度 O(1) 代码 #include <bits/stdc++.h> #define ll long long using namespace std; 阅读全文
posted @ 2023-01-17 22:08 空白菌 阅读(64) 评论(0) 推荐(1) 编辑
摘要:比赛链接 C 题解 方法一 知识点:思维。 先统计没有出现的数,每个都可以随便放,所以作为补位用的。 将原数组左移一位作为预定的答案数组,然后开始检查。如果和原数组一样,则用补位数字填充,如果不一样就不动。 这样做是肯定能构造出一个合法的数组的,因为左移以后这个数字无论重复不重复一定能有一个是和对应 阅读全文
posted @ 2022-08-09 21:19 空白菌 阅读(184) 评论(0) 推荐(0) 编辑
摘要:比赛链接 A 题解 知识点:数学,构造。 题目要求构造一个长为 m 的序列 cm 自选,使得 c 的无限循环序列 b 中任意连续 ai 个数中都存在数 i 。因此,容易想到从起点 posi 开始每隔 ai 个数就填一次 i ,即在位置 $(pos_i 阅读全文
posted @ 2022-08-08 07:28 空白菌 阅读(67) 评论(0) 推荐(0) 编辑
摘要:比赛链接 A 题解 知识点:图论,dp。 暴力建图,连接所有点的双向通路,除了原点是单向的,并且把路径长度作为权值。 随后,从原点出发(f[0]=0,其他点负无穷,保证从原点出发),按照权值从大到小(大的先走小的后走,相等属于同一阶段,满足拓扑序)进行dp。 对于路径 (u,v) 的状态 阅读全文
posted @ 2022-08-02 16:07 空白菌 阅读(109) 评论(0) 推荐(1) 编辑
摘要:比赛链接 A 题解 知识点:贪心,背包dp。 注意到交换邻项不影响其他的结果,可以通过邻项交换证明选择顺序,假设a在b前更优: $$ \Sigma + w_a\Pi + w_bp_a\Pi + \Sigma' \geq \Sigma + w_b\Pi + w_ap_b\Pi + \Sigma'\ w 阅读全文
posted @ 2022-07-31 14:28 空白菌 阅读(168) 评论(0) 推荐(0) 编辑
摘要:比赛链接 A 题解 知识点:LCA。 队友写的,俺不会qwq。预处理出关键点序列的在树A B上的前缀LCA和后缀LCA,枚举去掉的关键节点并使用前后缀LCA算出剩余节点的LCA比较权值即可。 时间复杂度 O(klogn) 空间复杂度 O(n) 代码 #include<bits/stdc 阅读全文
posted @ 2022-07-26 22:07 空白菌 阅读(35) 评论(0) 推荐(0) 编辑
摘要:比赛链接 G 题解 知识点:思维。 lds(p) 表示最小上升子序列分划数 (Dilworth 定理) lis(p)lds(p)nmaxlds(p),lis(p)n 因此将排列构造多 阅读全文
posted @ 2022-07-26 21:58 空白菌 阅读(55) 评论(0) 推荐(0) 编辑
摘要:比赛链接 A 题解 知识点:贪心。 将区间按左端点排序,合并区间,记录所有区间之间断开的长度即可。 时间复杂度 O(nlogn) 空间复杂度 O(n) 代码 #include <bits/stdc++.h> #define ll long long using namespace std 阅读全文
posted @ 2022-07-26 21:24 空白菌 阅读(414) 评论(1) 推荐(1) 编辑

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