摘要: 传送门 毒瘤题 相关略掉的证明见pdf,我并没有全看完,待补吧 首先这个题有暴力hash和最小表示法的做法 然后正解,有两种做法 对于循环同构串,可以定义一种很套路的变换 \(C(x,y)=x[1]y[n]x[2]y[n-1]..x[n]y[1]\) 那就有 \(C(x,x)=x[1]x[n]x[2 阅读全文
posted @ 2021-10-04 21:31 Administrator-09 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 传送门 暴力的话其实是网络流的板子,但我没有看出来 于是想了一个贪心的部分分解法,每次取余量最多的b 正解的话 首先若是check一个固定的 \(a, b\),就是check能否满流 令 \(c_i\) 为a数组从大于等于 \(i\) 的数的个数,则有 \(\sum\limits_{i=1}^{n} 阅读全文
posted @ 2021-10-04 17:53 Administrator-09 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 传送门 观察第二个样例,发现每对斜角相同的字母能贡献出一种不同的走法 有一左上一右下这样的相同字母对就一定合法 二维前缀和来做可以 \(O(nm)\) Code: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f 阅读全文
posted @ 2021-10-04 17:17 Administrator-09 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 传送门 很神的题 原图的最小生成树是确定的,但在这里不知道怎么用 给定原图最小生成树,求原图方案数的一种可能切入点: 考虑kruskal的过程,若按权值从小到大加边,则树边一定会连通两个连通块,非树边一定不影响连通性 于是可以以连通块为状态做DP了 那令 \(dp[i][s]\) 为考虑到第 \(i 阅读全文
posted @ 2021-10-04 06:31 Administrator-09 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 传送门 部分分可以考虑状压后转后缀表达式再求值 中缀表达式转后缀表达式:见蓝书P52 全分不会,咕了 阅读全文
posted @ 2021-10-04 06:06 Administrator-09 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 传送门 初看基本可以确定是个DP,但根本找不到可以当做状态的东西 题解思路的切入点大致是找什么东西是独立的 发现对于一个点,在它的祖先节点还有球的时候,子树外的选法独立,与子树内可以任意合并而不会引起冲突 而当这个节点已经没有球了后,其子树中的选法是独立的,同样可以任意合并而不会引起冲突 于是令 \ 阅读全文
posted @ 2021-10-04 06:05 Administrator-09 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 传送门 是一种套路的变式 如果不考虑祖孙关系的限制,临项扰动一下就可以得到 \(\frac{a}{b}\) 小的优先的策略 但现在有些点有一些前置点要考虑 先有一个结论:按比值小的贪心选点,若选到一个点时其父节点还没选,则在选中其父节点后一定会立刻选这个点 然后就可以缩点,把这些一定连续选的点缩在一 阅读全文
posted @ 2021-10-04 06:04 Administrator-09 阅读(5) 评论(0) 推荐(0) 编辑