摘要:
https://codeforces.com/problemset/problem/1513/D 题意: 有n个数,每个数代表一个点,点i和点i+1之间都有一条权值为p的边,若区间[i,j]的最小值等于它们的gcd,i和j之间连一条区间最小值的边 求最小生成树 区间最小值=区间gcd 等价于 区间每 阅读全文
摘要:
https://acm.hdu.edu.cn/showproblem.php?pid=6194 题意: 给出一个串,询问他有多少个子串恰好出现k次 用后缀数组的height数组做 我们枚举按照rank排序的长为k的后缀子区间[l,r] 设这段区间的最长公共前缀位lcp 那么可以得出结论:以sa[l] 阅读全文
摘要:
https://codeforces.com/contest/1527/problem/B2 题意: 把easy version的初始的01串是回文串的条件去掉 easy version: https://www.cnblogs.com/TheRoadToTheGold/p/15254083.htm 阅读全文
摘要:
https://codeforces.com/contest/1527/problem/B1 题意: 有一个01回文字符串,两个人博弈,每次可以选择以下1种操作执行 1、把1个0变成1 2、若字符串不是回文串,且上一次没有执行操作2(按2个人一起算次数算的上一次),翻转字符串 当字符串变为全1时,谁 阅读全文
摘要:
https://codeforces.com/problemset/problem/1558/C 题意: 给出一个长为n(奇数)的排列,要求通过翻转奇数前缀的方式,使排列升序 至多可以做 n*5/2 次翻转 n为奇数,翻转不会改变数字所在位置的奇偶性 所以有解的前提是值为奇数的数在奇数位置,偶数在偶 阅读全文
摘要:
https://codeforces.com/problemset/problem/1558/B 题意: n级台阶,求从第n级走到第1级的方案数 有2种走法 1、从n走到n-y y∈[1,n-1] 2、从n走到n/z z∈[2,n] 令f[i]表示从第i级走到第1级的方案数 f[i]= ∑ f[i- 阅读全文
摘要:
https://codeforces.com/contest/1560/problem/F2 题意: 定义一个数字是k美丽的,当且仅当组成他的数字种类数<=k 给出数字n,求最小的>=n的k美丽数 贪心的思路 每次找出现第k+1种数字的位置 从这个位置开始往前找第一个不是9的位置,把它加1,后面的全 阅读全文
摘要:
https://codeforces.com/contest/1560/problem/F1 题意: 定义一个数字是k美丽的,当且仅当组成他的数字种类数<=k 给出数字n,求最小的>=n的k美丽数 k<=2 k=1,直接枚举全是0-9即可 k=2,枚举是哪两个数字a b,a<b 然后枚举一个可以修改 阅读全文
摘要:
https://codeforces.com/problemset/problem/1556/D 题意: 交互题,有一个隐藏的n个数的序列,你可以进行不超过2*n次询问 询问方式为每次问某两个位置的按位与结果 或者是 按位或结果 最后回答序列第k小的数是谁 利用 (a&b) + (a|b) = a+ 阅读全文
摘要:
https://codeforces.com/problemset/problem/1557/C 题意: 构造n个小于2^k的数,满足他们按位与的结果>=按位异或的结果 位运算只需要关心每一位的整体情况即可,不必要给关系n个数具体是什么 从高位往低位枚举(k-1 到 0) 设f[i]表示前i位按位与 阅读全文
摘要:
https://codeforces.com/problemset/problem/1556/C 题意: 给出一个描述左右括号个数的序列,例如2 3 4 3表示(()))(((())) 问有多少个合法的连续子序列 左括号为1,右括号为-1,统计前缀和 一段区间[l,r]是合法的括号序列,满足2个要求 阅读全文
摘要:
https://codeforces.com/problemset/problem/1562/D2 题意: 输出easy version的具体解 这是easy version题解 https://www.cnblogs.com/TheRoadToTheGold/p/15234002.html 用类似 阅读全文
摘要:
https://codeforces.com/problemset/problem/1562/D1 题意: 给出一个由1和-1构成的序列,有若干次询问,每次询问一个区间,问最少删除几个数,满足区间内剩下的序列的奇数项减去偶数项=0 结论: 1、若区间原本的奇数项-偶数项的和=0,答案是0 否则, 2 阅读全文
摘要:
https://acm.hdu.edu.cn/showproblem.php?pid=7048 题意: 一张可以做n个人的桌子,第一个人随便找一个位置坐,后面的人找一个距离有人的最短距离最大的位置坐。 当一个人发现他必须要和某个人挨着坐时,这张桌子就满了。 问当桌子坐满的时候,期望做了多少个人 这是 阅读全文
摘要:
https://acm.hdu.edu.cn/showproblem.php?pid=7047 题意: 2*n个筐,每个筐里的球个数无限。第2*x个框至多取x个球,第2*x-1个框只能取x的倍数个球。 问取出m个球的方案数 至多取x-1个球的筐和只能取x的倍数个球的筐放在一起可以看作是可以取任意个球 阅读全文
摘要:
https://acm.hdu.edu.cn/showproblem.php?pid=7115 题意: 一棵树,删点。要求不能删出孤立的点。问有多少种删除的方案。 一道挺简单的树形dp,可惜比赛的时候没看这个题 f[i][0]表示i的子树中,点i删除的方案数。要求i的剩余子树是合法的删点。 f[i] 阅读全文
摘要:
https://codeforces.com/problemset/problem/1552/B 题意: n个人五项指标,给出每项指标的所有人的排名。如果一个人有至少三项比另一个人排名靠前,那么这个人就可以打败他。 问有哪些人可能打败所有人。多解输出任意一个人,可能无解。 一开始想a如果比b厉害就a 阅读全文
摘要:
https://acm.hdu.edu.cn/showproblem.php?pid=7055 给出一个只含有小写字母组成的串s sqc(s,l,r,c)表示字符c在s的[i,j]内的出现次数 设f[i]表示以i结尾的子区间字符串的答案 考虑从f[i]推到f[i+1] 由i到i+1,假设s[i+1] 阅读全文
摘要:
https://acm.hdu.edu.cn/showproblem.php?pid=7050 题意相当于问n个点n条边的有向图(可能有自环),是否所有的环的平均值相等 用tarjan找环效果不甚理想,还是std的拓扑排序妙 #include<bits/stdc++.h> using namespa 阅读全文
摘要:
https://codeforces.com/contest/1560/problem/E 题意: 有一个串s和一个空串t,可以进行若干次以下操作, 每次操作先把s拼在t的后面,然后删掉s中的一种字母 直至s为空串 现在给出t,还原出s以及删除字母的顺序 原始思路: t串中最后一个字母就是最后删除的 阅读全文
摘要:
https://codeforces.com/problemset/problem/1542/C 题意: 定义$f(i)\(表示最小的不能整除i的数,求\)\sum_{i=1}^nf(i)$ 若$f(i)=x$,说明$1|i,2|i,3|i,……(x-1)|i,x \nmid i$,即$lcm(1, 阅读全文
摘要:
https://acm.hdu.edu.cn/showproblem.php?pid=7016 题意: n个点的有向完全图,在图上游走 每次以p[i][j]的概率从i走向j 如果某次在原地没有动,那么游走结束 对所有i j回答起点在i,游走到j结束的概率 设起点在s 用常见的解决图上随机游走问题的方 阅读全文
摘要:
https://acm.hdu.edu.cn/showproblem.php?pid=7015 题意: 定义2个长度相等的字符串距离为对应位置不相同的字符个数 若两个字符串的距离<=k,则称他们是k相似的 给出一个字符串,将他分割为A[1,i]和B[i+1,n]两部分, 问从A、B中各选一个子串,有 阅读全文
摘要:
考虑数字x的贡献 设S[i]表示x在前i个位置的出现次数 那么如果存在区间[l+1,r]满足要求,则S[r]-S[l]>(r-l)/2,即2S[r]-r>2S[l]-l 令T[i]=2S[i]-i 那可以得到一个n^2 * logn的做法: 枚举数字x,枚举位置,用一个数据结构统计一段区间内<某个数 阅读全文
摘要:
https://www.luogu.com.cn/problem/P4168 分块大法好 首先离散化把值域缩小到n 预处理3个数组 sum[i][j]表示前i块里j的出现次数 mx[i][j]表示第i块到第j块出现次数最多的数出现了多少次 who[i][j]表示第i块到第j块出现次数最多的数最小是谁 阅读全文
摘要:
https://acm.hdu.edu.cn/showproblem.php?pid=7018 题意: n*n*n内放方块,在(x,y,z)位置放的花费是x*y^2*z,如果方块放的位置下面没有方块,方块会因为重力作用下坠。 要求放完之后从上面、左面、前面三个方向看,都是n*n 问最小和最大花费分别 阅读全文
摘要:
https://acm.hdu.edu.cn/showproblem.php?pid=6991 题意: 给一个n的排列, 问有多少个极长上升子序列 设f[i]表示以i结尾的极长上升子序列个数 初始化:若第i个数是前i个数里最小的,则f[i]=1 j对i有贡献,当且仅当不存在k,满足j<k<i 且 a 阅读全文
摘要:
https://acm.hdu.edu.cn/showproblem.php?pid=6989 题意: 定义一个区间[L,R]的平均值为(最大值+最小值)/2 若干次询问[l,r],求[l,r]子区间平均值的期望 对[l,r]求所有子区间的最大值之和+最小值之和 然后除以2再除以子区间个数 求子区间 阅读全文
摘要:
https://www.luogu.com.cn/problem/P3246 解法一:莫队+ST表+单调栈 考虑如何由[L,R]的答案推向[L,R+1]的答案 [L,R]向[L,R+1],增加的是[L,R+1] [L+1,R+1] [L+2,R+1] …… [R,R+1] [R,R] 这些区间每个区 阅读全文
摘要:
http://poj.org/problem?id=3294 题意: n个字符串,求至少出现在n/2个字符串中的最长公共子串,按字典序输出所有解 在下面这个题的接触上输出所有的解 https://www.cnblogs.com/TheRoadToTheGold/p/15142861.html 确定好 阅读全文