自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 二分查找模板及例题

由于本人写二分时,范围总是出错,总是把两个mid的更新方式搞混,特写此文章加深记忆。的起始位置和终止位置(位置从 0开始计数)。个单位的水来装满水箱,但你想尽可能建造最大的水箱。你喜欢养鱼,所以你决定建造一个水族馆。此模板用于找出满足条件的最小值,即尽量往左找。,将区间往左缩小,直到l==r时候找到答案。用于找出满足条件的最大值,即尽量往右找。对于每个查询,返回一个元素。根柱子组成的珊瑚,其中。当mid满足条件时,执行。,此时区间会向右边缩小。个单位的水,如图所示。满足条件时,执行操作。

2024-07-11 10:08:51 742

原创 每日一题cf

给定一个长度为n的正整数数组,给定k。可以进行任意次一下操作。

2024-07-10 19:26:37 802

原创 数论知识(取模运算)

若 amodkx,则满足amod2∗kx,或者amod2kxk。

2024-07-08 09:56:30 394

原创 Codeforces Round 954 (Div. 3)

如果没有这样的单元格,则终止算法。从左上角枚举各个点,判断当前点是否需要修改,若需要则将其修改为相邻点的最大值即可。给定一个长度为n的全为数字的字符串,你可以在字符串中添加n-2个运算符(),使得字符串变为一个合法表达式,求出该表达式最小的结果。个运算符将其连接,因此有一个数字是两位数,其他的均为。字符串的顺序,然后有m次操作,第i次操作,可以将。中的元素,经过m次替换就是最小的字典序。的时候运算符为乘法,其他的均为加法。的矩阵,其中行的编号从上到下为。的矩阵,其中行的编号从上到下为。

2024-07-06 20:30:50 878

原创 Codeforces Round 951 (Div. 2)

你的任务是决定如何分配硬币,以便在出现任何获胜结果时都能获胜。更正式地说,你在所有结果上投注的硬币总数必须**严格地小于每个可能获胜的结果所得到的硬币数量。给定一个长度为n的整数数组,问数组中是否存在一个子数组满足子数组的最大值大于。的结果是赢,您将获得与您在该结果上所下注金额相等的硬币,再乘以。,若存在则爱丽丝获胜,否则鲍勃获胜,帮助爱丽丝找出最大值。的子数组,找出每个子数组的最大值,然后在最大值中找出最小值。种可能的结果,对于每一种结果,您都必须下注一定。二分找出总下注的硬币数,然后根据规则分配即可。

2024-06-11 23:27:28 997

原创 Educational Codeforces Round 166 (Rated for Div. 2)

当应聘者前来面试时,Monocarp 会尝试将其分配到最适合的职位(如果应聘者的编程技能较高,则录用其为程序员,否则录用其为测试员)。(一个人的编程技能和测试技能是不同的)。团队的技能是所有被聘为程序员的候选人的编程技能之和,以及所有被聘为测试员的候选人的测试技能之和。你的任务是,针对每个候选人,计算如果除他们之外的所有人都来面试,团队的技能。可以证明,在问题的限制条件下,这总是可能的。,若不存在则判断b数组中前n个元素那个元素和第n+1个元素差值最小,若差值为。模拟一下判断即可,没什么说的。

2024-06-06 00:08:15 924

原创 Codeforces Round 950 (Div. 3)

弗拉德想要尽可能少地提出问题,所以他要求你找出他需要提出的问题的最小数量,以便举行 m轮比赛。记录排序前第f个元素的值,以及数组中每个值的元素共有多少个,然后将数组排序,将前k个元素出现次数减去,观察f的出现次数如何变化,若不变则输出。,德米特喜欢第f个元素,然后数组会进行从大到小排序,然后将前k个元素删除,若德米特最爱的元素在所有情况下都会被移除,则输出。,且d数组的最后一个数组和b数组的其中一个元素相同时,才满足可以转换,否则不可以。,问b是否是一个不递减的数组,若不是是否可以在。

2024-06-04 23:20:42 1043

原创 Codeforces Round 948 (Div. 2)

小男孩尼基塔得到了一些立方体作为礼物。他决定用它们建一座塔。一开始,塔上没有任何立方体。在一次移动中,尼基塔要么正好把。个立方体放到塔顶,要么正好从塔顶移走。请找出下列条件成立的任意整数数组。先将x转化成二进制,对于连续的1,即。根据这个规则遍历二进制即可。签到题,没什么好说的。

2024-06-02 23:52:29 620

原创 Codeforces Round 900 (Div. 3)

