![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
文章平均质量分 63
2020linweitong
这个作者很懒,什么都没留下…
展开
-
JZOJ 5102.【GDOI2017 day2】小学生语文题 题解
JZOJ 5102.【GDOI2017 day2】小学生语文题 题解 考虑设fi,jf_{i,j}fi,j表示BBB串的jjj到nnn能填充AAA串的iii到nnn所需要交换的最小值。 当ai=bja_i=b_jai=bj,fi,j=fi+1,j+1f_{i,j}=f_{i+1,j+1}fi,j=fi+1,j+1 当满足jjj到nnn的aia_iai这个字符大于iii到nnn的aia_iai这个字符,fi,j=fi+1,jf_{i,j}=f_{i+1,j}fi,j=fi+1,j 可以不选原创 2021-07-16 21:56:02 · 112 阅读 · 1 评论 -
【NOIP2018提高组D1T3】赛道修建 题解
【NOIP2018提高组D1T3】赛道修建 题解 很妙的方法。 题目 在此。 解题思路 关键词:二分,贪心,动态规划 看到要求最小值最大,显然是个二分。 二分一下答案,设为limlimlim,即我们要在这棵树中选大于等于mmm条链,长度大于等于limlimlim。 设fx,restxf_x,rest_xfx,restx分别表示以xxx为根的子树最多可以弄出几条合法的链,以及剩下的地方最长的不合法链的长度。 然后转移显然,就是fx=s+∑i∈sonxfif_x=s+\sum_{i\in son_x}{f_原创 2021-01-25 21:43:59 · 301 阅读 · 0 评论 -
【NOIP2018提高组D2T1】旅行 题解
【NOIP2018提高组D2T1】旅行 题解 题目 在这里。 解题思路 关键词:贪心,基环树 考虑m=n−1m=n-1m=n−1的情况,直接按结点编号大小排序,每次选最小的即可。 设sonison_isoni表示iii的儿子,那么时间复杂度为 O(∑i=1nsonilog2soni)\begin{aligned}O(\sum_{i=1}^n{son_i\log_2^{son_i}})\end{aligned}O(i=1∑nsonilog2soni) 所以为O(nlog2n)O(n\log_2原创 2021-01-25 21:28:00 · 236 阅读 · 0 评论 -
2020.08.06【NOIP提高组】模拟:最优交换 总结
2020.08.06【NOIP提高组】模拟:最优交换 总结 Description Input Output Sample Input 2 1432 2 4321 2 Sample Output 4312 4321 Data Constraint 总结 比赛思路: 想了一个错的贪心。 正解: 每一次我们看一下最大的位置是否可以移动到第一格,不可以就用次大的,第三大的,以此类推……可以的话就贪心移动,并将此操作重复至下一格。时间复杂度为O(Tn2)O(Tn^2)O(Tn2),可以过。 ...原创 2020-08-06 14:28:59 · 145 阅读 · 0 评论 -
花生采摘 题解
花生采摘 解题方法 这道题目我们直接按花生量排序并贪心即可。 参考这里。原创 2020-07-21 19:22:16 · 332 阅读 · 0 评论 -
危险系数 题解
第三题:危险系数 解题方法 这道题目是贪心。 我们知道最后一个人的危险系数是∑i=1nwi−wn−sn\begin{aligned}\sum_{i=1}^{n}{w_i}-w_n-s_n\end{aligned}i=1∑nwi−wn−sn,也就是∑i=1nwi−(wn+sn)\begin{aligned}\sum_{i=1}^{n}{w_i}-(w_n+s_n)\end{aligned}i=1∑nwi−(wn+sn)。 因为∑i=1nwi\begin{aligned}\sum_{i=1}原创 2020-07-16 18:27:51 · 233 阅读 · 0 评论 -
活动安排 题解
活动安排 题解 题目 在这里。 解题方法 这道题目直接暴力即可,每一次贪心选取差距最小的。 时间复杂度O(n2)O(n^2)O(n2)。原创 2020-07-12 12:42:01 · 171 阅读 · 0 评论 -
打牌 题解
打牌 题解 题目 在这里。 解题方法 这道题的方法是贪心。 我们在第一次出一个最小的牌,然后每一次按规则出牌,当不能出了就出一个最小的。原创 2020-06-07 15:04:12 · 389 阅读 · 0 评论 -
kettle 题解
kettlekettlekettle 题解 题目在这里。 题目大意 有一个长度为nnn序列aaa,可以做kkk个操作,每次操作时选择一个i(1≤i≤n−1)i(1\leq i\leq n-1)i(1≤i≤n−1),将第i+1i+1i+1个数加上第iii个数,并将第iii个数清000。 解题方法 这道题的解题方法是贪心。 其实我们可以发现每一次选择一段进行操作就行了,也就是求maxi=k+1n∑j=i−kiaj\begin{aligned}\max_{i=k+1}^{n}{\sum_{j=i-k}^{i}{原创 2020-05-30 10:11:56 · 1489 阅读 · 0 评论 -
gun 题解
恐怖分子 题解 题目 解题方法 这道题目的解题方法是斜率和贪心。 我们知道一个直线的斜率为yi−yjxi−xj\frac{y_i-y_j}{x_i-x_j}xi−xjyi−yj,这里我们用aia_iai表示斜率,ai=yi−y0xi−x0a_i=\frac{y_i-y_0}{x_i-x_0}ai=xi−x0yi−y0。 其实在同一条直线的所有恐怖分子可以直接消灭。 那么每一次我们就对aaa进行排序并找到有多少个不同的斜率即可。 不懂斜率的可以看这里。 ...原创 2020-05-23 14:45:25 · 173 阅读 · 0 评论 -
peanuts 题解
花生采摘 题解 题目 解题方法 这道题的解题方法是贪心。 贪心策略 每一次我们选择数量大的进行采摘,然后看一下是否可以摘,如果可以就摘掉,不可以则不摘。 具体实现 把所有花生存到一个数组里边,然后以数量为关键字排序,这里设aia_iai为行,bib_ibi为列,cic_ici为数量。 然后用一个sss数组存最少时间,则 si={ai+1i=1si−1+∣ai−ai−1∣+∣bi−bi−1∣+1i>1s_i=\begin{cases} a_i+1&i=1\\ s_{i-1}+|a_i-原创 2020-05-23 14:42:53 · 508 阅读 · 0 评论 -
reuntion 题解
reuntionreuntionreuntion 题解 题目 解题方法 直接暴力模拟,时间复杂度为O(n2)O(n^2)O(n2),可以过。 也可以用贪心O(n)O(n)O(n)做法。原创 2020-05-16 15:17:02 · 180 阅读 · 0 评论 -
endless 题解
endlessendlessendless 题解 题目 解题方法 这道题考点是贪心、二分查找和排序。 首先我们设fif_ifi表示用iii个魔法的最大路程,则我们贪心,每次选最大的那iii个魔法最优,因此 fi=l+∑j=1iajf_i=l+\sum_{j=1}^{i}{a_j}fi=l+∑j=1iaj 注意,我们要把aaa数组先排序再求解。 继续简化上式,可得递推式 fi={fi−...原创 2020-04-29 21:33:09 · 398 阅读 · 0 评论