自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FZU ACM 2025寒假集训 专题七

思路:一棵特殊的苹果树,其树枝分叉为二叉形式,每个树枝上都有一定数量的苹果。现在需要对这棵树进行剪枝,只保留指定数量的树枝,目标是让保留下来的树枝上的苹果总数尽可能多。思路:树形动态规划的核心思想是通过递归遍历树的节点,对于每个节点,计算在该节点放置士兵和不放置士兵两种情况下,以该节点为根的子树所需的最少士兵数量。正向图用于计算从 CCS 到各个站点的最短路径,反向图用于计算从各个站点到 CCS 的最短路径。本专题学习我了解图论的一些算法,更好的解决最短路径的问题。// 构建树的邻接表。

2025-02-19 23:27:13 1659

原创 FZU ACM 2025寒假集训 专题六

思路:假设第i个人为说谎者则第i-1个人肯定说真话此时第i个人的结果等于第i-1个人,假设第i个人为说真话,则要判断第i-1个人的身份,若第i-1个人说真话且a[i]=a[i-1],则第i个人结果取决于第i-1个人,若第i-1个人说假话且a[i]=a[i-2]+1,则第i个人的结果取决于第i-2个人。思路:将题目转化,将A序列递增化,3 2 1 4 5变成1 2 3 4 5,则B序列1 2 3 4 5变成3 2 1 4 5,思路:dp【i】存储以第i个数据结尾的最大片段和,用Max存储dp【i】的最大值。

2025-02-16 22:24:40 640

原创 FZU ACM 2025寒假集训 专题五

思路:用bfs,先将所有1的坐标入队,并用d【】【】记录他们距离为0,用v【】【】记录它们被扫描过了,将队列中的元素从四个方位扩展,将没有被扫描过的坐标加入队列,用d【】【】记录它们的距离为队首元素+1,拓展完后队首元素出列。思路:首先可以进行第一次拆分,把7拆成1和6,2和5,3和4,这是对7的拆分,之后重复这个过程对6,5,4进行拆分 直到无法拆分。思路:拓展边界,起点从(0,0)开始,然后用bfs搜索从起点能到达的0,起点不能到达的0则变成2。八皇后 Checker Challenge。

2025-02-13 23:25:18 806

原创 FZU ACM 2025寒假集训 专题四

思路:通过观察可以得到,令x=最小公倍数p/最大公约数q,则x的(互质)因数个数即为答案,比如这题中60/3=20,20=1*20(互质),20=2*10(不互质),20=4*5(互质),所以结果为4.但是有两种特殊情况,q不能整除p和q==p。思路:数据较大用字符串输入,然后对数据取模,因为m是素数,根据费马小定理可以得到最终的解x=a*b^(m-2) (mod m)m较大可以用快速幂来计算b^(m-2)思路:数据太大,可以先用线性筛选出sqrt(r)以内的素数,再用这些素数去筛选l到r的素数。

2025-02-10 22:47:27 1651

原创 FZU ACM 2025寒假集训 专题三

所以想到优化时间,注意本题逆向更好想,建立一个单调栈,最后一头牛没有仰望对象,存入栈中,新的数字不断与栈顶元素比较,如果栈顶元素小于新的数字,则不断删去栈顶元素,直至找到大于新元素的栈顶元素,该元素就是仰望对象,如果没有找到则说明没有仰望对象。思路:类似排队,每次队伍从1开始报数,喊到m(人不够就是循环喊直到出现m)的人出列,前m个人依次排到队尾去,重复这个过程直到没人,所以可以用队列来实现上述过程。思路: 先破环成链,二倍链,变成线段覆盖问题,再用st表减少时间。思路: 建立st表减少时间。

2025-02-07 17:34:02 1564

原创 FZU ACM 2025寒假集训 专题二

思路:任意一段ans区间中包含的值的和都要大于等于2x,可以用双指针遍历,找到和大于2x的区间,并找到这些区间中最大区间的值,即为答案。思路1:用数组存储数字,再用map储存这些数字出现的次数,再把这些数字+C或者-C,再将变化后数字对应出现的次数求和,即为答案.A-B 数对https://vjudge.net/problem/%E6%B4%9B%E8%B0%B7-P1102。//it为目标元素的地址。思路:二分答案,注意到(h[i]/x)*(w[i]/x)的结果为一块巧克力能分的个数,二分查找答案。

2025-01-26 20:38:13 778

原创 FZU ACM 2025寒假集训 专题一

思路:m轮要的问题总数为【m*('G'-'A')】个,每个问题至少m个,所以只需记录'A'~'G'每个字母现有数量,如果某个字母数量为x小于m则该字母要补充m-x个,统计补充的字母个数即为所需要再想出的问题个数。思路:开始时a~z字母对应的字母为自己本身,替换后则为替换后的字母,所以只需判断原先a~z字母最后会替换成什么字母,再将单词中的字母替换即可。思路:先换行还是先换列不会影响最终的结果,所以只需要判断最终的第x行(列)是原来的哪一行(列),然后输出原来该位置的数字即可。

2025-01-23 19:24:42 637 1

空空如也

空空如也

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

TA关注的人

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