摘要:
简述: Burnside 引理: 一类状态在一个置换群 (\(G\)) 的作用下本质不同的状态(不同等价类)个数 \(∣X/G∣=\dfrac{1}{|G|}*\sum\limits_{r\in G}c(r)\) $c(r)$表示在 \(r\) 这一置换作用下不动点(状态不变的方案)的个数。 证明略 阅读全文
摘要:
传送门 做法: dp 误区:不能直接只用 \(i\) 最大的两个儿子来更新 \(f[i]\),因为深度更大的儿孙中可能有更有的选择。 70分:每个点开一个堆,每次将未被选到的节点和自己的信息传递给父亲,对于 \(f[i]\),将子节点的节点信息索要到当前节点(将儿子的堆合并到此节点的堆上),取出最大 阅读全文
摘要:
传送门 题意: 在左下角是 \((0, 0)\),右上角是 \((W, H)\) 的网格上,有 \((W + 1) × (H + 1)\) 个格点。 现在要在格点上找 N个不同的点,使得这些点在一条直线上。并且在这条直线上, 相邻点之间的距离不小于 D。求方案数模 \(10^9 + 7\)。 做法: 阅读全文
摘要:
传送门 做法: 记全体加法标记,全体乘法标记,数值总和 为 \(qa,qm,sum\),单个修改用 \(map\) 存。 操作一:将其数值赋为 \((x-qa)/qm\),修改 \(sum\)。(需预处理逆元)。 操作二:修改 \(qa\),\(sum\)。 操作三:修改 \(qa\),\(qm\) 阅读全文
摘要:
传送门 题意: 一只青蛙在位置 \(n\),在位置 \(i\) 每次可以向上跳 \(1\) ~ \(a[i]\) 格,每次跳到位置 \(j\) 会下滑 \(b[j]\) 格,问最少的跳跃次数跳到井口。输出方案。 做法: 设 \(f[i]\) 表示位置 \(i\) 先下滑后跳到顶部(位置 \(0\)) 阅读全文
摘要:
数位DP 前导零 是否压位 例题: 不要62 题面: 求 a 到 b 中不含连续的 62 并且不含 4 的数。 做法: 记 \(g(x)\) 为 0 到 x 之间的 windy 数。 求 \(g(b)-g(a-1)\) 深搜,记长度 x ,上一个数 last,是否压界 k。 枚举此位放几,排除不合法 阅读全文
摘要:
博弈论 Nim 游戏: 模板链接 给定 \(n\) 堆石子,两个人,每人每次任取一堆石子的若干个,谁取不到谁输。 先手必胜策略: 算出每堆石子个数的异或和 \(p\),从中选出一堆石子 \(i\),使其从 \(a[i]\) 变为 \(a[i]\oplus p\)(只要一堆石子在 \(p\) 二进制最 阅读全文
摘要:
#线性基 简述: 根据原有数组构造一个新数组(\(log\) 大小),原有数组的任何数都可用新数组中的若干个数异或得到,同时新数组中任意数组合异或出的数一定是原数组若干个数异或得到的数,并且任何原数组若干个数组合起来的异或值一定可以由新数组若干个数异或表示,且只有一种组合方案,即将新数组任意组合异或 阅读全文
摘要:
一P4124 [CQOI2016]手机号码 题意: 手机号码一定是 11 位数,前不含前导的 0。工具接收两个数 L 和 R,自动统计出 [L,R] 区间内所有满足条件的号码数量。L 和 R 也是 11 位的手机号码。 条件:号码中要出现至少 3 个相邻的相同数字;号码中不能同时出现 8 和 4。 阅读全文
摘要:
一:P4588 [TJOI2018]数学计算 题意略。 做法: 分块。分成 \(sqrt(m)\) 个块,算出每个块的乘积,操作一直接乘,操作二找出其对应块,将其数值改为一在做一遍乘积,时间复杂度根号 \(m\)。 code: #include<bits/stdc++.h> #define ll l 阅读全文