自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ATCoderABC371CD题解

这把d题比较简单,先用前缀和处理区间值,对于每一个查询,我们利用二分查找,找出其对应得左右端点值,然后直接利用前缀和计算,需要注意,要特判没查询到的情况,最后一个测试用例就是针对这种情况的。其实对于两个简单无向图,只要另一个图的点全排列,然后其对应的边关系加上后,这两个图长的一模一样就可以。所以我们可以用全排列,也可以用搜索,其实都是全排列点,然后只要对应的两点与目标图的边关系不一致,就花费相应的费用将他修改为一致的,求出所有排列中花费最小的就是答案。

2024-09-15 16:19:06 188

原创 学会二分法,有这一篇就够啦!

代码中用ans来表示查找到元素的位置,与原来二分查找不同的是,这里找到目标值后并不直接退出,而是你要找在这个已经找到的目标值的位置的左边还有没有target,所以用先ans记住这个位置,然后r=mid-1查找左边还有没有目标值,这样就可以找到元素第一次出现的值了。有了固定好区间的思想,你在写二分法的时候,才不会搞不懂,到底是应该left

2024-09-06 21:04:26 771

原创 P1005 [NOIP2007 提高组] 矩阵取数游戏(__int128的使用)

需要注意的是,我们这样遍历,我们的dp[i][j]最终会在每一个(i==j)停下来,但是这个(i==j)的点的a[i]值我们并没有取走,所以我们要再取一次,对m个点把数取走并取最大值。肯定不够,这时候你就想写高精度,但是高精度比较麻烦,而且这道题也就到2^80以上,不至于到2^1000以上,高精度的话可以参考我的另一篇题解。针对100%的题目数据,n,m

2024-08-11 23:00:35 546

原创 前缀和总结(一到多维)

有的,读者可能发现我在写上面前缀和公式的时候都标记上了二进制数,实际上,我们可以利用二进制数来记忆前缀和的公式,这样不仅记忆轻松,在处理高维的前缀和时我们也不会漏。以上前缀和我们都可以很好的通过画图来理解和记忆,但是三维的就是立方体,我们每次需要通过画立方体来理解和记忆,实在是过于困难,有没有什么巧记的方法呢?比方说区间【l,r】,这也是很好理解的我们这段区间的部分和,就会等区间的最远端的和减去不属于区间的这部分和。我们在预处理时通常写下这样的公式,这个公式是很好理解的,(0,i)的前缀和就会等于。

2024-08-11 17:15:11 420

原创 P1004 [NOIP2000 提高组] 方格取数

如果我们走的(i,j)和(k,p)是同一个点,那我们这个点的价值就只加一次就好。dp[i][j][k][p]总共有四种情况下下,右右,右下,下右。如果本题,是求一条最有价值的路径那是很简单的。那本题说可以走两次,我们就拓展为走两条路。

2024-08-10 18:15:08 117

原创 P1003 [NOIP2011 提高组] 铺地毯

按顺序枚举地毯,判断点在不在地毯中,不断更新地毯序号即可。

2024-08-10 16:38:19 109

原创 P1069 [NOIP2009 普及组] 细胞分裂

然后,我们对每个细胞分裂1s的值(也就是Si)都除以试管的质因子,如果Si能整除每一个试管的质因子,就说明该Si,可经过分裂后变为试管的倍数,就是可以整除试管,但是如果不能整除试管的每一个质因子,那么分裂几次都没用。本题我们得知试管数是m2个m1相乘,非常大,直接算是不现实的,我们可以先将m1做质因数分解,记录其质因数,并且记录其质因数个数,然后m2个m1,就直接将质因数个数都乘上m2即可。S1:30=2*3*5再裂一次 2*2*3*3*5*5 两次无法成为24的倍数。说还是比较复杂具体看代码!

2024-08-08 19:40:43 169

原创 P1002 [NOIP2002 普及组] 过河卒——DP解法

注意马自己算障碍,不能去吃马,注意开long long!一模一样不过要自己写一个障碍数组罢了。

2024-08-07 23:29:19 206

原创 基于C#与SQLsever医院信息系统开发

笔者在此共制作14个窗体,数量多,不一一展示,部分窗体效果如下,窗口设计因人而异,本文章将不介绍窗口的制作,请读者依靠自己的喜好进行设计。patient(PNO,PN,SEX,PB,PTN,P.Password)//病人。在此提供大部分窗体的功能代码,其他窗体代码的功能实现与这些窗体代码的功能大同小异。用户2:医生,可登录账号,查询自己所治疗病人的他们的病历,并能添加和更新病历信息。doctor(DNO,DN,SEX,DB,DTN,D.Password)//医生。6.User_root_1代码实现。

2024-07-08 11:00:17 697

原创 第十五届蓝桥杯C/C++B组题解——数字接龙

图中,我画出了(1,3,5,7)走法的原点和下一个点,此外,我还标记了两个点,请读者细想,如果这两个点同时被访问过了,是不是说明,两点中间有一条路径,并且与当前路径形成了交叉。2. 对于路径经过的棋盘格子,按照经过的格子顺序,上面的数字组成的序列要满足:0, 1, 2, . . . , K − 1, 0, 1, 2, . . . , K − 1, 0, 1, 2 . . .。这也是这个题目的难点,什么叫做交叉?这在赛场上就是送分的信息,如果一时间没有很好的思路,那么输出-1,抢分,不失为一种很好的策略。

2024-05-01 10:52:46 1210 3

原创 第十五届蓝桥杯C/C++B组题解——R格式

到此三次模拟全部结束,接下来我们要做的便是四舍五入,我们数据是倒着存在数组A中的,前面我们已经计算出小数点后一位的位置flag。对于50%的用例,直接开double,不是问题,但对于100%的用例,便需要使用高精度算法对浮点数进行模拟运算,下面结合图片一起分析。接着分析,本题是欲将一个浮点数乘上2^n,那么问题就可以转换成,将数组A[],每一位都乘上2然后,模拟进位的过程。第二次,我们发现运算结束时,最高位的进位不为0,那我们就要扩展最高位,代码是这样写。

2024-04-23 16:25:48 620 2

空空如也

空空如也

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

TA关注的人

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