自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 垃圾桶--

AND, OR and square sum - 洛谷Johnson 全源最短路

2024-08-05 11:58:51 63

原创 河南萌新联赛2024第(三)场:河南大学

我要学python。

2024-08-04 19:46:16 112

原创 第三周周报

我这周主要就在学习dp 作业。了解了基础的线性dp和背包,01和完全。我自己搜集了一些很不错的网站。用来帮自己了解这些东西。这周有再额外的学习树的内容。(tingliuzaiqianzhuizhongzhuiqiuhouzhui)第三周,人际关系又搞的和原来一样很糟糕。现在的巴黎奥运会开赛了。我希望等到竞赛的那一天。

2024-07-28 21:41:02 215

原创 动态规划专题:线性dp、背包问题,区间

因为不能连续三天吃一样的东西,所以可以先假设第一天吃A,然后情况就是第i-1天吃A,第i-1天吃B,第i-1天吃C,其中第i-1天吃A时,第i-2天不能吃A,只能吃B和C。所以第i天吃A的情况就是第i-2天吃B,第i-2天吃C,第i-1天吃B,第i-1天吃C。对于第i天吃B,C的情况和吃A的情况一样。B:第i-2天吃A,第i-2天吃C,第i-1天吃A,第i-1天吃C。C:第i-2天吃A,第i-2天吃B,第i-1天吃A,第i-1天吃B。所以最后第i天的情况总和为。int dp[N];

2024-07-28 21:39:35 913

原创 河南萌新联赛2024第(二)场:南阳理工学院

因为数据范围很小,所以我很随意的就去循环进行判断,用map来判断重复情况。用for循环来判断后缀与否。然后我为了记录尽可能多的数据用了很大的很杂的数据结构。我们建立一个函数来计算3阶行列式。我们不必看着很麻烦的i和j来烦恼了。根据题意可以得知国与国之间互相联通所以从任意一个国家出发都可以到其他所有国家,故按照权值排序后输出就可以了.我爱线代,我爱线代,我爱线代。没有人比我更热爱线代。简单的,无所谓的判断一下下。最后用排序来做最后的调整。

2024-07-28 20:09:49 299

原创 SMU Summer 2024 Contest Round 7

我们可以看题,我们要选择一个大于等于2的整数X,用数组中的数除以X的余数,来替换原数组中的每个数。用来使数组中的数都相等。我们可以判断出,1和2,1和0这两个组合在题目要求的情况下是矛盾的,因为他们取余任何数都不会彼此相等。那么我们可以从这里出发。

2024-07-28 19:02:55 669

原创 cf绿名啦!!!!!!

2024-07-27 22:26:00 298

原创 SMU Summer 2024 Contest Round 8

这个因为是累乘,而且乘法中最小的数是2,累乘的结果最大又是10的5次方,可以确定这个的数据范围其实很小。我们可以利用map在遍历到每一层时将可能的结果存到map里面,每一层就利用上一层的储存结果进行更新。注意最后的累乘结果可能会很大。会超过long long范围所以要用int128来进行存储。

2024-07-27 16:26:56 260

原创 高精乘的板子: A*BBBB

【代码】河南萌新联赛2024第(二)场:南阳理工学院 : A*BBBB。

2024-07-24 17:10:32 125

原创 SMU Summer 2024 Contest Round 6

给了你一个字符串,你可以在任意两个字符间插入加号,而且也可以插入任意个,问你这些所有可能的算式的结果加和是多少。那我们可以来看一下,这个字符串长度很小,我们可以举例出所有可能产生的数,记录下这个数的大小,这个数产生的位置,这个数的数位长度。对于每一个数字,我们都可以算出它可能被加和几次。

2024-07-22 15:08:25 383

原创 第二周周报

进行到第二周,状态越来越差了,cf掉大分,做题也总是比同级低一题,不过睿抗或许进了国赛,而且我人际关系搞得很好,两个一扫阴云。每天的题,如果说难,但如果要看别人实际做的题,其实可以补,而且我会把一些问题想的很复杂,不知道代码实现,最近心思有点乱。关于训练,我有在补之前的cf题,记起了一点。主要就是思维题居多,一些细碎的算法知识。我好像就是很难踏出算法这一步。

2024-07-21 21:24:01 323

原创 河南萌新联赛2024第(一)场:河南农业大学

真的是白WA啊,如果他是0,那么就输出0。如果他是2或1,那么直接输出1。如果是跟一般的数,先让他去除二,如果他除二后是奇数,那么就减去1在除二,否则继续除二。一直计算到他是2或者1,结束。二分答案,我写了个题单,但还是没写出来。下面提供三个方法,这个的二分会爆long long,记得中途退出。如果,数组的最大值是1,那么就让1去加上n这样乘出来会比只乘n大一,如果是另一个,那么取最大值,把他乘上n这个样就是最大值。不要用double!级数内容1/n+2/n+3/n+4/n+.......=......

2024-07-21 21:21:49 227

