会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
YipChipqwq
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
···
10
下一页
2025年4月6日
2024 CCPC 郑州 G - Same Sum
摘要: G - Same Sum 神秘题目,感觉是某一类典题。 考虑维护一个区间的怎么匹配,很显然是头尾匹配,否则会形成偏序关系导致大小不等。 题解很神秘的掏出了一个哈希函数 \[F_{+}(l, \, r) = \sum_{i = l}^r x^{a_i} \]\[F_{-}(l, \, r) = \su
阅读全文
posted @ 2025-04-06 21:38 YipChip
阅读(77)
评论(0)
推荐(0)
2025年3月31日
European Championship 2025 E - Porto Vs. Benfica
摘要: E. Porto Vs. Benfica 题意说的很清楚了,这里就不再过多阐述。 有个很直接了当的算法就是,枚举每一个点,并且枚举它相邻的一条边,从 \(1\) 跑到这个点的最短路加上这个点不经过这条边到 \(n\) 的最短路之和。 设 \(dist(u, \, v)\) 表示 \(u, \, v\
阅读全文
posted @ 2025-03-31 20:44 YipChip
阅读(51)
评论(0)
推荐(0)
UESTC 23-th ACM-ICPC 初赛 Q. 校车
摘要: 这东西其实蛮像最小斯坦纳树,不过我们通过状压DP的思想来讲一讲这个题。 形式化题意:考虑一共有 \(n\) 个点,\(m\) 条无向边,你需要从图中选出至多 \(K\) 条闭合路径,使得所有 \(w\) 个关键点都被覆盖,使得最长路径最小。 容易发现 \(n \le 500\),因此我们可以通过 F
阅读全文
posted @ 2025-03-31 14:33 YipChip
阅读(72)
评论(0)
推荐(0)
2025年3月30日
子集枚举
摘要: 子集遍历 for (int i = 0; i < 1 << n; i ++ ) 这个代码可以从 \(0\) 开始不重复的遍历每一个二进制数,因此时间复杂度 \(O(2^n)\)。 子集枚举 有的时候,我们希望枚举集合 \(i\) 所对应的所有自己,显然我们不可能循环套循环求与的方法做,时间复杂度是
阅读全文
posted @ 2025-03-30 01:08 YipChip
阅读(57)
评论(0)
推荐(0)
2025年3月27日
2022CCPC Online Contest G - Name the Puppy
摘要: 对正串和反串分别建立 Trie 树,定义 \(dp[i][j]\) 表示正串 Trie 树上编号为 \(i\) 的点匹配反串 Trie 树上编号为 \(j\) 的点所能拼出最长 anti-border 的长度。 如此,从根节点开始搜索,直到无法匹配为止都可以搜,搜到底后回到根节点继续匹配,可以证明,
阅读全文
posted @ 2025-03-27 23:42 YipChip
阅读(28)
评论(0)
推荐(0)
2022CCPC Online Contest E - Substring Match
摘要: 利用大写字母较少的性质,记录两个大写字母中间的串是否相等来进行转移。 设 \(f[i][j]\) 表示考虑用到第 \(i\) 个大写字母的时候,\(s\) 匹配到第 \(j\) 个字符时最长匹配数。 当前大写字母 \(t[pos[i]] = s[j]\) 时,显然有 \(f[i][j] = f[i]
阅读全文
posted @ 2025-03-27 23:03 YipChip
阅读(51)
评论(0)
推荐(0)
2022CCPC Online Contest J - Count Permutation
摘要: 英语不好吃大亏,题意想表达的是对于所有 \(n\) 元排列的 \(w(P)\) 最小,并不是满足 \(p_1 = s, \, p_m = t\) 的排列,因此最小的 \(w(P) = 2\),如果你看假了,这个题分讨没法做。 首先 \(w(P) = 2\) 能在什么条件满足?\(P\) 如果是个模
阅读全文
posted @ 2025-03-27 15:49 YipChip
阅读(16)
评论(0)
推荐(0)
2025年3月24日
欧拉计划 31~40
摘要: 31 完全背包求方案数,具体参见代码。 // cpp #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e5 + 10; int main() { vector<ll> f(201);
阅读全文
posted @ 2025-03-24 21:06 YipChip
阅读(14)
评论(0)
推荐(0)
2025年3月18日
欧拉计划 91~100
摘要: 91 这个题的扩展满足 \(N \le 2500\),枚举每个点的位置去计算太慢,我们能否通过枚举一条线来计算答案? 考虑枚举一条斜率为 \(\frac{y}{x}\) 的一条直线,这条直线在至少可以在范围内交出 \((x, \, y)\) 这个点,我们以 \((0, \, 0), \, (x, \
阅读全文
posted @ 2025-03-18 20:49 YipChip
阅读(49)
评论(0)
推荐(0)
欧拉计划 81~90
摘要: 81 定义状态转移方程: \[dp[i][j] = \min(dp[i - 1][j], \, dp[i][j - 1]) + a[i][j] \]// cpp #include<bits/stdc++.h> using namespace std; const int N = 1010; int
阅读全文
posted @ 2025-03-18 00:52 YipChip
阅读(30)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
···
10
下一页
公告