摘要: Problem - E2 - Codeforces 题意: 有n个正整数,你至多可以把其中k个修改为任意的正整数 你需要把这n个数划分为若干个连续的段,满足每一段的任意两个数的乘积都不是完全平方数 问最少划分为多少段 任意两个数的乘积都不是完全平方数 等价于 把区间内的数质因子分解,每个质因子的指数 阅读全文
posted @ 2021-11-12 19:39 TRTTG 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出2个串s和t 要求从s中选出连续一段区间[i,j],拼接上t的前k个字符是回文串 且区间[i,j]长度要大于k 问三元组(i,j,k)有多少种 s中选出的区间长度要大于t的前缀,且要拼接出来是回文串 等价于 s选出的区间中,后一块是自回文的,前一块拼上t的前缀是回文串 等价于 s选出的区 阅读全文
posted @ 2021-11-11 20:44 TRTTG 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Problem - 1606E - Codeforces 题意: 有n个英雄,每一轮每个英雄向除自己之外的所有英雄发动一次攻击 每个英雄有初始血量,当承受攻击次数>=初始血量时,英雄死亡 如果最后存在一个英雄活到了最后,他就获胜 英雄初始血量上限为x 问有多少种英雄初始血量方案数,满足最后没有获胜的 阅读全文
posted @ 2021-11-10 19:07 TRTTG 阅读(21) 评论(0) 推荐(0) 编辑
摘要: Problem - 1582E - Codeforces 把数组翻转一下 问题变成了每段数字个数增多,总和减少 这样的好处是可以直接求段数的最大值 dp[i][j]表示前i个数可以组合出前j段,且第j段的和最大时的最后一个位置 因为每一段的和逐渐减小,所以前面的和越大越好 j最大是根号级别,所以复杂 阅读全文
posted @ 2021-11-07 18:06 TRTTG 阅读(18) 评论(0) 推荐(0) 编辑
摘要: Problem - 1506F - Codeforces 重点: 给出的n个点保证存在一条路径能同时经过给出的n个点 这位大佬的题解图文并茂 Codeforces 1506F - Triangular Paths - StelaYuri - 博客园 (cnblogs.com) #include<bi 阅读全文
posted @ 2021-11-06 20:36 TRTTG 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Problem - 1536D - Codeforces 题意: 给出一个长为n的数组b,问是否存在一个长为2n-1的数组a,满足b[i]是a中前2*i-1个数的中位数 设已经确保b中前i个数都满足条件 现在判断b[i+1]是否满足 因为b[i]满足条件, 所以已经构造出了一个a数组,设c是a按升序 阅读全文
posted @ 2021-11-06 19:54 TRTTG 阅读(4) 评论(0) 推荐(0) 编辑
摘要: Problem - 1601B - Codeforces 题意: 井下深度为n,在井下深度为i的地方可以往上跳[0,ai]米 如果没有跳出井,则要下滑bi米 问最少跳几次可以跳出井 假设跳[1,d]可以出井的位置都求出来了 现在求跳d+1次可以出井的位置 枚举跳d次可以出井的位置v,若从位置u可以滑 阅读全文
posted @ 2021-11-06 11:18 TRTTG 阅读(43) 评论(0) 推荐(1) 编辑
摘要: Problem - 1545B - Codeforces 题意: 1*n的棋盘,初始某些位置可能有棋子 每次可以选择一个棋子,如果它的右边第一个有棋子且第二个无棋子,或者它的左边第一个有棋子且第二个无棋子,就可以把这个棋子跳到那个无棋子的位置 操作可以进行任意次 问棋盘可能有多少种局面 画一画可以发 阅读全文
posted @ 2021-11-02 11:18 TRTTG 阅读(8) 评论(0) 推荐(0) 编辑
摘要: Problem - 1534D - Codeforces 题意: 交互题 有一颗树,无边权,通过交互输出这棵树的连边情况 每次可以询问1个点,获得每个点和这个点的距离 至多询问n/2 上取整次 任取一个点作为n节点,奇数层和偶数层的点必有一个小于等于一半 先随便问一个点,把他作为根,根据与这个点的距 阅读全文
posted @ 2021-11-02 11:10 TRTTG 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Problem - F - Codeforces 题意: 有n个不一样的m维向量,每个维度要么是0,要么是1,而且至多有2个维度是1 问这些向量取任意个在模2意义下相加,能得出多少种不同的向量 并找到一个个数最少且字典序最小的小向量集,里面的向量按上述相加可以得出答案的所有向量 加一个虚拟节点 若向 阅读全文
posted @ 2021-10-19 20:14 TRTTG 阅读(8) 评论(0) 推荐(0) 编辑
摘要: Problem - C - Codeforces 题意: 有3个集合,每个集合里有若干个数 你可以选2个来自不同集合的数x、y,然后让2个数同时减去x 经过若干次操作后,只剩下1个数 问剩下的这个数最大可以是多少 操作相当于把一个集合里的数变号,然后放到另一个集合中并与集合中的某个数相加 设集合A中 阅读全文
posted @ 2021-10-19 17:04 TRTTG 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Problem - 1458B - Codeforces 题意: 有n个瓶子,每个瓶子有容量、已有水量 你可以倒水,若把瓶子A中的x体积水倒入瓶子B,实际倒进去的只有x/2 即A减少x,B变为min(原有水量+x/2,容积) 你可以选择k个瓶子作为最终的储存水的瓶子,最大能储存多少体积的水 对k从1 阅读全文
posted @ 2021-10-19 12:03 TRTTG 阅读(15) 评论(0) 推荐(0) 编辑
摘要: Problem - 1466E - Codeforces 题意: 给出一个序列X,求 前后两项都有xj,那我们就枚举xj 设所有的数与xj按位与的和为sa 所有的数与xj按位或的和为sb 那么枚举的xj对答案的贡献是sa*sb 按位与的和sa怎么求? 按二进制位考虑,对于xj来说,如果它的第k位二进 阅读全文
posted @ 2021-10-19 11:45 TRTTG 阅读(13) 评论(0) 推荐(0) 编辑
摘要: Problem - 487B - Codeforces 题意: 一个n个数的数组,要求把他们划分为最少的连续段,满足: 1、每段长度至少为l 2、每段的最大值-最小值不超过s dp[i]表示前i个数最少要划分为多少段 枚举j(j<=i-l),若[j+1,i]的最大值-最小值不超过s,那么dp[i]= 阅读全文
posted @ 2021-10-04 19:55 TRTTG 阅读(13) 评论(0) 推荐(0) 编辑
摘要: Problem - 490D - Codeforces 题意: 有2块大小分别为a1*b1和a2*b2的巧克力 每个1*1的小巧克力不可再分割 你可以进行若干次这个操作: 选择一块巧克力,吃掉现在大小的一半或者三分之一 注意你不能把1*1的巧克力破坏 请问至少吃多少次,使2块巧克力的面积相等,并求出 阅读全文
posted @ 2021-10-04 19:39 TRTTG 阅读(9) 评论(0) 推荐(0) 编辑
摘要: Problem - 492D - Codeforces 题意: 有n只怪兽,第i只怪兽被打ai次之后才会死 有2个人分别以1秒种攻击x、y次攻击所有怪兽 问第i只怪兽最后死在谁的手里 两个人分别每1/x、1/y秒攻击一次,即1/gcd(x,y)是一个周期 在这个周期里,两个人分别攻击x/gcd、y/ 阅读全文
posted @ 2021-10-04 19:25 TRTTG 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Problem - 489D - Codeforces 题意: 给出一张图,问有多少个这样的结构 枚举a和c,然后如果有x个点既与a的出边相连又与c的入边相连,那么答案累加C(x,2) 一开始还想用bitset判断,n^3/64 应该会T 边数是点数的10倍,均摊一个点10条边,所以直接枚举判断即可 阅读全文
posted @ 2021-10-04 17:31 TRTTG 阅读(4) 评论(0) 推荐(0) 编辑
摘要: Problem - E2 - Codeforces 题意: 给出一个长为n的字符串,你可以进行2种操作 1、把串在后面再拼接一次 2、删去串的最后一个元素 要求用这两种操作得出字典序最小的长为m的串 首先答案肯定是由一个前缀拼接多次构成 假设当前的最优前缀是A前缀,长度为LA,现在正在考虑的是B前缀 阅读全文
posted @ 2021-10-04 11:42 TRTTG 阅读(7) 评论(0) 推荐(0) 编辑
摘要: Problem - 1553E - Codeforces 题意: 有一个初始排列1 2 3……n,再给出一个目标排列和一个m(m<=n/3),要求把初始排列变为目标排列 首先,你可以将初始排列的最后k个数字挪到最前面,然后可以选2个数字进行交换,交换至多进行m次 问有多少个k满足能够使初始排列变为目 阅读全文
posted @ 2021-10-03 15:01 TRTTG 阅读(10) 评论(0) 推荐(0) 编辑
摘要: Problem - 1492D - Codeforces 题意: 给出a b k,构造两个二进制数x和y(x>=y,不能有前导0),使x-y的二进制有k个1 1XXX0 0XXX1 手算可以发现,若x有一段以1开头以0结尾,长为L的区间,对应的y这一段为以0开头以1结尾,中间的x和y都一样 那么这一 阅读全文
posted @ 2021-10-03 10:08 TRTTG 阅读(6) 评论(0) 推荐(0) 编辑