原创 SMU Summer 2024 Contest Round 5

这个题你换思路,不去找可能的体重来区分大人和小孩,而去利用每个小孩的体重为标准。去计算符合的大人(小孩自己也顺便就出来了)。记得一开始的max取成大人和小孩个数的最值,因为它总可以把一类人全猜对,即使另一堆人全都不对。(WA8发)。然后分别进行排序,大小无所谓,反正都可以计算出来。对于每一个小孩,利用lower_bound()特性,把小孩体重+1,去大人堆里找比这个体重大的大人个数。再加上比这个体重小的小孩个数。最后就是max出结果就好。

2024-07-20 20:43:45 243

原创 2024 暑假友谊赛 2

四川省赛原题。开一个二维字符数组和一个二维int数组。判断输入情况,如果这个点是'.'并且没有被判断过,那么就判断他的上下左右,记录‘.’出现的次数,如果是4次,那么这些点就组成了一个十字架。在int数组里把这些点全都++,最后看是不是所有的'.'在int数组里都被标记而且都是1。

2024-07-20 20:10:55 750

原创 DIV3 D题后,DIV2 C题后

开三个map,第一个存A数组中1

2024-07-16 17:11:48 334

原创 SMU Summer 2024 Contest Round 4

三个序列求满足的个数。对于B(中间数组),看他这个元素在A中出现了几次,以及这个点在B中的下标在C中出现了几次。相乘。

2024-07-16 15:18:06 251

原创 [ABC146E] Rem of Sum is Num

给定一个序列和一个正整数K,求这个序列有多少子区间满足:子区间所有元素和S除以K的余数是子区间的长度。对于这个公式,有如下的化简推导。子区间元素和——>前缀和。

2024-07-16 14:47:18 189

原创 7.14周报

现在回归到集训里面,但是多半个多月没打(之前也不太能算“打”)。之前不会的所有问题都显出来了,包括现在学的二分,还有一直不会的搜索,之前就没咋掌握。从没对过几道题,一直停留在思维题层面。6场的比赛,加上小白月赛,div3,atc,力扣有10场,自己能写的还是签到和模拟,要补的东西真的有够多的。除了这些,也在理解搜索,希望有一天也可以写出搜索的题目。当前的练习题,写了些,不能说会,只能说我在写。对于二分,自己理解到了一些算法特点,,但很难去提取出题里的二分条件。

2024-07-14 19:45:10 172

原创 暑假牛客训练

等我写完首先预处理后缀最大值,之后遍历数组,如果该数是当前可插入的数的最大值则直接出栈(因为后面的数比他小,若先出会导致字典序减小),出栈后比较最大值左边的数和右边所有的数,如果右边(后边)等待插入的数里都没有大于左边的,那么先弹出左边的,直到条件不满足。否则插入右边的数字,重复操作直到数组遍历完成。设立一个栈,然后遍历字符串,在遍历过程中创建一个临时变量来记录字符串里要计算的数字,如果碰到了结束符,那么就把所记录的数字插入栈中,如果碰到了计算符号,就跳出前两个数字,进行运算。并将结果继续推入到栈中。

2024-07-14 19:14:22 1238

原创 SMU Summer 2024 Contest Round 2

每个单词都不能被切割开来,只能占同一行,那么二分答案可以做,最长的可能结果就是所有字符加起来,再加上n-1个空格,最小的情况就是最长一个字符的长度,左右边界就确定了,那么就开始分,对于一个mid情况,遍历字符数组,若字符+空格情况满足要求,那么就放在同一行,否则行数+1,最后判断与题目要求函数是否一致。给定长度为n的字符串s,q个询问,求在l到r的范围内有多少组俩个连续字符。先把地毯分成九块,除了中间那块,其它都是由左上角那块延申出来的。其他八个区块是 (𝐾−1)(K−1) 级地毯。

2024-07-14 18:31:50 314

原创 2024 暑假友谊赛 1

对所有的点按最靠近原点与否进行排序,然后对于B中每个点,从A中找与他最相近的,把这个点标记出来,下次遍历就不需要了。先算货币价值,如果单个Y/3可以买的苹果大于1个,就优先用Y货币买到剩余数量不足3个,再用X货币扫尾,否则直接用X货币买完。如果是对于A中的点,去找B里和他最接近的点的话:y要从小到大,x要从大到小。数据范围虽然很小,但是实在是想不到这样来保障数据范围,写了100多行垃圾。表示前 i 个菜肴,占⽤第⼀个烤箱时⻓为 j 的⽅案是否存在。动态规划,简单的动态规划,但是不会写。

2024-07-14 17:55:13 296

原创 2024 暑假友谊赛-热身2

数据范围很小,两重for循环可解。

2024-07-14 16:59:20 406

原创 2024 暑假友谊赛-热身1

我希望自己可以写出BFS。

2024-07-14 15:57:45 329

原创 SMU Summer 2024 Contest Round 3

