摘要: Problem - E2 - Codeforces 题意: 有n个正整数,你至多可以把其中k个修改为任意的正整数 你需要把这n个数划分为若干个连续的段,满足每一段的任意两个数的乘积都不是完全平方数 问最少划分为多少段 任意两个数的乘积都不是完全平方数 等价于 把区间内的数质因子分解,每个质因子的指数 阅读全文
posted @ 2021-11-12 19:39 TRTTG 阅读(69) 评论(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 阅读(56) 评论(0) 推荐(0) 编辑
摘要: Problem - 1606E - Codeforces 题意: 有n个英雄,每一轮每个英雄向除自己之外的所有英雄发动一次攻击 每个英雄有初始血量,当承受攻击次数>=初始血量时,英雄死亡 如果最后存在一个英雄活到了最后,他就获胜 英雄初始血量上限为x 问有多少种英雄初始血量方案数,满足最后没有获胜的 阅读全文
posted @ 2021-11-10 19:07 TRTTG 阅读(76) 评论(0) 推荐(0) 编辑
摘要: Problem - 1582E - Codeforces 把数组翻转一下 问题变成了每段数字个数增多,总和减少 这样的好处是可以直接求段数的最大值 dp[i][j]表示前i个数可以组合出前j段,且第j段的和最大时的最后一个位置 因为每一段的和逐渐减小,所以前面的和越大越好 j最大是根号级别,所以复杂 阅读全文
posted @ 2021-11-07 18:06 TRTTG 阅读(54) 评论(0) 推荐(0) 编辑
摘要: Problem - 1506F - Codeforces 重点: 给出的n个点保证存在一条路径能同时经过给出的n个点 这位大佬的题解图文并茂 Codeforces 1506F - Triangular Paths - StelaYuri - 博客园 (cnblogs.com) #include<bi 阅读全文
posted @ 2021-11-06 20:36 TRTTG 阅读(26) 评论(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 阅读(29) 评论(0) 推荐(0) 编辑
摘要: Problem - 1601B - Codeforces 题意: 井下深度为n,在井下深度为i的地方可以往上跳[0,ai]米 如果没有跳出井,则要下滑bi米 问最少跳几次可以跳出井 假设跳[1,d]可以出井的位置都求出来了 现在求跳d+1次可以出井的位置 枚举跳d次可以出井的位置v,若从位置u可以滑 阅读全文
posted @ 2021-11-06 11:18 TRTTG 阅读(116) 评论(0) 推荐(1) 编辑
摘要: Problem - 1545B - Codeforces 题意: 1*n的棋盘,初始某些位置可能有棋子 每次可以选择一个棋子,如果它的右边第一个有棋子且第二个无棋子,或者它的左边第一个有棋子且第二个无棋子,就可以把这个棋子跳到那个无棋子的位置 操作可以进行任意次 问棋盘可能有多少种局面 画一画可以发 阅读全文
posted @ 2021-11-02 11:18 TRTTG 阅读(28) 评论(0) 推荐(0) 编辑
摘要: Problem - 1534D - Codeforces 题意: 交互题 有一颗树,无边权,通过交互输出这棵树的连边情况 每次可以询问1个点,获得每个点和这个点的距离 至多询问n/2 上取整次 任取一个点作为n节点,奇数层和偶数层的点必有一个小于等于一半 先随便问一个点,把他作为根,根据与这个点的距 阅读全文
posted @ 2021-11-02 11:10 TRTTG 阅读(23) 评论(0) 推荐(0) 编辑
摘要: Problem - F - Codeforces 题意: 有n个不一样的m维向量,每个维度要么是0,要么是1,而且至多有2个维度是1 问这些向量取任意个在模2意义下相加,能得出多少种不同的向量 并找到一个个数最少且字典序最小的小向量集,里面的向量按上述相加可以得出答案的所有向量 加一个虚拟节点 若向 阅读全文
posted @ 2021-10-19 20:14 TRTTG 阅读(20) 评论(0) 推荐(0) 编辑
摘要: Problem - C - Codeforces 题意: 有3个集合,每个集合里有若干个数 你可以选2个来自不同集合的数x、y,然后让2个数同时减去x 经过若干次操作后,只剩下1个数 问剩下的这个数最大可以是多少 操作相当于把一个集合里的数变号,然后放到另一个集合中并与集合中的某个数相加 设集合A中 阅读全文
posted @ 2021-10-19 17:04 TRTTG 阅读(19) 评论(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 阅读(36) 评论(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 阅读(57) 评论(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 阅读(50) 评论(0) 推荐(0) 编辑
摘要: Problem - 490D - Codeforces 题意: 有2块大小分别为a1*b1和a2*b2的巧克力 每个1*1的小巧克力不可再分割 你可以进行若干次这个操作: 选择一块巧克力,吃掉现在大小的一半或者三分之一 注意你不能把1*1的巧克力破坏 请问至少吃多少次,使2块巧克力的面积相等,并求出 阅读全文
posted @ 2021-10-04 19:39 TRTTG 阅读(20) 评论(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 阅读(31) 评论(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 阅读(28) 评论(0) 推荐(0) 编辑
摘要: Problem - E2 - Codeforces 题意: 给出一个长为n的字符串,你可以进行2种操作 1、把串在后面再拼接一次 2、删去串的最后一个元素 要求用这两种操作得出字典序最小的长为m的串 首先答案肯定是由一个前缀拼接多次构成 假设当前的最优前缀是A前缀,长度为LA,现在正在考虑的是B前缀 阅读全文
posted @ 2021-10-04 11:42 TRTTG 阅读(41) 评论(0) 推荐(0) 编辑
摘要: Problem - 1553E - Codeforces 题意: 有一个初始排列1 2 3……n,再给出一个目标排列和一个m(m<=n/3),要求把初始排列变为目标排列 首先,你可以将初始排列的最后k个数字挪到最前面,然后可以选2个数字进行交换,交换至多进行m次 问有多少个k满足能够使初始排列变为目 阅读全文
posted @ 2021-10-03 15:01 TRTTG 阅读(31) 评论(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 阅读(25) 评论(0) 推荐(0) 编辑
摘要: Problem - 1567D - Codeforces 题意: 给出s和n 请构造n个十进制正整数,满足他们在十进制下的和等于s,且在十一进制下的和最大 如果n<=s的数位和,那么只要不把一个高位拆成10个低一位,在十一进制下的和都是一样的 这给我们的启示是尽可能不要拆高位,当因为正数限制不得不拆 阅读全文
posted @ 2021-10-02 20:36 TRTTG 阅读(31) 评论(0) 推荐(0) 编辑
摘要: Problem - 57C - Codeforces 题意: 问有多少个长为n的序列满足以下要求: 1、每个数的范围为[1,n] 2、序列非增或者非降 对于任何一个值域为n、长度为n的序列,我们都可以通过排序的方式是他变成非增或者非降 所以要求2可以不管 问题就变成了设xi(>=0)表示数字i有多少 阅读全文
posted @ 2021-10-02 18:48 TRTTG 阅读(29) 评论(0) 推荐(0) 编辑
摘要: Problem - 18B - Codeforces 题意: 有n个长为l的木板,第i个木板的起始位置在(i-1)*m 你的初始位置为0,每次跳跃距离为d 每次的落点在木板上才可以继续跳,问在哪个位置掉下去 记录到达一个木板的位置 设现在的位置为now,所在木板的右端点为r 那么(r-now)/d就 阅读全文
posted @ 2021-10-02 18:40 TRTTG 阅读(22) 评论(0) 推荐(0) 编辑
摘要: Problem - 23B - Codeforces 题意: n个人参加聚会,他们中的某些人是朋友 首先朋友数为0的人会离开聚会 然后剩余朋友数为1的人(这1个人在之前还没有离开聚会)会离开聚会 然后剩余朋友数为2的人(这2个人在之前还没有离开聚会)会离开聚会 …… 最后剩余朋友数为n-1的人(这n 阅读全文
posted @ 2021-10-02 17:37 TRTTG 阅读(17) 评论(0) 推荐(0) 编辑
摘要: Problem - 11B - Codeforces 题意: 坐标轴, 初始在0,目标位置x,第i步可以移动距离i,可以左移或者右移 问最少需要多少步 假设每一步都往目标方向去,就是问最小的t,满足1+2+3+……+t = t*(t+1)/2 >= x 如果恰好是x,那就结束了 如果大于x,那么就需 阅读全文
posted @ 2021-10-02 17:18 TRTTG 阅读(15) 评论(0) 推荐(0) 编辑
摘要: Problem - 1547F - Codeforces 题意: 有一个a数组,每次可以把所有的a[i]变为gcd(a[i],a[(i+1)%n]) 问最少多少次可以让a数组都变为相同的值 第i次操作相当于把a[i]变为原始的区间[i,(i+k)%n]的gcd 所以题目相当于问最小的k,满足所有的区 阅读全文
posted @ 2021-10-02 11:55 TRTTG 阅读(45) 评论(0) 推荐(0) 编辑
摘要: Problem - 1552D - Codeforces 题意: 给出一个有n个数的数组a,能否构造出一个长为n的数组b,使a中的每个数都可以由b中某两个数相减得到。 令b[1]等于任意值,b[i]=a[i-1]+b[1],这样可以很容易的使a中的n-1个数满足要求 剩下一个数比较难搞 若b[x]- 阅读全文
posted @ 2021-09-27 21:29 TRTTG 阅读(81) 评论(0) 推荐(0) 编辑
摘要: Problem - 1542B - Codeforces 题意: 若x在集合里,则x*a和x+b都在集合里 初始集合里只有1,给出n,问n是否在集合里 x先乘a再加b得到x*a+b x先加b再乘a得到x*a+b*a 所以x先乘a再加a次b等价于x先加b再乘a 所有的集合里的数都可以表示为x*a^i+ 阅读全文
posted @ 2021-09-24 09:14 TRTTG 阅读(48) 评论(0) 推荐(0) 编辑
摘要: Problem - 1543D1 - Codeforces 题意: 有一个初始密码,在[0,n-1]范围内,你要猜密码 设当前密码为x,你猜的密码为y,如果没有猜对,密码会更改为x异或y 至多可以猜n次,要求猜出密码(更改后的) 交互,猜对返回1。猜错返回0。 第一次猜0,第二次猜1异或0,第三次猜 阅读全文
posted @ 2021-09-23 20:35 TRTTG 阅读(22) 评论(0) 推荐(0) 编辑
摘要: Problem - 1555E - Codeforces 题意: n条线段,每条线段有权值,m个点,如果存在一条线段同时覆盖了点a和点b,那么就可以从点a到点b 选一些线段,要求可以通过选出的线段从点1到达点m 问选出的线段的最小差值 题意相当于问选出一些线段,这些线段覆盖了所有的点 我们先把所有的 阅读全文
posted @ 2021-09-23 11:58 TRTTG 阅读(28) 评论(0) 推荐(0) 编辑