自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Codeforces Round 957 (Div. 3)】

Codeforces Round 957 (Div. 3)补题

2024-07-13 17:07:52 1018

原创 AtCoder Beginner Contest 360

算出这次的期望位置后,我们通过此次的期望位置来算出后面的期望位置,只是需要把保持在原地乘以1换成乘以此次的期望值,把改变位置的期望值中减1,改成减去此次的期望值,假如此次的期望为f[i],则。题意:把字符串每隔w个字符拆分一次,取每段的第c个字符拼接在一起,看能不能得到t。对于保持在原地,我们可以两个都不选择位置1处的球,它的概率是。,也可以选择两个都是位置1处的球,它的概率为。,因此,保持原地的概率为。,此时保持原地的期望为。然后循环k次就可以了,对于改变位置,我们有。的概率选择位置1,有。

2024-07-08 21:15:14 292

原创 牛客小白月赛97

可以先求出A类价值的上界和下届,然后B类价值就是上界减下届加一(因为在上界和下届中的A类价值的种类数都是可以取到的),上界就是区间中所有正数的数量,下届就是所有负数在前,正数从小到大排列,得到的相应最大值的种类数。分析:首先求一下序列a的前缀和,假设照度为len,然后 0<= i <= len,分别求出它的前i个数的最大值,然后A类价值就是这些最大值的个数,B类价值就是序列a的所有排列中A类价值的种类数;分析:我们需要在x的范围内去找n个平方数,如果x的范围内有a个平方数,那么找到的平方数的种类就是。

2024-07-03 14:39:53 291

原创 初步了解动态代理

为什么需要代理?代理可以无侵入式的给对象增强其他功能调用者 => 代理 => 对象代理长什么样?代理里边就是对象要被代理的样子Java通过什么保证代理的样子?通过接口保证,后边的对象和代理需要实现同一个接口,接口中就是被代理的所有方法。

2024-05-24 14:17:22 190 1

原创 初步了解反射

反射允许对成员变量,成员方法和构造方法的信息进行编程访问简单来说,就是可以通过反射获得类里边的成员变量、构造方法、成员方法。

2024-05-23 20:00:00 190

原创 TCP协议

TCP通信协议是一种可靠的网络协议,他在通信的两端各建立一个Socket对象注意:通信之前要保证连接已经建立通过Socket产生IO流来进行网络通信。

2024-05-20 22:18:56 134

原创 C语言字符串

头文件string.h。连接(拼接)两个字符串。

2024-05-16 18:09:37 211

原创 C语言输入输出

若为%x和%X格式,则以0x或0X开始,对于所有的浮点形式,#保证了即使不限任何数字,也打印一个小数点字符。对于%g和%G格式,它防止尾随零被删除。示例:“%#o”、“%#8.0f”和“%+#10.3E”对于所有的数字格式,用前导零而不是用空格填充字段宽度。示例:“%010d”和“%08.3f”有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则带减号符号。有符号的值若为正,则显示带加号的符号;若为负,则带减号的符号。项目是左对齐的,也就是说,会把项目打印在字段的左侧开始处。

2024-05-16 18:06:24 185

原创 初始网络编程

在网络通信协议下,不同计算机上运行的程序,进行的数据运输。

2024-05-14 18:35:08 259 2

原创 线程池学习

int corePoolSize, //核心线程数量int maximumPoolSize, //最大线程数量long keepAliveTime, //空闲线程最大存活时间TimeUnit unit, //时间的单位BlockingQueue<Runnable> workQueue, //任务队列ThreadFactory threadFactory, //创建线程工厂RejectedExecutionHandler handler//任务的拒绝策略​参数很多,注意一下。

2024-05-14 17:10:00 200 1

原创 AtCoder Beginner Contest 353(蒟蒻补题)

我首先想到的是双重for循环,看了看数据范围,肯定会TLE,然后我又去仔细思考,想到了排序后二分,因为按照题意描述,排序后并不会影响答案(可以自己写几个数据观察一下),然后我想到了二分找到每个数第一个大于1e8的位置r,在r之前通过公式计算,r之后while循环计算,然后也TLE了,痛苦万分,看了看答案,一个新思路。,然后进一步分析,有一对大于1e8的减去一个1e8······cnt对就减去cnt*1e8,所以我们只需要算出。我们可以将其减去1e8,来代替对1e8取模。:看上边我截图的数据范围,1

2024-05-12 18:18:41 525

原创 多线程的学习

它被包含在进程之中,是进程中的实际运作单位。(应用软件中相互独立,可以同时运行的功能)4.创建FutureTask的对象(作用管理多线程运行的结果)3.创建MyCallable的对象(表示多线程要执行的任务)2.重写call(是有返回值的表示多线程运行结果)5.创建Thread类的对象(表示线程),并启动。3.创建子类的对象,并启动线程。多线程:有了多线程,可以让程序同时做多件事情。4.创建一个Thread类的对象,并开启线程。②实现Runnable接口的方式进行实现。①继承Thread类的方式进行实现。

2024-05-08 21:19:22 350 1

原创 Java 异常

①定义异常类②写继承关系③空参构造④带参构造。

2024-04-08 19:10:02 1352 2

原创 方法引用Java

把已经存在的方法拿过来用,当做函数式接口中抽象方法的方法体。

2024-04-03 19:12:30 418 1

原创 牛客周赛 Round 38

