摘要: 图灵杯 2023 游记 百度之星没打,因为要收钱(鉴定为 CCF)。 2023 杭电多校记录 CSP 2023 游记 NOIP 2023 游记 THUPC 2024 游记 CCF WC 因为生病=没打。 联合省选 2024 游记 PKUSC&APIO 2024 游记 阅读全文
posted @ 2024-02-27 21:29 zifanwang 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 前言 本人坐标江苏南京,NFLS初一选手。 图灵杯 今年参加中级组。 2022-05-15 总共 \(4\) 道题,拿了 305pts,最后去掉社会人士排第 \(7\),拿了一台小度。 发现 \(tourist\) 竟然参加高级组了!而且没有霸榜。 百度之星 今年百度之星 OJ 改成了码蹄集。 初赛 阅读全文
posted @ 2024-02-27 21:20 zifanwang 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 先去掉相邻两个都填完的位置,对于两个都没填的记个数为 \(c\),最后只需要将答案乘上 \(c!\)。 接下来考虑从小到大枚举所有数进行 dp,记 \(f_{i,j,k}\) 表示考虑完前 \(1\sim i\),有 \(j\) 个数需要跟一个位置确定的数匹配,有 \(k\) 个数需要跟后面一个自由 阅读全文
posted @ 2024-12-19 16:07 zifanwang 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 一道妙妙题。 一句话题意:求点分树的高度最小值。 给所有点填上一个数表示它子树 \(k\),考虑一种填法什么时候满足条件,发现当且仅当任意两对值相同的点之间的路径上存在一个权值更大的点。 考虑随便找一个点作为根从叶子节点开始贪心填值,每次选择能填的最小值,发现这样填最终的值的最大值一定是最小的。 在 阅读全文
posted @ 2024-12-19 14:30 zifanwang 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 首先容易发现含有 \(2n\) 的那一堆不会被删掉,记其为 \(a\),另一堆为 \(b\)。记 \(p_i\) 表示最小的 \(j\) 满足 \(j\ge i\land a_j>b_i\),那么至少要在 \(a\) 堆中删除 \(\max\{p_i-i,0\}\) 个数才能删除 \(b_i\),那 阅读全文
posted @ 2024-12-19 08:04 zifanwang 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 考虑维护若干个联通快,初始化每个点一个连通块。对每个联通块维护大小、\(\sum_xa_x\) 还有最优期望,每次选择两个联通快合并。考虑两个联通快 \(a,b\) 哪个在前面更优。 记 \(a_c,a_s,a_d\) 分别表示连通块 \(a\) 的点数、\(\sum_xa_x\) 以及最优期望,\ 阅读全文
posted @ 2024-12-18 09:34 zifanwang 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 考虑确定哪些点不动,这些点一定构成一个单调递增子序列,那么对于剩下的点: 若在它之前存在一个不动点大于它,则需要花费 \(b\) 的代价向前移动。 若在它之后存在一个不动点小于它,则需要花费 \(a\) 的代价向后移动。 如果两个都不存在,则它一定可以加入不动点序列。 考虑 dp,记 \(f_{i, 阅读全文
posted @ 2024-12-18 09:33 zifanwang 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 考虑 dp,记 \(dp_{i,j}\) 表示确定前 \(i\) 个数最后一个数为 \(j\) 的方案数,则: \[dp_{1,i}=[x_1\mid i]\\ dp_{i,j}=[x_{i-1}\mid j]\sum_{k=1}^m dp_{i-1,k}[\gcd(k,j)=x_{i-1}][x_ 阅读全文
posted @ 2024-12-07 00:01 zifanwang 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 显然可以对答案奇偶分别二分,判断用点分治。考虑对每个点记录到当前分治中心的路径正着和倒着的 hash 值,那么两个点之间的路径是回文路径可以用一个简单的式子表示,移项一下把跟一个点有关的值放到一边,用 unordered_map 记录/查询即可,需要卡常,时间复杂度 \(\mathcal O(n\l 阅读全文
posted @ 2024-12-05 23:30 zifanwang 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 首先容易确定每个位置的上界,接下来考虑对每种上界分别求方案数,再乘起来。 对每一种上界将其对应的位置提出来,由于是区间 \(\max\),只需要关注每个位置的值是否到达这个上界 \(x\)。枚举一个前缀,考虑维护 \(f_i\) 表示最后一个达到上界位置为 \(i\),确定完这个前缀中所有数的方案数 阅读全文
posted @ 2024-12-01 23:10 zifanwang 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 先把是否有色的约束处理掉。累一个前缀和,对每个位置判一下即可。 考察区间覆盖的性质,显然最后一个操作的区间内的颜色一定与其覆盖的颜色相同。考虑从后往前确定操作的顺序,一个操作只要满足这个条件就可以作为当前的最后一个操作,如果有多个满足条件的操作,随便取一个都合法。 考虑维护满足条件的操作,每次取出一 阅读全文
posted @ 2024-12-01 16:20 zifanwang 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 先考虑构建树的形态,显然可以将所有边按边权从小到大排序,构造最小生成树。注意到相邻的两个点之间的颜色数只可能是 \(1\) 或 \(2\),所以只考虑边权 \(\le 2\) 的就好了。 接下来考虑怎么染色。考虑从一个点开始 dfs,每次确定当前遍历到的点的颜色,考察当前点到父亲的边权: 等于 \( 阅读全文
posted @ 2024-11-29 17:36 zifanwang 阅读(3) 评论(0) 推荐(0) 编辑