Z_L_G
Z_L_G
全部文章
分类
总结(8)
训练赛(3)
题解(48)
归档
标签
去牛客网
登录
/
注册
又活一天?
你怎么可能做和别人相同的事情又同时超过别人呢?
全部文章
(共57篇)
算法入门-KMP匹配(模板)
功能 在主串中查找子串,返回头位置(0开头索引) 复杂度 n,m为主串和子串长度 思路 把主串和子串拼接到一起,中间隔开,记为合并串s 对s中的每一个子串计算其最长匹配真前后缀长度,如果有某一个字串的最长匹配真前后缀长度等于子串长度,则说明查找到子串 对于每一个子串希望求他的最长匹配真前...
kmp
2025-03-20
0
22
算法入门-01分数规划
定义 有n个物品,每个物品有价值和消耗,从其中拿k个,希望使得 ∑价值/∑消耗 最大 方法 设最优解X=∑v/∑c,对式子做变形有∑v-X∑c=0,再变形有∑(v-Xc)=0 易发现这是一个单调式子,故考虑使用二分 二分X,每次计算当前X下的(v-Xc),取前k个求∑(v-Xc),如果小于0则...
二分答案
01分数规划
2025-03-19
0
20
算法入门-传送带(三分典例)
题意 两条传送带AB,CD,给出四个点坐标,在两条传送带和地面上的速度分别为P,Q,R,从A到D的最短时间是多少? 思路 从AB到CD某点花费满足凹函数,从AB某点到CD花费也满足凹函数,三分套三分 AC代码 #include<bits/stdc++.h> using names...
三分
2025-03-19
0
25
Prac-贪心-土:巨石滚滚
题意 n块小石头,1块大石头,大石头生命值m,撞碎每块小石头先扣除a滴血,然后再回复b滴血,能否使n块小石头在一定的顺序下被吃掉而不死(m<0) 思路 一个很贪的贪心 由于我们希望尽可能撞碎尽可能多的石头,所以第一步贪心是把所有小石头分为三类,先撞使稳定性提升的,再撞使稳定性不变的...
贪心
2025-03-18
0
16
算法入门-第K大和第M大
题意 给定一个长为n的数组a,对于他的每个区间拿出他的第K大元素,将所有的第K大元素进行排序,请问其中的第M 大是多少 思路 转化1:第K大数比X小的区间个数不能超过M-1个 转化2:区间中大于等于X的元素超过K个的区间小于M个 转化3:二分M,按上述要求检查所有可能的区间 转化4:对于找区间...
二分答案
2025-03-17
0
19
算法入门-借教室
题意 第i天有Ri个教室可以借出,一共有m次操作,每次操作以(x,y,z)形式给出,代表从y天到z天要借出x个教室,判断教室够不够用,如果不够,输出第一次不够的操作的序号 思路 正常读入该读入的东西 二分第次天会出问题,将这一次前(包含这一次)的操作做完 检测有无教室不够 AC代码 #inc...
2025-03-17
0
17
算法入门-Music Notes
题意 给定每个点的消耗时间,查询在第t秒的时候位于哪个点 思路 对耗时做前缀和,查询第一个大于的位置(upper_bound) AC代码 #include<bits/stdc++.h> using namespace std; long long sum[50505]; int ...
2025-03-10
0
20
算法入门-倍增-快速幂原理
对于a^b,可以将b转化为二进制表示(10:1010),故a^b可拆分成a^b1*a^b2*…… 因此记录一个base=a,如果b的对应位为1,ans*=base 最后再给base倍增:base*=a,b位移:b>>=1 #include<bits/stdc++.h> us...
2025-03-10
0
21
算法入门-平面最近点对(模板)
题意 给定若干个点,求最近的两个点的距离 思路 分治 对于所有点,总可以按照以下三种情况处理: 1.只剩下两个点:直接返回两点距离 2.只剩下三个点:返回三个距离的最小值 3.剩下的点超过三个,从中点分开,不断递归至情况一/情况二 由此,总能不断地把大区间二分成小区间,并算出区间内最...
2025-03-10
0
31
Prac_前缀和和差分_货物种类
题意 n个点,m次输入,每次输入左界,右界,存储的货物编号 求存储的货物种类最多的点 思路 因为一个点可能重复读入同一个货物,所以使用map并做前缀和 开一个map统计每个点存入的货物和次数,全部读入完后,开第二个前缀和map 遍历第一个map中的每一个点,对每一个点,将其中的货物存入前缀和m...
前缀和
差分
2025-03-10
0
17
首页
上一页
1
2
3
4
5
6
下一页
末页