其中,&表示位与运算。对于每次询问,将给定 l,k。请你找到最大的 r 使得 f(l,r)≥k。如果无解,输出 -1。,表示前i个数的第j位1的数量,因为1&1才为1,所以只有当前i个数的第j位都为1时相与才为1,然后用二分查询r。求出最大能构成的数字,以及最小能构成的数字,若x在区间内就为yes,否则为no。在这个子段中出现的次数严格大于其它数字的出现次数。给定n,k,x,问能否从1~n中选出k个数,使其和为x。,奇数不能整除偶数,所以数组的构造方法就找到了。若序列中存在k,即为。

2024-06-02 00:12:46 1055

原创 Codeforces Round 913 (Div. 3)

若单调不减,记初始位置为now,可以只进行操作一,此时操作次数为n-now+1,也可以先进行一次操作二,然后进行操作一,此时操作次数为now+1。当mx

2024-05-29 23:12:02 550

原创 Codeforces Round 946 (Div. 3)

有两个棋子,一个为r,另一个为h,初始时都在(0,0),有四种操作(N,S,W,E),N向上移动一格,S向下移动一格,E向右移动一格,W向左移动一格。2.当两个同时可以相互抵消时,当操作次数为2时,一定不存在,否则可以将其中一个棋子向一个方向移动一次然后在反方向移动一次,别的操作都分配给另一个棋子,这样在最终两个棋子都在原点。存在一种变换操作,有一个原始字符串s,首先构造辅助字符串r,该字符串由字符串s中所有不同的字母组成,按字母顺序书写,然后将s的每一个字符替换成对应r的对称字符。的网格,不够就再添加。

2024-05-27 16:01:43 611

原创 每日一题Cat, Fox and the Lonely Array

可以想象成一个长度为k滑动窗口,每次向后移动移动一个位置,只需要保证当前窗口的首元素,与向后滑动一个位置新添加的元素对相或贡献一致即可,因为两个数相或有一个为一,答案就为一。给定一个数组a,求出最小的k,满足数组每个长度为k的连续子数组元素按位或答案都相等。

2024-05-25 23:44:51 160

原创 每日一题Reverse Card (Easy Version)

【代码】每日一题Reverse Card (Easy Version)

2024-05-23 22:26:27 1007

原创 每日一题XOUR

可以进行任意次操作,输出操作后字典序最小的数组。二进制形式的高位相同(准确来说是非1,2位)。给定一个不含负数的数组。

2024-05-23 00:08:43 579

原创 Codeforces Round 921 (Div. 2)

当s满足可分割为n份,且这n份都包含前k个小写字母时才会输出yes,否则需要构造一个s不存在的子字符串t,在分割成的n份中,若包含前k个小写字母,就取这一小份的最后一个元素,否则取该小份不包含的小写字母,这样就可以组成t。,因为每个元素都必须是正整数,所以。,算出gcd,取出最大的就是答案。个字母组成的字符串都是字符串。,此字符串输出n遍就是结果。, 要你构造出一个字符串。个小写字母组成的字符串都是。,使得所有可能的长度为。,可以枚举x的因数,通过。

2024-02-01 00:15:20 1161

原创 图论-寒假

一共有d个门,其中有一个门后有一只山羊,你需要需要选择s个门,然后会在另外你没有选择的门中选择e个门打开,然后你可以更换你所选择的门。问你能获取羊的最大概率。有n个座位,人依次选择座位入座,他们在选择座位时会选择尽可能距离人远的位置,不能出现相邻座位同时坐人的,问是否能正常入座,若可以则输出第一个人选择的位置。三门问题,结论:你需要尽可能地更换掉你原来选择的门,这样才能最大概率获取羊。从后开始遍历,标记最后一个辅音字母的位置,进行删除和添加操作。只有当第一人左右的位置数都是2的次方时,才能正常入座。

2024-01-27 00:11:53 1223

原创 数论-寒假

Alice和Bob两人打乒乓球十一分制,首先Alice先发两次球,然后Bob发两次球,依次进行,每次发球都会有人得一分,谁发球谁的比分就会在前面,给你按时间顺序的比分,让你判断比分从第几个开始出现错误。给出一个数组,存在k,使得数组中每个元素都对k取余后,数组中只存在两个数字,输出满足的一个k。若数组中既有偶数又有奇数,则k可取2,当 数组只有偶数或者只有奇数,数组每个元素都除以。给定生成的序列,找到任何合适的序列并输出从中删除的k个元素,或者输出不存在。后,数组就会同时存在奇数和偶数,所以k为2的次方。

2024-01-24 21:46:49 769

原创 2022-2023 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2022)

Alice和Bob两人打乒乓球十一分制,首先Alice先发两次球,然后Bob发两次球,依次进行,每次发球都会有人得一分,谁发球谁的比分就会在前面,给你按时间顺序的比分,让你判断比分从第几个开始出现错误。在二维坐标中给出一个圆心为原点,半径为r的圆,求出距离圆上最近的点,设坐标为(a,b),求出。存储第i个点右边比该点高的点的位置,然后枚举每个点为山顶时的高度差,输出最大的就是结果。,判断手中是否有咖啡,若有则有精力,这时手中的咖啡杯数减一;,则该场会议肯定有精力,且结束后手中会保持。