没错,我是SMUer。今天是三天来最差的。A.寻找素数对描述哥德巴赫猜想大家都知道一点吧.我们现在不是想证明这个结论,而是想在程序语言内部能够表示的数集中,任意取出一个偶数,来寻找两个素数,使得其和等于该偶数.做好了这件实事,就能说明这个猜想是成立的.由于可以有不同的素数对来表示同一个偶数,所以专门要求所寻找的素数对是两个值最相近的.输入描述输入中是一些偶整数M(5

2024-07-11 02:39:01 685

原创 SMU Summer 2024 Contest Round 1

这里的数据范围很小,可以写多重for循环,因为题目说K次机会可以用任意次,我们以“使用的机会数”作为二重循环,枚举A,B的操作次数,用来模拟全部的情况,用i循环来模拟从左边进行拿取,j循环来模拟从右边进行拿取,题目一共给了4种操作,在枚举过程中,并非所有都会被用来拿取,剩余的情况可以用来插入,当从手里舍弃一个负数的时候,手里元素的总和会变大,反之会减小,所以我们应当利用剩余操作次数使手里负数尽可能出队。选取A和B数组当前的的最大值来进行最大求和,如果当前的B[i].first已达到,就跳到下一个继续。

2024-07-11 01:57:21 858

原创 dp动态规划(希望是)

递归的过程:“归”是产生问题答案的过程。“递”是分解子问题的过程。--->如果只保留“归”的过程(已知最小子问题的解,推出最大问题的解)--->递推。要想实现记忆化搜索的话,那么dfs的参数就 需要 尽可能地少。不应该把 没有影响到边界的参数 放进来。想要剪枝,就要尽可能把能剪枝的参数写上来。大盗阿福点击查看题目超时代码(暴力):点击查看代码记忆化数组代码:递推:进行空间优化:dfs-->记忆化搜索-->倒序递推-->正序递推-->空间优化。求最优子问题:dfs(x)=max(

2024-07-07 09:47:27 537

原创 牛客小白月赛92——D&E&

整理成一个关于位置x的一元二次函数,计算系数后,从1到n逐一尝试,时间复杂度O(n):数学问题简化复杂度。

2024-07-07 09:45:49 108

原创 c++字符串知识总结

substr()是C++语言函数,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。如果没有指定长度_Count或_Count+_Off超出了源字符串的长度,则子字符串将延续到源字符串的结尾。

2024-07-07 09:39:34 834

原创 next_permutation c++全排列函数用法

在一个图中,一个人从(0,0)进行上下左右行走。有一个地雷点(mx,my)。此外,next_permutation(node,node+n,cmp)可以对结构体num按照自定义的排序方式cmp进行排序。next_permutation(num,num+n)函数是对数组num中的前n个元素进行全排列,同时并改变num数组的值。·. prev_permutation(start,end)返回上一个排列(均按字典序排序)当当前序列(数组)不存在下一个排列时,函数返回false,否则返回true。

2024-07-07 09:33:27 406

原创 multiset用法总结

构造、拷贝、析构操作效果set c产生一个空的set/multiset,不含任何元素set c(op)以op为排序准则,产生一个空的set/multisetset c1(c2)产生某个set/multiset的副本,所有元素都被拷贝以区间[beg,end)内的所有元素产生一个set/multiset以op为排序准则,区间[beg,end)内的元素产生一个set/multisetc.~set()销毁所有元素,释放内存set产生一个set,以(operator <)为排序准则。

2024-07-07 09:19:48 689

原创 ——并查集

并查集主要用于处理一些不相交集合的合并问题,一些常见的用途有求联通子图,求最小生成树的Kruskal算法和求最近公共祖先等。初始化查询合并。

2024-07-07 09:15:30 261

原创 STL学习——栈,队列,set,优先队列

这样可以常用来遍历set。实际上它效果上等同与set.size()如果是{1, 55, 99999},那么set.size() == set.end() == 3。

2024-07-07 09:09:48 709

原创 Markdown语言图片居中、并调整图片大小

Mardkdown语言本身不直接支持调整图片位置/大小,但是Mardkdown语言支持HTML语言,因此可以通过HTML语言修改位置/大小,语法如下。

2024-07-07 09:01:53 253

原创 Educational Codeforces Round 164 (Rated for Div. 2)——B&C

因为两个数的所有数位顺序不可更改,所以要找到找到x,y两个数字第一个不同的位置(记为x),使这个位置的大值归x,小值归y。在数组中,令等于开头和结尾的元素为“1”,其余都为“0”,如果存在两个以上的“0”在一起,则这些数无法被更改,数组就会丑陋。由于原来的数组是美丽的,首先,如果此数组所有的元素均相等,显然美丽,我们无法令其变成不美丽数组。题意:对于一个数组,如果能进行若干以下操作,使得所有元素均相等,则是“美丽”的。对于 a[i-1] = a[i+1] 的情况,令 a[i] = a[i-1]。

2024-07-06 17:23:42 928 2

空空如也

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

TA关注的人

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