自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Bridging the Gap 2

然后是对于题目所问的东西进行分析,题目问最终能否把所有人渡过河,首先每个人真正渡自己过河的那1个体力值就先不说了, 主要是贡献出来渡其他人过河的,那么我就要看贡献过河的所需要的往返次数k, 进而锁定k 次 L人总共的所需贡献数k*L。将这个团队的体力值可以分为两部分,一部分是将每个人的体力值拿出来一个1,是用来真正送自己过河所消耗的体力值,其他的体力值则又分为两部分,浪费掉的(也就是最终没有用到)和贡献掉的(用于往返河岸来送别人上岸了)。船上步行者的体力必须大于0,出行后每个步行者的体力都会减少1。

2024-07-24 15:08:40 464

原创 复习题集Daily

题目。

2024-07-24 14:47:01 117

原创 公式推导类

给定两个整数n和m,在所有包含n个小于2m的非负整数的序列中,需要统计存在A的非空子序列A的个数,其中整数的按位与为1.注意,序列A的非空子序列是可以通过从A中删除零个或多个元素并将剩余元素按其原始顺序排列而获得的非空序列。由于答案可能非常大,因此输出它以正整数 q 为模。非负整数A和B的按位AND,A AND B定义如下:• 当A AND B 以二为基数书写时,如果A 和B 都为1,则2d 位(d > 0) 的数字为1,否则为0。

2024-07-21 14:09:19 1016

原创 关于取模的相关注意

给定一个最初为空的数组,您需要执行 q 操作:• 给定两个非负整数t 和v,从数组末尾取出元素t 次,然后将v 追加到数组末尾。在这次操作之前保证t不超过数组的长度。每次运算结束后,设a1,a2,…,an为当前数组,求S1,S2,…,Sn之和,其中si+an为从位置i开始的后缀之和。艾+艾+1+由于答案可能非常大,因此输出它们对 1000 000 007 取模。第一行包含一个整数q(1≤q≤5×105),表示操作次数。

2024-07-20 01:59:42 334

原创 有趣的错误

一开始我想的是idx在一开始arr.at(++idx)中就已经++了,然后等号后面的idx理所当然是加后的idx,我想他这句话的执行顺序是按照从左到右去执行的,但是实际上不是的,体现出了这个表达式中压根没用到arr[2]这个值,只用到了arr[1]来给arr[3]赋值。因此我猜想,句内变量++赋值是不会影响该句内此变量的在其他地方的值的。运行结果如果是按照从左到右我想的那个样子的话,应该是。chatGPT误我!

2024-07-20 01:33:44 314

原创 DP(用于寻找满足条件的子区间个数)

题源# 题目。

2024-07-19 12:01:54 366

原创 模拟题1(考虑周全以及情况较多)

该题主要是找线路最多和最少的各种情况,从而达到整体连通图的构建代价最小的情况。奇偶性相同的点互相之间能连的都连上,最后连一个奇偶性不同的点以形成连通图。奇偶性相同的点互相之间连上,而且尽量少,最后连一个奇偶性不同的点。当考虑n个点之间所有能连的都连上的时候,线的数量count为。odd记录数组中奇数的个数,even记录数组中偶数的个数。注意事项:a,b的正负影响着这个图的线尽可能的多还是少。:连奇偶性不同的点,而且线的数量要尽量小。其他情况同理需要考虑,所以最好全开ll。:奇偶性不同线能连的的全连上。

2024-06-15 22:56:59 1468

原创 对于map的新应用

题源。

2024-05-24 23:48:44 274

原创 第八届“英拿科技杯”上海高校金马程序设计联赛暨东华大学邀请赛——源石虫(基础DP)

主要矛盾点在于如何解决杀死了这个虫子就不能杀那一个之间的矛盾问题,表现在DP上的思想主要是,比较当前的虫子不杀死(直接延续上一个位置所能获得的最大金币)和杀死这个虫子(追溯到最近能杀死的与他类型相同的虫子的位置所能获得的最大金币)之间两种选择哪一个爆的金币更多。(小声哔哔:这题当时脑子抽了死活没想到是DP,一直用贪心试,拿来凑个DP专题的数)

2024-05-20 11:33:14 502 1

原创 DP动态规划用在了回文串上

题源。

2024-04-19 20:01:34 660

原创 数论相关(积累更新)

首先普及一下费马平方和定理:奇质数(除了2以外的所有质数)能被表示两个整数的平方和充分必要条件是该素数被4除余1。

2024-04-12 17:56:06 275

原创 [蓝桥杯 2023 省 A] 更小的数(dp基础应用)