分析:因为是等比数列,q为2时,最多也就操作15次左右,因此我们可以直接枚举100以内的数字作为公比,为什么确定是100呢,因为此时就达到10的7次方了,并且大于100最多也就3个数,所以为了不超时,大于一百的我们再分开讨论;分析:只需要统计每两个数字间的距离len,如果大于k就除以要求最大的平滑值,注意如果len恰好能被k整除,添加的数为商减一,其他的情况直接加上商即可,还有一件事,k有可能会大于所有的len,这时候添加一个数就行了,这可以证明出来操作一次是可行的;

2024-03-26 21:27:52 328

原创 HashMap的部分源码

【代码】TreeMap的部分源码。

2024-03-25 18:42:57 76 1

原创 Codeforces Round 936 (Div.2)

思路:首先这是个寻找最小的最大值 --> 二分,所以我们可以从1到n进行二分,找到这个x,二分出一个x时,我们可以用dfs进行寻找满足x的长度进行切割,最后统计可以切割出的数量,并与k进行比较,如果大于k,返回true,否则返回false。思路:先统计出数组最大的连续子数组和,再通过观察可发现,其数值增加是2的等比数列,因此计算下它的等比数列和即可(可以用快速幂,不过好像也不需要),C.听大佬说这是个比较典的题(但我不会,值得学习)

2024-03-24 00:00:16 380 1

原创 一道感觉比较典的题

让要找的数与右上角元素对比,如果大于它,移到下一行,否则在本行向左移动,如果超出了矩阵的边界就结束循环,那么要怎么记录它是第几个呢?我们可以用一个cnt去进行记录,

2024-03-12 21:14:47 189 1

原创 Codeforces Round 925(div.3)蒟蒻补题

题目大意为,Anna可以将某个数反转,并让后边的零消失,比如2100 --> 12,Sasha可以让某两个数以任意顺序合并在一起,如果最后还剩的这个数大于10的m次方,输出Sasha,否则输出Anna。题目大意为每个人写出自己看到每个人的顺序,且在自己看来,他的位置是第一位,其他人的相对位置是正确的,求对于这n个人是否拥有一个确切的位置顺序,有的话,输出yes,否则输出,no。题目大意为寻找ai + aj(i < j),能被x整除,ai - aj能被y整除的<i, j>的数对的数量。

2024-02-17 17:00:36 1941 1

原创 Codeforces Round 926 (Div. 2)(A~C)

刚开始可能会想着我每次赌上一块钱,在输x次后赌上一个较大的数不就可以不亏损吗,但实际上是赌场控制你的输赢,连输x次赢一次这是无法确定的,赌场可以在你上一块钱的时候让你赢,更新次数,这么会输的很惨,所以我们要换个思路,题目大意是说,有n×n个无色的方格,想要至少k条对角线上有至少1个上色的方格,询问要上色的最小方格数。次,问会不会出现被赌场把控着使其钱数始终小于n(n为任意正整数)。- 1)),否则失去y元,赌场有促销活动,不会连续输。元,如果该次赌钱为y(y为正整数),赢的话,赚钱y*

2024-02-16 18:23:07 311 1

原创 java中的static

static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量。

2024-02-16 16:04:43 120 1

原创 一道贪心题

【代码】一道贪心题。

2024-02-14 20:45:37 176 1

原创 codeforces Hello 2024(C和D) 蒟蒻补题

我们可以将第一个盒子中的数换成第二个盒子中此时的数,并将第二个盒子中的数,改成这个 x,这样是不是相当于就给盒子进行了一次扩容,此时第一个盒子中是不是产生了第一个b[i]

2024-01-11 22:11:03 378

原创 Pinely Round 3 (Div. 1 + Div. 2) D. Split Plus K 蒟蒻补题

是不是所有ai - k的最大公因数?ai 在这个数组中确实没有了,但它留下来的影响还在,即有这样一个关系 ai + k = y + z,如果y和z不相等的话,之后我们在后续的操作中会对 y 和 z , 进行一样的的操作,比如说y + k = m + n,这样是不是相当于,在 ai那边再加了一个k,变成 ai + 2k = m + n + z,如此不断操作下去,直到右边的数全部相等,根据上边假设我们操作了 ri 次,我们最终会得到一个关系式 ai + ri * k = (ri+1)*

2023-12-27 12:29:04 1332

原创 算法双指针

双指针感觉更像是一种思想,使用两个指针在从两边向中间或者从一边同时开始但速度不同,也就是同向指针,快慢指针。双指针可以用来解决数组中元素的互换,并且还可以解决时间复杂度的问题,如果在某道题中用自己的方法会出现时间限制并且可以用双指针的话,不妨考虑一下它。双指针还可以解决在一定范围内要求的内容,比如说在一组连续的数中寻找一个或多个一定范围内的数的和为一个固定的值,或者寻找小于等于一个固定的值的范围等,下面我举几个例子,感觉说的好像废话啊,直接上题。

2023-11-18 22:11:01 24 1

原创 开始代码之旅

当然学习的话,肯定要不停的撸代码,自己因为还有其他学业,每天恐怕只能抽出一或两或三个小时来进行写代码,emmm,充满不确定性,不确定才是人生常态嘛,慢慢来就行了,古老的谚语,曾经说过:水滴石穿。目前准备把C语言的基础知识学学,学到指针,之后学一点算法,唉,还很遥远,慢慢来吧。虽然人不能太过于功利,但养家糊口也不丢人,学了技术,未来肯定要进一些公司,先了解企业吧,还不知道要去哪里,慢慢学吧,希望未来能养活自己吧,普通人的一生。

2023-10-11 22:59:34 35 1

空空如也

空空如也

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

TA关注的人

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