2024-01-24 21:17:16 1035

原创 Educational Codeforces Round 161 (Rated for Div. 2)(A-C)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-01-20 23:49:52 1956

原创 Codeforces Round 920 (Div. 3)(A-E)題解

都会减一,所以此时只有Alice可能获胜,这时就变成Alice追Bob,Bob只能想法躲避,若Alice在Bob左上方,Alice会往右下方移动,Bob只会往右上方移动,若两个棋子到达相同层时,Alice无法追上Bob则平局,否则Alice获胜,反之亦然。Alice和Bob玩游戏,给定棋盘为h行,m列,给定Alice和Bob棋子的初始坐标,Alice和Bob轮流移动棋子,Alice先手移动,如果爱丽丝在回合开始时位于坐标为。给出两个长度分别是n,m的数组a,b,在b数组中选出n个组成新数组c,使得。

2024-01-20 21:36:54 866

原创 Codeforces Round 919 (Div. 2) (A-D)

求大于等于x,小于等于y,且不等于z这个区间的个数。

2024-01-14 22:18:35 899

原创 2022icpc沈阳站

【代码】2022icpc沈阳站。

2023-11-03 14:37:09 75

原创 组合数的四种求法

a−b!∗b!\frac{a!}{(a-b)!*b!a−b∗b!a!b!a−b1∗a−b2∗....∗a​使用情景:a较大,b较小时间复杂度:O(b)实现方法:先分别算出 分子和分母,然后利用求逆元算出最后的结果int up=1;int down=1;j

2023-10-27 15:52:12 60

原创 set用法详解

文章目录set的概念set常用操作set的定义set的迭代器set的添加操作set的长度set的删除和清空操作set查找操作set的交换set的统计操作set的概念set翻译为集合,是一个内部自动有序且不含重复元素的容器。set常用操作set的定义set<typename> name;set的迭代器begin()返回指向第一个元素的迭代器end()返回指向最后一元素的迭代器rbegin()返回指向最后一个元素的反向迭代器rend()返回指向第一个元素的反向迭代器

2023-10-21 14:58:37 123

原创 string用法总结

string的长度size()返回字符串长度length()返回字符串长度(等价于size())判断字符串是否为空empty()判断字符串是否为空,若为空则返回1,否则返回0清空字符串clear()清空字符串字符串的反转reverse()将字符串反转字符串的插入push_back()在字符串末尾插入一个字符字符串的截取格式1:s.substr(a,b);格式2:s.substr(a) ;

2023-10-21 11:33:00 48

原创 map用法详解

map中所有元素都是pair类型pair中第一个元素是key,第二个元素是value所有元素会根据key从小到大自动排序int main()return 0;

2023-10-20 19:48:56 62

原创 2021icpc沈阳站

【代码】2021icpc沈阳站总结。

2023-10-20 15:37:39 61

原创 Namomo Summer Camp 23 Day 1

【代码】Namomo Summer Camp 23 Day 1。

2023-10-18 20:21:26 83 1

原创 图论选讲1

对于无向图上的一条边(u↔↔v),可以看作有向图中的两条边(u→→v)和(u→→v)的结合,我们可以用这种方式将无向图转化成有向图,因此我们接下来只介绍有向图的最短路算法。用Dijkstra解决最短路问题的前提条件是图中不能存在边权为负的边。在进行具体介绍之前,我们先定义记号:G=代表我们要处理的简单有向图;n=|V|,m=|E|代表顶点数和边数;l(u,v)代表u到v的边的长度(边权);S表示起点,T表示终点;

2023-10-16 21:35:47 119 1

原创 数论第一章

若a能被b整除,则a也可被(a/b)整除,例如18可以被3整除,同时也可以被6整除。若一个数是另一个数的倍数的话,则这个数肯定不是质数,所以对于每个数将他的倍数删去。若n可以被a整除,则n可以被(n/a)整除,所以通过一次判断可以得出两个约数。,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。在埃氏筛法中一个数可以被多次删去,例如8,会被2删去,同时也会被4删去。可以用质数的倍数删去所有合数。每次用n的最小质因数删去n。试除法判断一个数是否是。

2023-09-03 10:59:58 87

原创 2023牛客多校9

将n*m的矩阵分成若干个正方形部分,要求矩形的每个整点不能同时处于正方形顶点。

2023-09-02 16:43:31 45

原创 2023牛客多校8

构造出的数组每八个一循环,这八个的差分别为(3,3,5,3,3,5,3),然后将剩余的按照一定顺序输出。有n组数据,每组数据有m个字符串,求出他们共有的字符串,并按字典序输出。给定n,将1~n的数字排列,使得相邻两个数的和或者差的绝对值是素奇数。

2023-09-01 22:15:47 92 1

原创 【无标题】

问1~n共有多少个为数字,例如数字11为两位数,111为三位数。

2023-09-01 18:36:57 50 1

原创 2023牛客多校6

奇偶性相同,可利用前缀和记录奇偶性,并判断在(l,r)区间内是否存在k个与。得,两个数辗转相减,只能得出这两个数最大公约数的倍数。将给定数组的(l,r)分成k份,满足每一份都是偶数。所以只需要判断z是否是gcd(a,b)的整数倍。若任意次操作后数组中可出现z,就输出。分析原理:若此区间满足为偶数,因为。1.从数组中任意选择两个元素。2.从数组中任意选择两个元素。

2023-09-01 16:37:31 64 1

原创 2023杭电多校4

给定一个星状图(中心节点与每个其他节点之间各有一条边,其他节点之间没有边),任选两个点,求它们之间的距离的数学期望以及最大距离的长度。每次行动可以选择一个有四面相邻的棋子,使其跳过相邻的棋子,并使被跳过的棋子从棋盘上被移除。给出k个数组,从每个数组中选出一个数组成新的数组。两人轮流捡石头,爱丽丝先选,每个石头有两个属性。时,只能形成一条边所以期望值和最大值都为1.,两人都想让自己的积分减去对方的差值最大。条长度为2的边,最大值为2.块石头,对自己的贡献都相当于。的格子里放置着一些棋子。

2023-08-17 10:43:25 58 1

原创 2023杭电多校3

给出图片,求能否放大,如果可以的话,输出放大后的图片,否则输出。,然后检查每个4×4的格子里颜色是否相同,若不相同就输出。2.在放大的图片中,无法确定某些像素的颜色。有一张尺寸为n*n的图片,你要将图片放大成。倍,于是原本1×1的格子变成。是不是整数,不是的话就输出。

2023-08-16 15:32:10 82 1

原创 2023牛客多校5

好区间满足至少包含 1 个 1 ,1 个 2 ,1 个 3 ,和 k 个 4 ,我们需要在一个给定长度为 n 的数组里面找到长度最小的好子区间。第一行输入 n 和 k ,第二行输入长度为 n 的数组。给定k,c,n,满足 k * a + b = c ,c = x * b ,gcd(a,b)>= n,求满足条件的a,b的对数。枚举 b ,通过 k * a + b = c,求出 a ,再通过 gcd(a,b)>= n判断是否满足条件。用双指针记录每次符合条件的区间,并在每次找到后更新长度。

2023-08-16 13:30:31 50 1

原创 2023牛客多校4

n 个人竞选国王,每个人的从政理念用a_{i}量化表示,每人每轮可以进行投票,对于个人而言,他会将票投给和他自己的政治理念相差最大的人,票数最多的人将被淘汰。将 a 数组从小到大排序一遍,取出数组最大值max和最小值min,并求出最中间人的值 t ,若(max+min)/2>=t,则会淘汰最大值的那个人,重复操作,直至剩余两人,数值较小的就是结果。构造出一个长度为n的字符串s,使得字符串t+s+t中,t只出现两次,有 T 个询问,每次询问给出长度n和字符串t,要求找到s,并输出 s ,否则输出-1。

2023-08-15 16:56:29 95

原创 2023牛客多校3

给定一个n*m的01矩阵A,A的第i行从左到右依次连接,形成可能带有前导零的二进制数r_{i},A的第j列从上到下依次连接,形成一个可能含有前导零的二进制数c_{j},每次操作可以将A指定的一行或一列进行反转,问能达到min(r_{i})>=max(c_{j})的最少操作次数。给出两个二进制数x,y,你可以从x中选一个数字b,可以让y+b或y-b,求最少多少操作次数可以让y等于x,输出操作次数,若无法将y变成x,则输出-1。res为偶数,由哥特巴赫猜想,任意一个大于2的偶数都可以写成两个质数的和。

2023-08-14 10:44:02 45

原创 牛客多校2补题

但是当最后一个人选的时候,若他最喜欢的没有被选择他一定会选择他最喜欢的这道菜,同理倒数第2个人也是如此,所以我们不妨倒过来贪心。给出两个数组第一个数组表示盒子上的分数,第二个数组表示对应盒子上面是否有盖子,1表示有,0表示没有,每个盖子都只能向左或向右移动一个位置,求有盖子的盒子上的值和的最大值是多少。f(i,0)表示无盖的情况(本身就没有盖子或者本身有盖子但向左移动了一个位置)。最后输出max(f[n][1],f[n][1],f[n][2]);f(i,2)表示有盖子并且向后转移的情况。

2023-08-12 15:07:44 69 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除