自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_63127290的博客

永远保持谦卑的态度和对知识的敬畏

  • 博客(51)
  • 收藏
  • 关注

原创 4742. 电(acw每日一题)

来源:Google Kickstart2022 Round H Problem C。某城市有N个电力节点,编号1∼N。这些电力节点形成的电力网络,可以看作一个N个节点N−1条边的连通图。每个电力节点都有一个固定的电容,其中第i个节点的电容为Ai。现在,可以选择其中一个节点进行供电,其它节点也可以根据实际连接以及具体电容情况接收电力。具体来说,如果第i个节点通电,那么它也可以将电力传输给其它所有与它直接连接且电容严格小于Ai的节点。我们希望通过合理选择初始供电节点

2023-06-30 21:15:44 276

原创 4440. 照相(acw每日一题)

迫切希望在郡县集市上赢得最佳奶牛摄影师的农夫约翰正在尝试为他的N头奶牛拍摄一张完美的照片。农夫约翰拥有两种品种的奶牛:更赛牛(Guernsey)和荷斯坦牛(Holstein)。为了使他的照片尽可能地艺术,他想把他的奶牛排成一排,使得尽可能多的更赛牛处于队列中的偶数位置(队列中的第一个位置是奇数位置,下一个是偶数位置,以此类推)。由于他与他的奶牛缺乏有效的沟通,他可以达到目的的唯一方法是让他的奶牛的偶数长的「前缀」进行反转(一个前缀指的是对于某个位置j,从第一头奶牛到第j头奶牛范围内的所有奶

2023-06-28 17:20:44 206

原创 题:接龙数列(dp+优化)

对于一个长度为 K 的整数数列:A1,A2,...,AK,我们称之为接龙数列当且仅当 Ai的首位数字恰好等于 Ai−1 的末位数字 (2≤i≤K)。例如 12,23,35,56,61,111 是接龙数列;12,23,34,56 不是接龙数列,因为 56 的首位数字不等于 34 的末位数字。所有长度为 1 的整数数列都是接龙数列。现在给定一个长度为 N 的数列 A1,A2,...,AN,请你计算最少从中删除多少个数,可以使剩下的序列是接龙序列?输入格式第一行包含一个整数 N。

2023-04-20 09:01:10 623 1

原创 密码脱落(思维+区间dp)

回文串实际上是以中间为准,左右对应相同的。也就是说,左右有几个不同,就需要增加/删除几个字符使他们相同,所以找到最长的回文字串后,用原来的长度减去回文串长度即是答案。如此,题目就变成了找最长的回文字串。

2023-01-13 10:49:57 372

原创 整数划分(满完全背包求方案数)

核心还是在于状态转移方程,从集合的角度来看,f [ i ][ j ]表示从前i个数中选,且总体积恰好为j的选法。总体上是相同的,只有初始化的边界值不同,本题因为恰好是求方案数,所以不合法的方案(选不满容量的方案)就置为0,在后续计算中不会影响最终结果。把n1、n2、...、nk看作数量无限的物品,问题就转化为:从1-n,n个物品中选,体积恰好为n的选法有多少种。一个正整数 nn 可以表示成若干个正整数之和,形如:n=n1+n2+…现在给定一个正整数 n,请你求出 n 共有多少种不同的划分方法。

2023-01-12 15:35:26 324

原创 01背包问题再探

理解01背包及状态转移方程含义

2023-01-09 10:06:20 296

原创 题:删数问题(贪心)

首先,删除较大的几位数这个策略明显不对,越高位的数越小,最后的数才能越小。设当前还有m位数没选,贪心策略就是从第0位开始(原数列的最左边的一位),到n-m(因为要保证至少应该选够n-k位数)。这样就选好了第一位,然后再从第一位的数的下一个位置开始选,到n-m(注意此时m已经自减),按照这个策略选完为止。键盘输入一个高精度的正整数 N(不超过 250位),去掉其中任意 k个数字后剩下的数字按原左右次序将组成一个新的非负整数。编程对给定的 N 和 k,寻找一种方案使得剩下的数字组成的新数最小。

2022-12-29 22:44:14 141

原创 题:上课睡觉(暴力枚举)

你可以对石子堆进行合并操作,将两个相邻的石子堆合并为一个石子堆,例如,如果 a=[1,2,3,4,5],合并第 2,3 堆石子,则石子堆集合变为 a=[1,5,4,5]我们希望通过尽可能少的操作,使得石子堆集合中的每堆石子的数量都相同。有 N 堆石子,每堆的石子数量分别为 a1,a2,…本题一定有解,因为可以将所有石子堆合并为一堆。第一行包含整数 T,表示共有 T 组测试数据。第二行包含 N个整数 a1,a2,…第三组数据,我们什么都不需要做。每组数据第一行包含整数 N。每组数据输出一行结果。

2022-12-28 23:30:31 198

原创 题:数列分段 Section II(二分、贪心)

对于给定的一个长度为N的正整数数列 A_{1\sim N}A1∼N​,现要将其分成 MM(M\leq NM≤N)段,并要求每段连续,且每段和的最大值最小。关于最大值最小:例如一数列 4\ 2\ 4\ 5\ 14 2 4 5 1 要分成 33 段。将其如下分段:第一段和为 66,第 22 段和为 99,第 33 段和为 11,和最大值为 99。将其如下分段:第一段和为 44,第 22 段和为 66,第 33 段和为 66,和最大值为 66。并且无论如何分段,最大值不会小于 66。

2022-12-27 20:19:11 580

原创 题:孤独的照片

Farmer John 最近购入了 NN 头新的奶牛,每头奶牛的品种是更赛牛(Guernsey)或荷斯坦牛(Holstein)之一。奶牛目前排成一排,Farmer John 想要为每个连续不少于三头奶牛的序列拍摄一张照片。然而,他不想拍摄这样的照片,其中只有一头牛的品种是更赛牛,或者只有一头牛的品种是荷斯坦牛——他认为这头奇特的牛会感到孤立和不自然。在为每个连续不少于三头奶牛的序列拍摄了一张照片后,他把所有「孤独的」照片,即其中只有一头更赛牛或荷斯坦奶牛的照片,都扔掉了。

2022-12-26 21:13:45 853

原创 题:A-B 数对(二分)

对于不同的A,B的个数可能有0、1、多个:排序后二分查找数组中第一个B出现的位置,若二分答案与B不等,则无答案;若二分答案与B相等,则继续二分查找最后一个B出现的位置,得到左右边界,答案+=B的个数即可。给出一串正整数数列以及一个正整数 CC,要求计算出所有满足 A - B = CA−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。c已知,找A和B满足A-B=C,即枚举A,对于不同的A,找到B满足B=A-C即可。一行,表示该串正整数中包含的满足 A - B = CA−B=C 的数对的个数。

2022-12-25 18:15:31 859

原创 题:后缀表达式

给定NN个加号、MM个减号以及N+M+1N+M+1个整数A1,A2,⋅⋅⋅,AN+M+1A1,A2,···,AN+M+1,小明想知道在所有由这NN个加号、MM个减号以及N+M+1N+M+1个整数凑出的合法的后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。例如使用123+−123+−,则“23+1−”“23+1−”这个后缀表达式结果是44,是最大的。

2022-12-23 15:41:33 478

原创 题:付账问题

几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有 nn 个人出去吃饭,他们总共消费了 SS 元。其中第 ii 个人带了 aiai 元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢?为了公平起见,我们希望在总付钱量恰好为 SS 的前提下,最后每个人付的钱的标准差最小。这里我们约定,每个人支付的钱数可以是任意非负实数,即可以不是 11 分钱的整数倍。你需要输出最小的标准差是多少。标准差的介绍:标准差是多个数与它

2022-12-17 10:30:41 388

原创 题:雷达设备

简单的勾股定理可知岛屿(x,y)在雷达覆盖范围是d的条件下,覆盖该岛屿的雷达可建设区间在[x-sqrt(d*d-y*y) , x+sqrt(d*d-y*y)]。雷达装置均位于海岸线上,且雷达的监测范围为 dd,当小岛与某雷达的距离不超过 dd 时,该小岛可以被雷达覆盖。因此,该题就转化为:给定 n 个区间,在 x 轴上选择尽量少的点,使得所有区间至少包含一个点。如果当前区间不包含最后一个选择的点,则在当前区间的右端点的位置选一个新的点。假设海岸是一条无限长的直线,陆地位于海岸的一侧,海洋位于另外一侧。

2022-12-16 17:26:43 179 1

原创 第五届“传智杯”全国大学生计算机大赛(练习赛)

传智杯第五届练习赛

2022-11-20 22:47:19 1328

原创 搜索(flood fill)

简单来说就是求连通块问题,深搜广搜都可。

2022-11-16 11:15:44 57

原创 题:地牢大师

其中, 充满岩石障碍的单元格用”#”表示,不含障碍的空单元格用”.”表示,你的起始位置用”S”表示,终点用”E”表示。如果能够逃脱地牢,则输出”Escaped in x minute(s).”,其中X为逃脱所需最短时间。每组数据第一行包含三个整数 L,R,CL,R,C 分别表示地牢层数,以及每一层地牢的行数和列数。向北,向南,向东,向西,向上或向下移动一个单元距离均需要一分钟。你不能沿对角线移动,迷宫边界都是坚硬的岩石,你不能走出边界范围。当输入一行为”0 0 0”时,表示输入终止。请问,你有可能逃脱吗?

2022-11-16 10:52:35 73

原创 树状数组(1)

前缀和打表后查询效率是O(1),但后续若修改原数组中的值,需要更新前缀和数组,最坏情况是O(n)。树状数组的支持单点修改和区间查询,时间复杂度都是O(logn)单点修改+区间查询,裸的树状数组。

2022-11-14 21:39:12 140

原创 题:交换瓶子

每次操作可以分裂环或者合并环,最小步数的话每次操作都是分裂环。当环数==点数时交换完成。把当前的位置的 a[i]连向我们本该在的位置的 a[i],成环。对于这么简单的情况,显然,至少需要交换 22 次就可以复位。有 NN 个瓶子,编号 1∼N1∼N,放在架子上。第二行包含 NN 个整数,表示瓶子目前的排列状况。输出一个正整数,表示至少交换多少次,才能完成排序。要求每次拿起 22 个瓶子,交换它们的位置。第一行包含一个整数 NN,表示瓶子数量。你可以通过编程来解决。

2022-11-09 17:27:14 122

原创 题:航班时间

小 hh 的女朋友发现小 hh 上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”。保证输入时间合法(0≤h≤23,0≤m,s≤590≤h≤23,0≤m,s≤59),飞行时间不超过24小时。对于每一组数据输出一行一个时间hh:mm:ss,表示飞行时间为hh小时mm分ss秒。注意,当时间为一位数时,要补齐前导零,如三小时四分五秒应写为03:04:05。每组数据包含两行,第一行为去程的起降时间,第二行为回程的起降时间。假设飞机来回飞行时间相同,求飞机的飞行时间。

2022-11-08 19:46:11 158 1

原创 递增三元组

数据范围十万,n或nlogn,只能枚举ABC中的一组。枚举AC后都会剩下两组,互相约束,因此枚举B。另外,前缀和、dp等需要用到下标-1操作的算法,在存数据时下标++,避免额外处理一些边界情况。排序A、C,枚举B, 在A二分找小于Bi的元素个数,在C中找大于Bi的元素个数,加和。第二行包含 NN 个整数 A1,A2,…第三行包含 NN 个整数 B1,B2,…第四行包含 NN 个整数 C1,C2,…cnt [ i ]表示在A中,i这个值出现多少次。表示在A中,0~i出现多少次。第一行包含一个整数 NN。

2022-11-06 16:27:55 165

原创 关于卡特兰数

C(m,n) =C(m,n-1)+C(m-1,n-1)

2022-11-01 15:50:15 207 1

原创 关于localThread在控制数据库事务中的体会

使用ThreadLocal对象来保存Connection对象,保证当前线程中任何地方的Connection数据库连接都是相同的。不只是数据库的链接,其他如cookie、session等等数据隔离也都可以通过ThreadLocal去实现。

2022-10-24 23:00:04 189

原创 HttpServlet详解

HttpServlet、HttpServletResponse、HttpServletRequest详解

2022-09-17 11:24:28 941

原创 关于Servlet的适配器:GenericServlet及ServletConfig、context等详解

关于Servlet的适配器:GenericServlet及ServletConfig、context等详解

2022-09-17 11:05:50 261

原创 Servlet是什么,其本质是什么,关于Servlet的生命周期

Servlet是什么,其本质是什么,关于Servlet的生命周期

2022-09-17 10:23:39 89

原创 Java学习记录(9)

泛型

2022-08-21 21:13:06 51

原创 Java学习记录(8)

字符串相关类,比较器

2022-08-20 16:37:11 48

原创 Java学习记录(7)

垃圾回收机制及内存泄露的情况

2022-08-20 15:54:39 42

原创 Java学习记录(6)

异常处理

2022-08-14 22:07:52 62

原创 Java学习记录(5)

接口、内部类

2022-08-11 21:41:43 84

原创 Java学习记录(4)

包装类、static、代码块、final、抽象类

2022-08-09 18:31:00 82

原创 Java学习记录(3)

csdn21天挑战,面向对象(1)

2022-08-05 11:13:13 139 1

原创 java学习记录(2)

csdn21天挑战赛——java数组

2022-08-04 10:15:06 53

原创 java学习记录(1)

阶段总结1

2022-08-02 15:24:21 99 1

原创 阶段学习总结——动态规划(2)

由于上上周已经学完基本的背包问题和dp问题,这次总结博客就不罗列模板题和基础知识了。这两周主要是做了一下线性dp和背包题。模电考试占用了太多时间,导致题做的也不多(从头开始学的模电(一点没听)),趁周末赶紧补了几道题...最小正子段和https://www.51nod.com/Challenge/Problem.html#problemId=1065题意:找出一个子段加和为正且最小思路:求出前缀和,用结构体存,然后由小到大排序, 假设排完后是 a0,a1, a2 ,如果a0.id...

2022-06-19 22:43:29 60

原创 阶段学习总结——动态规划(1)

动态规划(Dynamic Programming)dp,这周主要学习了背包问题、线性dp、区间dp、计数类dp、数位统计dp、状态压缩dp、树形dp、记忆化搜索。dp问题的核心在于状态表示与状态计算。一般先思考整个问题需要用几维的状态来表示,每一个状态的含义是什么,再考虑如何将每一步的状态计算出来。状态表示,如二维状态f(i,j),需要理解它表示的集合是什么(每一个状态都用一个集合表示,如在背包问题中表示的是所有的选法,只从前i个物品中选,且总体积.........

2022-06-05 20:11:31 115

原创 阶段学习总结——贪心

贪心,每次都选择当前看起来最优的选择(局部最优解),对于贪心问题,虽然说没有套路,但可以通过不断尝试来确定贪心做法。例如区间问题,一般来说就是排序,常见有按左端点排序、按右端点排序、双关键字排序等,之后再举一些特例,都能满足的话贪心策略应该就没什么问题了,可以尝试证明一下。而且很多贪心问题都可以转化为常见的一些贪心问题。区间问题1.区间选点给定N个闭区间[ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作...

2022-05-29 17:26:00 77

原创 阶段学习总结——最短路、最小生成树

对于图的存储:稠密图(边多),邻接矩阵存储稀疏图(边少),邻接表存储常用最短路的算法:dijkstra单源非负边权最短路o(n²+m)bellman_ford(o(nm))、SPFA(o(nm))单源负边权最短路floyd(o³)多源最短路1.单向图求来回最短路请柬 - 洛谷题意:求起点到各个点再回到起点的最短路(单向图)。求起点到各个点的最小花费,单源最短路问题,再求各个点到起点的最小花费(因为是有向图,来回不一定连通),再求各个点到起点的最小花费时反向建图,再用一

2022-05-22 22:33:53 180

原创 阶段学习总结--学习体会

随便记录一些接触acm后思维的转变。

2022-05-15 21:59:22 350

空空如也

空空如也

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

TA关注的人

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