首先算出所有长度为2的子串的dp值,即所有的dp[i][i+1],然后长度依次从3,4,……递增到n,每一个区间从i到j的子串,他们的dp值意味着可否反转这一段的子串,dp=0不可翻转,dp=1可翻转。dp主要思想是:在同一类问题模型下,依赖于已经解决的简单问题基础上,用很小的代价获得更复杂一点的问题的解决方案。有的题的DP是在下标上顺序性递推的,类似于dp[i]=dp[i-1]+something;然而这道题的DP是在子串长度上的顺序性递推,而不是在下标上的顺序性递推。

2024-04-12 17:02:23 1159

原创 二分算法另向理解

二分算法最终结果只与目标值以及所有二分中点有关。

2024-03-21 01:58:53 425

原创 关于全局变量以及结构体构造函数一些注意事项

前四行被改变了,xu,l,r,这三个数组的size在后面输入了n以后再确定,因为一开始n没有被初始化,默认为零,xu,l,r,这三个数组的size默认为0+10,因此后来在输入的时候会超范围会RE。具体来说, 你现在知道了q个区间, 第i个区间是[lᵢ,rᵢ],,同时杰宝还会给你一个常数 B。为第一关键字从小到大, 按r为第二关键字从小到大排序, 按编号为第三关键字从小到大排序。当时在赛场上也想这么整,但是不知道为什么老是输出空的,大概需要注意的就是,你需要按区间排序后的顺序, 输出区间原先的编号。

2024-03-18 18:10:15 1281

原创 基础计算几何

确定一个点位置,在这道题中主要是采用了问答的形式,主要思想还是,在二维有界网格中,已知一个未知点距离一个角落点的距离,可以确定这个未知点所在的一条直线,同理,只需要询问两个角落点,即可通过两个直线的交叉点确定,这道题即是这个推论的拓展应用。询问(1,1),(1,m),(n,1)三个点,得到三个值,确定三条直线,两个可疑交点,然后询问其中一个可疑交点,得出结果。cout输出后如果要刷新缓冲区,应该使用endl或者cout.flush(),不能使用fflush(stdout)

2024-03-08 20:39:16 167

原创 剪枝例题一道

我的思路,DFS遍历所有x,y,然后用set记录所有k,但是TLE了,最后发现,可以应用剪枝,如果一个x,y得出的k已经在set中存在了,那么不用再继续DFS后续了。则遍历l除以的a的次数从0到la次,分别看能除以b几次,得到不同的x y组合,从而得到不同的k加入到set里面。令l/a=la l/b=lb(余数此处不显示0)

2024-03-08 20:26:05 481

原创 所有数的源头是奇数和2

则先放置1 3 5 7 9 11 13 15 17 19 21,接着放2 6 10 14 18 22,接着放,4 12 20,接着放,8最后放16。该题给你n张卡片,让你每次从左到右放置数字为m倍的奇数(从1,3,5等等逐渐增加直到i是使m*(2*i-1)小于n的最大i后停止)(m也从1逐渐增加)由上述抽丝剥茧的把一层一层的奇数去掉,我仿佛意识到,所有的数都是由奇数和2得来的,任何一个偶数都是可以通过某一个奇数乘以若干个2得到。1取奇数11个,剩下11个。2取奇数6个,然后分别。16,取1并且乘16。

2024-02-20 02:12:35 145

原创 有关数字各位数之和的题

这道题首先强调的是一个测试样例给了t之后的限时为0.5s而t的范围在1e4以内,n的范围在2e5以内,因此对于每一个n应该以O(1)的时间复杂度给出答案,故,必须预处理2e5以内的任何一个数,从而转化成一个忽略t,求出2e5以内所有数的要求答案的一个问题,n=2e5而时间限制为0.5所以预处理时间复杂度为最多nlogn。dp思想预处理n一下的所有数字,利用该思想简化时间复杂度,以O(n)的时间复杂度,遍历一遍即得到所有2e5以下的数字的所求答案。

2024-02-20 01:39:46 292

原创 求x大于等于n的最小因子-codeforce round 921 div2 B

有一堆废话我就不提了,直奔重点,然后是他问你x分成n个数相加的形式,然后要求这n个数的最大公因数最大,并问你最大时这个最大公因数是多少。

2024-01-28 11:53:49 178 1

原创 至少有k个重复字符的最长字串

