摘要:
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如今竟沦为模板,,,╮(╯▽╰)╭,唉 阅读全文
摘要:
https://www.codechef.com/status/COUNTARI 题意: 给出n个数,求满足i<j<k且a[j]-a[i]==a[j]-a[k] 的三元组(i,j,k)的个数 n^2 做法: 枚举j和k,当j右移时,令sum[num[右移之前j的值]]++ 每次统计sum[num[j 阅读全文
摘要:
https://www.lydsy.com/JudgeOnline/problem.php?id=4827 式子化简一下,发现最后只跟 Σ xi*yi 有关 第二个序列反转,就可以用FFT优化 注意: 循环会想到将序列复制一遍,但只能复制一个序列, 若n=4,第一个序列为1 2 3 4,,第二个序列 阅读全文
摘要:
https://www.lydsy.com/JudgeOnline/problem.php?id=3160 不连续的回文串数量=所有的回文序列数量-连续的回文子串 连续的回文子串: manacher 得到的以i为中心的连续回文串数量=以i为中心的最长回文半径长度 所有的回文序列: 将a看做1,b看做 阅读全文
摘要:
https://www.lydsy.com/JudgeOnline/problem.php?id=4259 令通配符=0 f[i+m-1]=Σ (a[i+j]-b[m-1-j])^2 * a[i+j] * b[m-1-j] 若a[i,i+m-1]能匹配上b[0,m-1],则f[i+m-1]=0 式子 阅读全文
摘要:
NTT(快速数论变换)用到的各种素数及原根: https://blog.csdn.net/hnust_xx/article/details/76572828 NTT多项式乘法模板 阅读全文
摘要:
http://www.lydsy.com/JudgeOnline/problem.php?id=4823 讨厌的形状就是四联通图 且左右各连一个方块 那么破坏所有满足条件的四联通就好了 按上图方式染色之后,任意满足要求的四联通块一定可以是 黑色-->紫左-->紫右-->白色 只要破坏三个箭头中的一个 阅读全文
摘要:
http://codeforces.com/problemset/problem/954/E 式子变成Σ xi*(ti-T)=0 sum0表示>=T的ai*ti之和 sum1表示<T的ai*ti之和 那么如果sum0<sum1,所有ti>=T的ai全加上 那么现在的Σ xi*(ti-T)>=0 考虑 阅读全文
摘要:
http://codeforces.com/problemset/problem/954/G 二分答案 检验的时候,从前往后枚举,如果发现某个位置的防御力<二分的值,那么新加的位置肯定是越靠后越好 差分即可 阅读全文
摘要:
http://codeforces.com/contest/950/problem/D 前n/2个格子的奇数下标的数没有参与移动 候n/2个格子的奇数下标的数一定是一路移向偶数下标移 所以还原数的初始位置时,让数沿原来的路线向右移动,到达的第一个奇数下标就是这个数的初始位置 在初始位置a的数是(a+ 阅读全文
摘要:
http://codeforces.com/contest/950/problem/C 题意: 给出一个01序列,问能否将这个序列分为若干个0开头0结尾的序列 输出方案 如果有解,几个1能在一个序列就在一个序列 一定可以找到解 因为0可以单独1个序列,1必须要依托于0 2个1如果分开 要4个0,连起 阅读全文
摘要:
参考自 石家庄二中 贾志豪 IOI2009国家集训队论文 《组合游戏略述—— 浅谈 SG 游戏的若干拓展及变形》 一、定义 游戏规则加上 对于还没有结束的所有单一游戏,游戏者必须对其进行决策 二、结论 对于必胜的单一游戏,游戏者希望玩的越久越好 对于必败的单一游戏,游戏者希望越早结束越好 因为Eve 阅读全文
摘要:
一、定义 Anti-Nim 游戏: 取走最后一个石子的玩家输 Multi-Nim游戏: 每次取完后可以将一堆石子分为多堆,不能存在空堆 Multi-Anti-Nim游戏: 每次取完后可以将一堆石子分为多堆,不能存在空堆,取走最后一个石子的玩家输 二、Anti-Nim游戏结论及其证明 若局面满足以下两 阅读全文
摘要:
Nim取石子游戏结论: 若n堆石子的异或和为0,则先手必败;否则,先手必胜 加入新规则: 每次取完石子后,可以将取的那一堆的石子 分为多堆,也可以不分 结论: 同Nim取石子游戏结论 证明: 如果异或和不为0,那先手不用分某一堆石子,同Nim游戏 如果异或和为0, 不执行分裂操作则先手必败,同Nim 阅读全文
摘要:
http://codeforces.com/problemset/problem/15/E 题意: 从H点走下去,再走回H点,不能走重复路径,且路径不能把黑色三角形包围的方案数 中间的黑色三角形把整张图分成两部分 即如果想要走回H点,除了只第一行的路径,必经过上面的蓝色点 否则一定会包围黑色的三角形 阅读全文
摘要:
http://www.lydsy.com/JudgeOnline/problem.php?id=1856 卡特兰数 从(1,1)走到(n,m),不能走y=x 上方的点,求方案数 从(1,1)走到(n,m)总方案是C(n,m) 不合法的路径一定会经过y=x+1 从第一次碰到y=x+1之后的路径沿y=x 阅读全文
摘要:
http://www.lydsy.com/JudgeOnline/problem.php?id=3997 最小链覆盖=最长反链长度 所以题目等价于寻找一条从右上角到左下角的最长路 #include<cstdio> #include<cstring> #include<iostream> using 阅读全文
摘要:
https://arc077.contest.atcoder.jp/tasks/arc077_c 有m个点围成一个圈,按顺时针编号为1到m,一开始可以固定一个位置x,每次操作可以往顺时针方向走一步或直接走到x。现在给出n个位置a[1..n],初始时在a[1],第i次要从a[i]走到a[i+1],在x 阅读全文
摘要:
http://www.lydsy.com/JudgeOnline/problem.php?id=3629 约数和定理: 若n的标准分解式为 p1^k1 * p2^k2 …… 那么n的约数和= π (Σ pi^xi ) xi∈[0,ki] 原本枚举小于S的质数,通过先判断S-1是不是质数 就可以 枚举 阅读全文