随笔分类 - OJ -- HDU
摘要:【HDU6037】Expectation Division(动态规划,搜索) 题面 "Vjudge" 你有一个数,,为了方便会告诉你分解之后有个不同的质因子,并且把这些质因子给你。 你每次可以把变成一个它的约数,求变成的期望步数。 题解 首先
阅读全文
摘要:【HDU1693】Eat the Trees(插头dp) 题面 "HDU" "Vjudge" 大概就是网格图上有些点不能走,现在要找到若干条不相交的哈密顿回路使得所有格子都恰好被走过一遍。 题解 "这题" 的弱化版本吧。。。 因为可以任意分配哈密顿回路的数量,因此根本不需要再考虑插头的配对问题了,那
阅读全文
摘要:【HDU5469】Antonidas(点分治,字符串哈希) 题面 "HDU" "Vjudge" 题解 啊哈?什么垃圾一眼点分治+Hash判断,哈哈哈哈哈,让我来码码码。 诶,怎么WA了。改改改改改。 诶,怎么很对啊,去网上蒯一个标程来拍拍拍。 诶,怎么拍不WA啊,让我来人工检测一波啊哈哈哈哈。 感觉
阅读全文
摘要:【HDU4336】Card Collector(Min Max容斥) 题面 "Vjudge" 题解 原来似乎写过一种状压的做法,然后空间复杂度很不优秀。 今天来补一种神奇的方法。 给定集合,设为中的最大值,为集合中的最小值。 那么我们可以得到
阅读全文
摘要:【HDU3595】GG and MM(博弈论) 题面 "HDU" 一个游戏由多个游戏组成,每次每个操作者必须操作所有可以操作的游戏,操作集合为空者输。 每个游戏由两堆石子组成,每次可以从较多的那一堆中取走较小那堆的数量的倍数个石子。 判断胜负。 题解 ,所以我们只需要分开考虑两堆
阅读全文
摘要:【HDU3032】Nim or not Nim?(博弈论) 题面 "HDU" 题解 模板题
阅读全文
摘要:【HDU1848】Fibonacci again and again(博弈论) 题面 "Hdu" 你有三堆石子,每堆石子的个数是,你每次可以从一堆石子中取走斐波那契数列中一个元素等数量的石子数,两人轮流取,不能操作者输,判定先后手的胜利。 题解 根据定理,三堆石子可以拆开来看,
阅读全文
摘要:题面 "HDU1527 取石子游戏" "洛谷2252 取石子游戏" 题解 裸的威佐夫博弈 cpp include include using namespace std; const double phi=(sqrt(5)+1)/2; int a,b; int main() { ios::sync_
阅读全文
摘要:题面 "HDU" 题解 模板题 cpp include using namespace std; int T,n,m; int main() { ios::sync_with_stdio(false); cin T; while(T ) { cin n m; if(n%(m+
阅读全文
摘要:【HDU4471】Homework(矩阵快速幂) 题面 "Vjudge" 给定一个数列的前项,给定一个和前项相关的递推式。 有个位置的递推式单独给出,求数列第项。 题解 大部分的转移还是相同的,所以可以提前构建好矩阵,预处理转移矩阵的, 这样子可以在$O(t^2lo
阅读全文
摘要:【HDU4689】Derangement(动态规划) 题面 "Vjudge" 给定一个组成的字符串,长度为。 如果第位是,那么,否则$p_i include define ll long long ll f[22][22]; char ch[22]; int
阅读全文
摘要:【HDU5421】Victor and String(回文树) 题面 "Vjudge" 大意: 你需要支持以下操作: 动态在前端插入一个字符 动态在后端插入一个字符 回答当前本质不同的回文串个数 回答当前回文串个数 题解 回文树前端插入的操作,学一学感觉并不难? 额外维护一下一个前端插入的$last
阅读全文
摘要:【HDU5909】Tree Cutting(FWT) 题面 "vjudge" 题目大意: 给你一棵个节点的树,每个节点都有一个小于的权值 定义一棵子树的权值为所有节点的异或和,问权值为的所有子树的个数 题解 考虑 设表示以为根节点的子树中,
阅读全文
摘要:【HDU5730】Shell Necklace(多项式运算,分治FFT) 题面 "Vjudge" 翻译: 有一个长度为的序列 已知给连续的长度为的序列装饰的方案数为 求将个位置全部装饰的总方案数。 答案 题解 很明显,是要求: $f[n]=\sum_
阅读全文
摘要:【HDU5919】SequenceII(主席树) 题面 "Vjudge" 翻译(by ppl) 题解 先考虑一下怎么求区间内有多少个不同的数 方法有两种 第一种: 记录一下每个数上一次出现的位置 每次将这个位置+1 最后求区间内的数的个数 也就是求区间内上一次出现的位置在左侧的数的个
阅读全文
摘要:【HDU4336】Card Collector (动态规划,数学期望) 题面 "Vjudge" 题解 设表示状态到达目标状态的期望 直接枚举一下即可 cpp include int n; float f[1
阅读全文
摘要:【HDU4652】Dice(数学期望,动态规划) 题面 "Vjudge" 有一个面骰子 询问,连续出现个相同的时候停止的期望 连续出现个不同的时候停止的期望 题解 考虑两种分开询问来算。 第一种: 设表示已经有连续的个相同时,到达目标状态的期望。 $$f[i]=\
阅读全文
摘要:【HDU4622】Reincarnation(后缀自动机) 题面 "Vjudge" 题意:给定一个串,每次询问l~r组成的子串的不同子串个数 题解 看到字符串的大小很小 而询问数太多 所以我们预处理任意的答案 枚举左端点,依次向右加入新节点 直接统计答案即可 cpp include include
阅读全文
摘要:【HDU1695】GCD(莫比乌斯反演) 题面 题目大意 求$a include include include include include include include include include using namespace std; define MAX 101000 inline
阅读全文
摘要:题面 C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可
阅读全文