设原字符串为A串,子串为B1,B2,B3……,令原A串中总共次数加起来都不够k次的字符称为A的特殊字符,B1与B2等被特殊字符分开,那么所求的最长字串一定在B1/B2/B3等中。所以要针对每一个B串,重新把他们当成一个个A串,进行讨论,大问题变成了n个小的同类型问题,使用递归实现。例如 bbaaacbd为A串,B1为bbaaa而B2为bd但是A的最长字串为aaa只是B1的一个字串。终止条件:问题中的A串长度本来便小于k或者A串中所有元素的个数都大于等于了k次。额, 遇到点问题,明天再更。

2024-01-05 01:09:13 408

原创 巧用前缀和

对于前缀和的应用见的已经很多了,但是它的作用仍然让我意想不到。

2024-01-04 01:30:39 383

原创 板子题之队列deque

【代码】板子题之队列deque。

2023-12-09 13:31:14 44

原创 二分算法(错的次数多了,感觉还是有必要建一个文章)

(譬如我)

2023-12-02 18:11:16 33

原创 整数对区间交叉判断

奇怪,这个没法加目录嘛?

2023-11-23 15:42:22 33

原创 (素数,欧拉筛)

输入输出范例:输入:输出:题意解析首先这道题你要看明白这个数组中任意两个元素其中的任意一个都是可以把自己的一个因子给奉献出去给另一个的,所以本质就是因子之间的转移,一直到每一个数的因子数目和种类全部一模一样的吻合才行。这样一来,就不需要考虑因子交换的过程,只需要知道,只要每一种因子的数目都可以被n整除,那么就可以把因子分配平均(意味着让每一个数字相等)方便来看,我们把所有数的所有质因子放一起全部统计种类和数目,只要出现的每一种质因子都可以被n整除,那么输出Yes反之输出No好吧,这个代码还是ji

2023-11-11 01:44:35 50

原创 Codeforces Round 903 (Div. 3)C题perfect square

这里涉及到了n∗n方阵内元素的旋转问题,可以总结一下。令这个n∗n方阵的二维数组是ann那么,如果aij如果是按照顺时针方向旋转四次回到原位置,他的四个位置分别是:aijajn−1−ian−1−in−1−jan−1−ji如果他是逆时针旋转4次回到原位置,他的四个位置分别是:aijan−1−jian−1−in−1−jajn−1−i。

2023-11-11 00:55:09 71 1

原创 Educational Codeforces Round 157 (Rated for Div. 2)D题

原cf网页链接。

2023-11-11 00:21:21 22

原创 Codeforces Round 907 (Div. 2)B题(位运算相关)

输入输出范例input45 31 2 3 4 42 3 47 310 4 25 42 2 2 2 21 1 1 15 51 2 4 8 165 2 3 4 1output1 2 3 6 63 3 3 3 3。

2023-11-10 01:58:48 60

原创 CF round 908 div1A题

然后在数组左右移动这类问题中,都会选择以指针移动来代替数组移动,而在指针移动的时候要注意不要因为移动的步数太多而导致超出int范围或者在访问数组元素时候超出数组范围。后来cmx提醒了我,这么搞遇到一些题容易出现括号里的数值超出Int范围的情况,所以队长这么做一定有他的道理,上面的才是万金油版数组移动转指针移动。主要的难点其实不在于数组左右移动上面,主要是能够发现,每一次操作找到。这个问题在后面代码会详细解释,在这道题就可以用到。的那一个点,都是要把数组往左移动。的位置,所以每一次反向思维观察。

2023-11-09 17:13:21 27

原创 最长递增子序列的基础与理解

如此说来,对于每一个特定长度的来源于a序列的c序列,都有一个末尾元素最小的c序列,比如说力扣题解里举的那个例子0 8 4 12 2对于长度为1的c序列末尾元素最小的是0,长度为2的c序列,末尾元素最小的是0 2序列,三的话是0 8 12或者0 4 12。要知道,出现比原a数列中最长递增子序列长度更长的子序列的话,有三种情况,情况A:有可能在b数列内部出现,情况B和C:有可能在a数列原有的最长递增子序列基础上在开头增加长度,或者在尾部增长,但是第一种情况只需要一种降序排序可以解决。

2023-11-08 22:03:51 73

原创 最长好串(原创)

指所有字符均是按字典顺序从小到大排列且不含有重复字符像“abc",“efghijk”,"opqrst"等均为顺串。指由相同字母重排列形成的字符串(包括相同的字符串)像"abs"与"sba"即为异位词。每个字符串都含有多个异位词(单字符字符串除外),如果一个字符串a的异位词中有一个为顺串,则称这个字符串a为。比如说,"fcdebga"为好串。给定一个字符串 s ,请你找出其中为好串的的长度。

2023-09-17 16:47:06 70

