
CF
文章平均质量分 78
胡牧之.
此人很懒,但还添加了简介
展开
-
CF785D(div2)Lost Arithmetic Progression(思维)
题目原题链接问题描述我们以[b,q,y][b,q,y][b,q,y]表示以bbb为首元素,qqq为公差,yyy为序列个数的序列,如[−1,2,4][-1,2,4][−1,2,4]表示序列[−1,1,3,5][-1,1,3,5][−1,1,3,5]。若存在两个序列AAA、BBB,它们的交集为序列CCC,在我们已知序列BBB、CCC的前提下,问AAA有多少种可能:若不存在,则输出000;若存在无限个,则输出−1-1−1;否则,输出具体数目,答案可能过大,对答案模上109+710^9+7109+7原创 2022-05-02 20:28:46 · 340 阅读 · 0 评论 -
CF783D(div2)Optimal Partition(树状数组+离散化)
题目原题链接问题描述给定一个长度为nnn的数组aaa,共有2n−12^{n-1}2n−1种策略将其划分为连续的段,对于一段al...ara_l...a_ral...ar,sum=∑i=lraisum=\sum_{i=l}^{r}a_isum=∑i=lrai,可以用valvalval来评定价值:val={r−l+1sum>00sum=0−(r−l+1)sum<0val=\begin{cases}r-l+1 & sum>0 \\0 & sum=0 \\原创 2022-05-01 15:44:18 · 459 阅读 · 0 评论 -
cf785C(div2): Palindrome Basis(完全背包,一维空间优化)
题目原题链接问题描述如果一个不含前导0的正整数翻转后值不发生改变,那我们就称这个数为回文数。一个数n(1≤n≤4∗104)n(1\leq n\leq4*10^4)n(1≤n≤4∗104)可以由若干个回文数之和来表示,问对于nnn来说总共有多少不同的回文数表示方法。若两种表示方法仅顺序不同,仍然视作相同的表示,如3=2+1=1+23=2+1=1+23=2+1=1+2.分析由于数据范围不算大,只有4∗1044*10^44∗104,我们可以直接暴力枚举出所有的回文数,共计498498498个。原创 2022-05-01 08:41:13 · 707 阅读 · 0 评论 -
Reverse Sort Sum(思维+树状差分+模拟/直接求解)
题目原题链接问题描述分析差分模拟通过分析可以知道,序列CCC中所有元素之和其实也就是原序列AAA中111的总和乘上AAA的大小,换句话说我们可以利用∑i=1nCin\frac{\sum_{i=1}^{n}C_i}{n}n∑i=1nCi直接求出111的个数。我们此时已知111的个数,也就相当于知道了序列BnB_nBn的格式,那么我们就可以直接借助CnC_nCn与BnB_nBn求出Cn−1C_{n-1}Cn−1以及在前n−1n-1n−1次排序中始终未涉及的ana_nan对cnc原创 2022-04-22 00:25:19 · 461 阅读 · 0 评论 -
Line Empire(思维+暴力)
题目原题链接问题描述假设在XXX轴上标记了nnn个坐标为正整数的城池,而我们的都城在原点。作为国王,需要征服所有的城池,国王有两种操作:1.迁都,将都城c1c_1c1迁至已攻克的城池c2c_2c2,消耗为a∗∣c1−c2∣a*|c_1-c_2|a∗∣c1−c2∣;2.攻城,从都城c1c_1c1出发攻克城池c2c_2c2,消耗为b∗∣c1−c2∣b*|c_1-c_2|b∗∣c1−c2∣,只能攻克与领土相邻的城池。问国王征服所有城池的最小耗费为多少?需要注意的是,迁都只能迁至某原创 2022-04-20 22:53:04 · 347 阅读 · 0 评论 -
Bit Flipping(思维+贪心)
题目原题链接问题描述给定一个由01所组成的字符串,总共要对其进行KKK次操作,每次操作是从中选择一位,将除此位以外的其余位均进行翻转,问经过kkk次操作可以得到的最大字典序的序列。分析1.对于一个从未选择过的位置,将进行kkk次翻转,而每选择一个位置,就可以使其的翻转次数减一。2.对于每个位置,只有进行奇数次翻转才有意义,偶数次翻转对结果无影响。所以我们从高往低进行枚举,考虑这个位置本应该进行翻转的次数,以及是否需要进行调整(调整也就是对其分配一次操作);如果最后仍然有多余的操作,偶数次则原创 2022-04-20 18:00:42 · 885 阅读 · 0 评论 -
Jury Meeting(思维+排列组合)
题目Jury Meeting问题描述有nnn个人,对应着不同的序号,每个人有若干个意见,将他们按一定顺序排列好后,按循环对这个序列进行遍历,每遍历到一个人时,这个人说出他的意见后这个人的意见减一,然后继续遍历下一位。若在一个序列中,一个人需要重复说出自己的意见,说明这个排列并不理想,比如说[1,2][1,2][1,2],1号说完之后2号说,2号说完之后只剩下了他自己,意味着他需要重复发言,这就是一个不理想的排列。除此种情况以外,其余的排列的就是理想序列。输出所有的理想序列种数,对结果取模,模为原创 2021-09-11 23:07:50 · 488 阅读 · 4 评论 -
Chess Tournament(思维题)
题目Chess Tournament问题描述有nnn个人参加比赛,两两之间进行对决,每两个人之间都会进行一次比赛;对决有三种结果:要么胜,要么败,要么平。选手有两种策略:第一种:全场不败,稳扎稳打;第二种:但求一胜,败局不论。在选手给出自己选择的策略后,问是否存在一种局面使得所有选手都满足自身策略。若不存在,则输出"NO";若存在,则输出"YES",并以n∗nn*nn∗n的矩阵输出结果。∗*∗,表示自己与自己对决;+++,表示行序号代表的选手赢了列序号代表的选手;−-−,表示行序原创 2021-09-10 23:48:21 · 629 阅读 · 0 评论 -
Carrying Conundrum(思维)
题目Carrying Conundrum问题描述定义一种特殊加法计算:上式为正常加法计算,下式为特殊加法计算,特殊之处在于进位将会跳跃一位相加, 比如应该进位到十位的1进位到了百位,应该进位到百位的1进位到了千位。给定测试总数ttt,每个测试包含一个数nnn,nnn是由特殊加法计算所得出的结果,问有多少对(a,b)(a,b)(a,b)可使得a + b=na\ +\ b=na + b=n,注意(a,b)与(b,a)(a,b)与(b,a)(a,b)与(b,a原创 2021-09-06 18:54:50 · 547 阅读 · 2 评论 -
MEXor Mixup(思维题)
题目MEXor Mixup问题描述给定两个值aaa跟bbb,满足a>0a>0a>0,b≥0b\geq0b≥0若有一个非负整数数组,使得其中所有元素经过Mex运算的结果为aaa,其中所有元素经过XOR操作的结果为bbb问满足这些条件的数组的最小长度为多少。分析关于MexMexMex运算的内容可以见于我之前的博客——SG函数介绍mex(S)表示不属于集合S的最小非负整数。也就是在非负整数中,先除去S,然后在剩余的非负整数中取最小值。例如mex{0,1,2,4}=3、mex原创 2021-09-06 00:35:25 · 798 阅读 · 0 评论 -
Take a Guess(罪恶陷阱题+互动题+位运算知识: a + b = (a&&b) + (a||b) )
题目Take a Guess问题描述服务器里面隐藏了一个长度为nnn的序列,目标是通过不多于2∗n2*n2∗n次访问得出其中第kkk小的值。首先由服务器输入序列的长度nnn和第kkk小的数据的序号kkk,每次访问输出两个坐标:iii跟jjj,有两种访问方式可以选择,要么得知a[i]a[i]a[i]与a[j]a[j]a[j]位运算相与的结果;要么得知a[i]a[i]a[i]与a[j]a[j]a[j]位运算相或的结果。然后会把结果输入最后如果通过访问足以得知结果了,就会把结果输出。分析这道原创 2021-08-31 10:35:51 · 535 阅读 · 0 评论 -
Compressed Bracket Sequence(模拟)
题目Compressed Bracket Sequence问题描述原来的序列是一个括号序列,此时给出它的压缩序列,“(((()(()))(”“(((()(()))(”“(((()(()))(”对应的压缩序列是[4,1,2,3,1][4,1,2,3,1][4,1,2,3,1],问在给定压缩序列的前提下,求出匹配序列的个数。例子:压缩序列为[4,1,2,3,1][4,1,2,3,1][4,1,2,3,1]时,匹配序列为5,从第3个到第10个字符的子序列:(()(()))从第4个字符到第5个字符的原创 2021-08-30 11:06:14 · 722 阅读 · 0 评论 -
Take Your Places!(思维)
题目Take Your Places!问题描述给定序列长度n以及序列{a1,a2......an}\{a_1,a_2......a_n\}{a1,a2......an},每次操作允许移动相邻的两个位置,比如aia_iai与ai+1a_{i+1}ai+1,问至少经过多少次操作可以使得序列中的数按奇偶参差排列。分析在输入数据的过程中,可以对数据进行一次统计,统计其中包含奇数与偶数的个数,以odd表示奇数个数,以even表示偶数个数。由于满足参差排布,所以abs(odd−even)≤原创 2021-08-30 08:50:06 · 263 阅读 · 0 评论 -
Deep Down Below(转化不等式求解)
题目Deep Down Below问题描述有k个洞穴,每个洞穴里面都有aia_iai只怪物且每个洞穴中的怪物是以特定的顺序排列,勇士的任务是清除所有怪物,而且每消灭一只怪物自身的战斗力都会提升一点,当勇士选择进入一个洞穴后,需要按照上面的顺序逐一挑战洞穴中的每个怪物,只有勇士的战斗力高于怪物才可以消灭怪物,问勇士可以消灭所有怪物所需要的最小初始战斗力。分析我们有两个问题:第一个是求出成功走出一个洞穴所需要的最小初始战斗力;第二个是在已知走出每个洞穴所需最小初始战斗力和洞穴怪物数(可得知走原创 2021-08-25 15:32:36 · 394 阅读 · 0 评论 -
Charmed by the Game(思维)
题目Charmed by the Game问题描述大意是有A、B两个人轮流发球(不会因为胜负情况而改变顺序),在每局游戏中,若发球方胜利则被称该玩家保持了发球(但不会影响发球权的交替),若接球方胜利则称该玩家打破了发球。每次会给定A,B分别的获胜次数a,b(不存在平局的情况),问总共可能出现过几次玩家打破发球的情况。分析 int x=(a+b)/2; int y=a+b-x;由于发球权是不断交替的,所以对于玩家A来说,发球的次数要么为x次,要么为y次。当发球次数为x次时,已知A获胜了原创 2021-08-25 09:46:27 · 727 阅读 · 5 评论 -
Nearest Beautiful Number (hard version)
文章目录题目问题描述分析思路一(贪心,枚举)具体操作代码思路二(DFS)具体操作代码思路三(map+贪心)具体操作代码题目Nearest Beautiful Number (hard version)问题描述与简单版的区别在于k的范围由原来的k<=2k<=2k<=2拓展到了1<=k<=101<=k<=101<=k<=10由于数据范围的变化,之前的思路就不适用于这里了。分析思路一(贪心,枚举)通过set的互异性,来记录x中的数字种数.原创 2021-08-22 21:18:45 · 351 阅读 · 0 评论 -
Nearest Beautiful Number (easy version)
题目Nearest Beautiful Number (easy version)问题描述给定数据n(1≤n≤109)n(1\leq n\leq10^9)n(1≤n≤109)跟k(k≤2)k(k\leq2)k(k≤2)xxx仅由kkk种数字所组成,输出满足x≥nx\geq nx≥n中最接近nnn的xxx。例:n=177890,k=2n=177890,k=2n=177890,k=2输出x=181111x=181111x=181111分析思路一(先枚举再二分)由于数据的范围,所以有一个取巧原创 2021-08-21 14:55:49 · 285 阅读 · 0 评论 -
Make a Power of Two(思维,字符串)
题目Make a Power of Two问题描述给定一个小于等于10910^9109的正整数nnn,此时有两种操作,操作一:在数字nnn的右端添加一位数字;操作二:在数字nnn中擦除一位数字,要保证擦除这一位数字后不会出现前导0,比如在′301′'301'′301′中不能擦除数字333,否则会出现′03′'03'′03′,产生前导0.问数字nnn可以变为222的幂所经历最少的操作数。分析算思维题吧,根据数据范围,所以由nnn操作所能变为的222的幂其实是很有限的,反过来思考就是先求出原创 2021-08-20 16:13:43 · 724 阅读 · 2 评论