04 2018 档案
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2815 //解 K^D ≡ N mod P #include<map> #include<cmath> #include<cstdio> #include<iostream> using namespace std
阅读全文
摘要:求LCA,N=1e6,原空间限制8MB 求LCA需要深度,需要跳跃一定距离的祖先,需要父节点 把一个整数压成3个char,f[]存父节点 g[],深度为奇数的点存往上跳576步能到的点,深度为偶数的点存深度 如果深度为奇数的点要求它的深度,求他父节点的深度+1 如果深度为偶数的点要求它往上跳576步
阅读全文
摘要:不理解,背板子 #include<cstdio> using namespace std; int Pow(int a,int b,int p) { int res=1; for(;b;a=1LL*a*a%p,b>>=1) if(b&1) res=1LL*a*res%p; return res; }
阅读全文
摘要:若m=0, 就是求n^2n ≡ x mod p (x--) 因为一定优解,所以x一定是p的二次剩余 令g为p的1个原根,且g^k ≡ x mod p 则k是偶数,证明k是偶数: 假设 g1^k1 ≡ x mod p g2^k2 ≡ x mod p,k2是偶数 g1^k3 ≡ g2 mod p 那么
阅读全文
摘要:http://acm.timus.ru/problem.aspx?space=1&num=1132 题意: 求 x^2 ≡ n mod p p是质数 的 解 本题中n>=1 特判p=2,接下来求当p是奇素数时的解 引理1: 引理2:方程有解当且仅当 定理: 设a满足 不是模p的二次剩余, 即无解,
阅读全文
摘要:https://uva.onlinejudge.org/external/119/p11916.pdf 令m表示不能染色的格子的最大行号 设>m行时可以染k种颜色的格子数有ck个,恰好有m行时可以染k种颜色的格子数有ckm个 分m行、m+1行、>m+1行讨论 如果是m行:k^ckm * (k-1)^
阅读全文
摘要:维护前i天的最优解,那么在后面可能会对前面几天的买卖情况进行调整 如果前面买入,买入的这个在后面一定不会卖出 如果前面卖出,卖出的这个可能会在后面变成买入,因为买这个,卖后面的会获得更多的收益 用一个小根堆,存储前面所有的卖出的股票的价格 如果后面想卖出,扔到堆里 如果后面想买入,与堆顶元素比较,如
阅读全文
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=5017 暴力: 对于每一个炸弹,枚举所有的炸弹,看它爆炸能不能引爆那个炸弹 如果能,由这个炸弹向引爆的炸弹连单向边 tarjan所点后拓扑排序 在拓扑图上倒着统计答案 可以得到一个炸弹能引爆的编号最小
阅读全文
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=5285 |0 和 &1 没有影响 若填‘|’,记为0,若填‘&’,记为1 先只考虑最后一位 若要求最后=1 那么最后一个|1 要在最后一个 &0 后面 将n个数的最后一位拿出来构成一个01序列 填在所
阅读全文
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=4332 因为如果一位小朋友得不到糖果,那么在她身后的小朋友们也都得不到糖果。 所以设g[i][j] 表示前i位小朋友,分到j个糖果,且前i位小朋友都分到糖果的方案数 令F(x) 表示分到x个糖果的欢乐
阅读全文
摘要:求出序列的生成函数后,倍增FWT #include<cstdio> using namespace std; #define N 2048 const int mod=1e9+7; int inv; int f[N+1]; int Pow(int a,int b) { int res=1; for(
阅读全文
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=4589 n*m*m 做法 dp[i][j] 前i堆石子,异或和为j的方案数 第一重循环可以矩阵快速幂优化 后面求出序列的生成函数可以FWT优化 做log次FWT也很慢(logn*m*logm) 两个合
阅读全文
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=5248 先手希望先手得分减后手得分最大,后手希望先手得分减后手得分最小 棋盘的局面一定是阶梯状,且从上往下递减 可以将轮廓线作为状态,记忆化搜索 用n个数表示一个状态,第i个数表示第i行放了几个 记忆
阅读全文
摘要:给定一个由小写字母组成的字符串,输出有多少重复的回文子序列 爆搜代码
阅读全文
摘要:根据期望的可加性,我们可以算出每一位客人的期望等待时间,将他们累加 即 每一位客人所有可能情况的时间之和 / n! 设S= 每一位客人所有可能情况的时间之和 如果有f(i,p)种方案使客人i是恰好第p个进入花亭的,那对S的贡献为(n-p+1)* t[i] * f(i,p) 所以问题转变为计算f(i,
阅读全文
摘要:题意: 给出n个三元组 e[i]=(si,ti,wi) 第i个三元组的价值为 Σ w[j] ,j 满足以下4个条件: 1、j<i 2、tj<ti 3、sj<si 4、不存在j<k<i,且sj<sk<si 把每个三元组看作二维平面上的一个点(i,si) 先不考虑t, 那么j若满足要求,必须满足以(j,
阅读全文
摘要:n个点的带点权带边权的树,设点权为a[i],边权为b[i] 一棵树有n*(n-1)/2个点对, 定义这棵树的价值为任意两点对的(a[x]^a[y])*dis(x,y) 有m次修改一个点的点权的操作 输出每次修改完点权后这颗树的价值 第i次的修改会影响到第i次之后的修改 第一眼:我靠怎么又是点分树 然
阅读全文
摘要:解为基环树森林 证明其具有拟阵的性质: 1、空集独立 2、基环树森林的子集仍然是基环树森林,满足遗传特性 3、对于基环树森林A,B,若|A|<|B| (边数),一定可以找到一条边e∈B,∉A,使A∪e仍然是基环树森林,满足扩充特性 扩充特性证明: 枚举A中的联通块 1、若A中这个联通块的边数<B中对
阅读全文
摘要:#include #include #include using namespace std; #define N 201 pairp[N]; char s[N]; int ans[N],cnt; bool vis[N]; int start; int tmp[N]; void read(int &x) { x=0; char c=getchar(); whil...
阅读全文
摘要:http://www.spoj.com/problems/OPTM/ 题意: 给出一张图,点有点权,边有边权 定义一条边的权值为其连接两点的异或和 定义一张图的权值为所有边的权值之和 已知部分点的点权,自定义其余点的点权 使图的权值最小,并在此基础上使点权和最小 输出点的权值 异或——按位做 那么题
阅读全文
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=2342 解法一: 对原串构建回文自动机 抽离fail树,从根开始dfs 设len[x]表示节点x表示的最长回文子串长度 在fail树上,x到根节点的路径上的点表示的字符串包含了x代表的回文子串的所有回
阅读全文
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=2565 正着构造回文自动机 倒过来再构造一个回文自动机 分别求出以位置i开始的和结尾的最长回文串
阅读全文
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=3676 回文自动机模板题 4年前的APIO如今竟沦为模板,,,╮(╯▽╰)╭,唉
阅读全文

浙公网安备 33010602011771号