原创 Codeforces Round 895 (Div. 3)D - Plus Minus Permutation

设k为x与y的最小公倍数,本质上是找到n/x与n/y还有n/k这三个数字是多少,然后这就能确定两个数列的长度分别为n/x-n/k与n/y-n/k;然后就能高斯求和找到1到n中最大的(n/x-n/k)个数相加再减去1到n中最小的(n/y-n/k)个数的和,为所求。求两个数的最大公约数(我最喜欢的辗转相除法)

2023-09-10 13:06:46 87

原创 Codeforces Round 895 (Div. 3)C.Non-coprime Split

学习到的

2023-09-10 12:53:32 115 1

转载 GCD与LCM

gcd用法gcd写法

2023-09-10 10:48:02 63 1

转载 c++中map容器中erase()的坑

额,转载一篇感觉不错的,欤,好像不太会欸。这样算是转载成了吗,应该吧,害不管了。

2023-08-28 17:50:33 76 1

原创 B. Olya and Game with Arrays

如果是,那么好吧,只能让第一大差距m减去数列最小值序列中第二小x和最小的差值y,然后再与第二大的差距n比较,因为如果m-x+y<n的话说明就算把m对应队列中的最小值p放到n对应的c队列中他也是不如直接把n对应队列放到任意一个最小值比n对应队列大的数列中,如果m-x+y>n同样如此理解。如果不是,那么好,把这个差距最大的那个数列的最小值放到任意一个最小值比他大的数列b中,那个数列b的最小值不变,而且数列a的最小值还会比移动之前多了m,先建立两个表,一个是所有数列最小与第二小的差值表,一个是所有数列最小值表。

2023-08-28 11:47:12 166 1

原创 Coin Change

如果把x1-5中任意一个放到x的位置同理,由此可以回溯到x等于1的时候,n也=1,m=1/5/10/25/50;表示用k个硬币凑出j元的方案数目=用k-1个硬币凑出对应五种可能(j-1/j-5/j-10/j-25/j-50)的方案数目总合,这里因为要加五种可能,所以第一个for循环就变得好理解了,但是由于这道题回溯的特性是知道所有目标值以下任意金额对应的硬币数和方案数,所以他需要遍历金额从1到n,硬币数从1到100的所有对应的mon[k][j]的值,最后从中找到自己要的,加起来。

2023-08-26 17:07:19 36

原创 5 Dijkstra算法的设计

(2)目的: 设一有向图G=(V, E),已知各边的权值,以某指定点v0为源点,求从v0到图的其余各点的最短路径。(1)单源最短路径问题:已知有向带权图(简称有向网)G=(V,E),找出从某个源点s∈V到V中其余各顶点的最短路径。3)数组pre[]表示从V0到各终点的最短路径上,此顶点的前一顶点的序号;若从V0到某终点无路径,则用-1作为其前一顶点的序号。2)数组dist[]存放当前找到的从源点V0到每个终点的最短路径长度,其初态为图中直接路径权值;1)“长度”最短的最短路径是边数为1的长度最小的路径。

2023-08-20 10:39:47 40

原创 4 Kruskal算法的设计

(3)实现Kruskal算法的关键是如何判断所选取的边是否与生成树中已保留的边形成回路,这可通过判断边的两个顶点所在的连通分量的方法来解决。初始时,先构造一个只含n个顶点的子图 T,然后从权值最小的边开始,若它的添加不使T中产生回路,则在T上加上这条边,如此重复,直至加上n-1条边为止。1)设母图G=(V,E)为一个具有n个顶点的带权的连通网络,其最小生成树的初始状态为有n个顶点但无边的非连通图 T=(V, Φ)。(1)在排序的过程中,由于根据边的权值大小进行排序,需要同步保持边的权值和边之间的对应关系。

2023-08-20 01:02:46 49

原创 牧场安全系统

于是,明明决定给养牛场安装一套现代化的生产管理系统,用科学的方法来管理养牛场,在这套安全系统中,需要为每头牛编一个号码,这个号码是唯一的,用来标识每一头牛。但是在给每头牛编号的时候,明明遇到了困难,由于系统的原因,系统对每头牛的编号有一定的限制,这个编号必须有。明明觉得这样编号的方法非常麻烦,仅仅靠手工排列是很难完成的,出错的可能性很大,这时,明明想起了你,你是一位程序设计专家,你能否帮明明写一个程序,帮助他按照编号的规则,由程序生成所有的有效编号,供明明使用。,这样构成的可能的编号就有以下。

2023-08-10 23:02:54 205

空空如也

空空如也

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

TA关注的人

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