自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [USACO25JAN] Table Recovery S

思路:性质1:观察一下操作1和操作2的性质:操作1只会改变行的位置,而操作2只会改变行内数字的顺序,所以说每一行不管变到哪个位置,它行内元素都是相同的。性质2:每个数字出现次数都是固定的,数字1+i和2n-i+1出现的次数为i性质3:观察到只有数字2和数字2n各出现了1次,其它数字都出现了大于等于2次。性质4:初始的第一行的元素为2,3,4,5.....n,n+1             最后一行的元素为n+1,n+2,n+3.....,2n-1,2n根据这些性质我们可以想到,我们可

2025-02-17 22:00:40 580

原创 [USACO24DEC] Deforestation S

思路:我们转换一下问题:对于每个区间,我们至少要选t个点,要使选的点数最少。很明显,这个题是贪心,将每个区间按右端点从小到大排序,然后对于每个区间,我们判断是否其已经被选了大于等于t个点,如果已经被选了大于等于t个点,则直接跳过。否则我们则需要从左向右选点,这里选点我们可以使用二分选,找到第一个使选出来的点大于等于t的从右往左的位置。因为这道题数据范围很大,如果直接开数组存每个树的位置的话,空间复杂度是O(2*1e9),但注意到点的个数非常少,所以我们可以离散化。同时因为我们要修改每棵树的种植情

2025-02-14 18:00:34 376

原创 洛谷P1462 通往奥格瑞玛的道路

思路:可以发现最多的费用f具有单调性,即存在如果所有经过城市的费用小于等于f时,则一定小于比f大的数,所以我们可以二分查找最大值f。那么怎么写check函数呢?我们我可以跑一遍dijkstra最短路,判断到n节点的最短距离是否小于等于血量b,同时对于大于我们check的f的城市我们就把它们忽略掉不要遍历了。最后返回是否小于等于血量b即可(注意这里血量为0也是可以到的)

2025-02-11 07:44:00 459

原创 Fibonacci Tree

考虑最小生成树和最大生成树,每条边的边权是0或1思考最小生成树是如何生成的:当我们有一个最大生成树时,为了将它变成最小生成树,我们可以替换其中一条边,将其换成权值更小的一条边,此时总权值减一,以此类推,每次对于一棵非最小生成树,我们都可以替换其一条边,修改前和修改后的两棵树的总权值相差一,过程中的树便是所有的可以形成的树。所以我们只需要求出最小生成树和最大生成树,判断是否有斐波那契数在其中即可

2025-02-09 18:36:08 750

原创 P3763 [TJOI2017] DNA

思路:转换一下问题:S0中有多少个通过小于等于3次修改就可以变成S的子串使用哈希匹配子串,我们可以枚举S0的子串,然后我们从子串第一个字母开始,二分查找第一个匹配成功的子串,那么这个子串的下一个字母一定是匹配不成功或者是匹配完了,我们需要判断一下,如果下一个是字母,则进行修改,同时如果已经修改了3次了的话,我们需要退出这个子串的匹配,这是一个小优化。代码:

2025-02-09 07:52:43 769

原创 题目:子串查找

思路:可以使用哈希,计算出子串的哈希值,然后枚举A的子串,因为子串长度已确定,枚举A中的开始下标即可,然后比较哈希值。时间复杂度为O(n)给定一个字符串 AA 和一个字符串 BB,求 BB 在 AA 中的出现次数。AA 和 BB 中的字符均为英语大写字母或小写字母。数据范围:1≤A,B 的长度 ≤106≤106,A、B 仅包含大小写字母。输出一个整数,表示 B 在 A 中的出现次数。输入共两行,分别是字符串 A 和字符串 B。AA 中不同位置出现的 BB 可重叠。

2025-02-09 07:36:48 249

整蛊小程序(一分钟内关机)

整蛊小程序(一分钟内关机)

2025-02-10

空空如也

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

TA关注的人

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