上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 57 下一页
摘要: 传送门 更遗憾的一个题,刚了两个半小时没刚出来 首先bitset按题意模拟可以有50pts,只记录最高的一千位乱搞可以有100pts 然后考场总是想着dijkstra,想设法让两个 \(2^{10^6}\) 级别的数比大小 于是炸上天了 最短路除了dij,还有一个容易忘的BFS 这里除了与点1以0边 阅读全文
posted @ 2021-10-27 21:31 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 很遗憾的题,开始写的时候还记得有单调性写着写着就忘了 所以看出来有什么特殊性质先写下来,要不然容易自闭 先考虑 \(Q=1\) 怎么做 那就直接枚举答案 按权值排序,枚举一个答案后将答案左右两边的区间分别按时间排序,取前 \(\frac{x}{2}\) 小的 发现这个东西可以权值线段树上二分 阅读全文
posted @ 2021-10-27 21:17 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 能想到差分这题就差不多了……可惜我没想到 先维护出差分序列 于是每次操作可以将前面一个地方-1后面一个地方+1 整个序列的前缀和处处大于0且整个序列的前缀和为0 于是每个大于零的位置都需要 \(abs(dlt_i)\) 次操作才能变为零,于是操作次数可知 然后考虑最大/小体力消耗 首先所有 阅读全文
posted @ 2021-10-26 16:37 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 首先子序列经典DP 可以 \(n^2\) 暴力了 然后发现可以写成矩阵区间乘积 于是线段树维护 发现复杂度 \(27^3mlogn\),不可过 等到考完之后仔细阅读题面,发现字符集大小只有3 于是复杂度变为 \(O(4^3mlogn)\),可以通过 Code: #include <bits/ 阅读全文
posted @ 2021-10-26 16:17 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 初看应该是个换根DP之类 但我是从分类讨论贡献入手的 先转化为每个点的贡献是通过这个点的出发点权值比这个点小的使者数 发现能对一个点产生贡献的点只有三种位置:子树内,到根节点链上,到根节点链上的点的其它子树内 于是令 \(val_i\) 为 \(i\) 子树内权值比点 \(i\) 小的点的数 阅读全文
posted @ 2021-10-26 15:52 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 两种做法 第一种可以按题意模拟,dfs染色 如果一个点已经被染过了就return 这样每个点只会被染色一次,均摊 \(O(n)\) 第二种考虑每个点被染色的时间 在时间轴上差分计算贡献,也是 \(O(n)\) Code: #include <bits/stdc++.h> using name 阅读全文
posted @ 2021-10-26 15:40 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 卡常题,O3+循环展开+测评姬波动卡过了 首先 \(g(i)=fib^2(i)\) 是可以矩阵乘的 接下来考虑题面里定义的 \(f\) 有什么性质 发现 \(f(S\cup{x})=\sum\limits_{s\in T}g(s)+\sum\limits_{s\in T}g(s+T)\) 就 阅读全文
posted @ 2021-10-25 20:56 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 考场上由于策略原因打了个暴力就跑路了 DP只是简单想了想 貌似括号序列相关的方案数类的题常与区间DP有关? 考虑令 \(f_{l, r}\) 为区间 \([l, r]\) 为合法括号序列的方案数 \(u_{l, r}\) 为形如 \(AS\) 方案数 \(v_{l, r}\) 为形如 \(S 阅读全文
posted @ 2021-10-25 15:22 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 多测题里不要写 exit(0); 四个指针模拟,贪心选数 尽量优先选左边 枚举第一次选什么 数两两不同,所以没有后效性 为了形成回文,选第 \(i\) 个数的时候第 \(2n-i+1\) 个数已经确定了,看看能不能选就行了 不能就-1 Code: #include <bits/stdc++. 阅读全文
posted @ 2021-10-25 11:04 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 首先可以二分出第 \(i\) 个数是什么 于是可以通过 \(R-L+1 \leqslant 3\) 的部分分 然后到这里其实就可以知道第 \(L\) 个数是什么以及有多少了,难点在于不好知道下一个数是什么 于是题解说它是个经典问题 首先可以知道每个 \(h\) 在什么范围内是最小值 然后每个 阅读全文
posted @ 2021-10-25 09:52 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 57 下一页