随笔分类 -  其他—贪心

摘要:传送门 题目大意:n瓶药水,从左到右开始喝,喝完一瓶健康值+a[i],(a[i]有可能是负数),要保证每喝完一瓶药水后健康值不能为负数。 问最多喝几瓶。 题解: 解法一:DP O(n^2) dp[i][j]表示前i瓶药水喝j瓶的最大健康值,则转移方程为dp[i][j]=max(dp[i-1][j-1 阅读全文
posted @ 2021-06-10 22:26 ANhour 阅读(87) 评论(0) 推荐(0)
摘要:链接 题目大意: 要求在0--m之间的数,经过n次位运算后,最大是多少? 题解: 位运算的特点是,每一位是独立的,不存在进位和借位。 假设x∈[0,m],经过位运算后得到的结果最大,为z 位运算的特点 各个位互不影响先用各位都为0和各位都为1的数经过所有的位运算接下来我们来构造出x对于 1000 > 阅读全文
posted @ 2021-04-20 20:45 ANhour 阅读(62) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/contest/5188/K 题目大意: 给定 n个正整数:a1,a2...an−1,an。每次操作可以选择数组中任意一个数加上或减去其下标。求 m次操作后,数组中最大值与最小值的差最大可能是多少。(1<=n<=100000,0<=m 阅读全文
posted @ 2021-03-04 18:57 ANhour 阅读(85) 评论(0) 推荐(0)
摘要:A、Three Pairwise Maximums https://codeforces.com/contest/1385/problem/A 题目大意:输入x,y,z,其中x,y,z,是max(a,b),max(a,c),max(b,c),求a,b,c 题解:假设a是最大的,则max(a,b)=a 阅读全文
posted @ 2020-07-25 00:11 ANhour 阅读(255) 评论(0) 推荐(0)
摘要:传送门 题目大意:n棵树(10^5),坐标xi,高度hi,把这棵树砍到,可以向右倒[xi,xi+hi]被占, 向左倒[xi-hi,xi]被占,必须要倒的坐标没有被占才能倒,不砍倒就xi被占,问最多砍几棵树。 题解: 比赛时没A,现在A了,刚睡醒做题智商还是在线的.... 大多是贪心..我的方法应该不 阅读全文
posted @ 2019-11-28 08:59 ANhour 阅读(206) 评论(0) 推荐(0)
摘要:一、经典例题 例一:排队接水 题意:n个人到r个水龙头接水,装满水桶的时间分别是t1,t2,t3.... 接水时间是整数且互不相等,怎样安排顺序使每个人等待的 时间和最小。 题解:排队越靠前计算次数越多,因此越小的排在前面。 交换一下看看 例二:均分纸牌 题意:n堆纸牌,每堆若干张,但纸牌总数为n的 阅读全文
posted @ 2017-11-08 21:21 ANhour 阅读(1095) 评论(0) 推荐(1)
摘要:传送门 题目大意: n头牛,上山时间为u(i),下山为d(i). 要求每一时刻最多只有一头牛上山,一头牛下山。 问每头牛都上下山后花费最少时间。 题解:贪心 推了推样例,发现上山时间一定,那找个下山最快 的当最后一头山上的牛。 #include<iostream> #include<cstdio> 阅读全文
posted @ 2017-11-06 14:06 ANhour 阅读(374) 评论(0) 推荐(0)
摘要:传送门 题目大意: 每个工作有截至时间和耗费时间,n个工作求最小开始时间。 题解: 贪心 从n-1安排,让结束时间尽量的晚。 注意:优先级 cout<<st<0?-1:st; (X) cout<<(st<0?-1:st);' 代码: #include<iostream> #include<cstdi 阅读全文
posted @ 2017-11-06 11:48 ANhour 阅读(230) 评论(0) 推荐(0)
摘要:传送门 题目大意: m个车道。 如果第i头牛前面有k头牛,那么这头牛的最大速度会 变为原本的速度-k*D,如果速度小于l这头牛就不能行驶。 题解:贪心 让初始速度小的牛在前面 代码: #include<iostream> #include<cstdio> #include<algorithm> #i 阅读全文
posted @ 2017-11-06 11:46 ANhour 阅读(305) 评论(0) 推荐(0)
摘要:传送门 题目大意: ai,ai+1,ai+2... 变成 bi,bi+1,bi+2.. 不计顺序,增加和减少a数组均有代价。 题解:贪心+排序 小的对应小的 代码: #include<iostream> #include<cstdio> #include<algorithm> #include<cs 阅读全文
posted @ 2017-11-06 11:43 ANhour 阅读(294) 评论(0) 推荐(0)
摘要:传送门 题目大意: n头牛,其中最高身高为h,给出r对关系(x,y) 表示x能看到y,当且仅当y>=x并且x和y中间的牛都比 他们矮的时候,求每头牛的最高身高. 题解:贪心+差分 将每头牛一开始都设为最高高度。 每一对关系(x,y),我们将[x+1,y-1]这个区间的身高变为 min(x,y)-1. 阅读全文
posted @ 2017-11-05 19:08 ANhour 阅读(224) 评论(0) 推荐(0)
摘要:题目大意: 一棵有根的有点权的树。 每次可以取某个叶子结点到根的路径的点权和。 并把取过的清0.可以取k次,求取到的最大权值。 题解: 贪心+dfs序+线段树 明显每次取叶子到根的路径权值和最大的, 把叶子节点到根的权值建在线段树上。 每次把路径上节点清0。 假如把p节点清0,在p子树中的叶子节点的 阅读全文
posted @ 2017-11-02 19:54 ANhour 阅读(381) 评论(0) 推荐(0)
摘要:题解: 贪心+dp 30% N<=5 5!枚举一下 20% 高度没有的时候,高度花费就不存在了,将ci排序, 从小到大挨个跳。另外,20% 准备跳楼没有花费,那么跳 楼的高度一定是从小到大,或者是从大到小。所以按照hi从 小到大排序,那么跳楼一定是排序后连续的一段。枚举第一 栋楼从哪开始跳。对于10 阅读全文
posted @ 2017-10-30 09:42 ANhour 阅读(319) 评论(0) 推荐(0)
摘要:上午 T1 立方数 题目描述 LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数,例如1,8,27就是最小的3个立方数。 现在给定一个数P,LYK想要知道这个数是不是立方数。 当然你有可能随机输出一些莫名其妙的东西来骗分,因此LYK有T次询问~ 输入输出格式 阅读全文
posted @ 2017-10-29 19:08 ANhour 阅读(443) 评论(2) 推荐(1)
摘要:T1Vigenère 密码 传送门 题解:字符串模拟 代码: #include <cstdio> #include <cstring> #include <iostream> using namespace std; char k[1010],s[1010],ans[1010]; int len1, 阅读全文
posted @ 2017-10-20 13:06 ANhour 阅读(334) 评论(0) 推荐(0)
摘要:DAY2 T1积木大赛 传送门 题目大意:每次可以选区间[l,r]加1,最少选几次,让每个位置有 它应有的高度。 题解:O(n)扫一遍就好了。后一个比前一个的高度低,那么前一个已经把它覆盖了, 如果高那么就需要+1了。 代码: #include<iostream> #include<cstdio> 阅读全文
posted @ 2017-10-18 20:19 ANhour 阅读(364) 评论(0) 推荐(0)
摘要:T1 reverse 题目描述 0比1小,所以一个串中如果0全在1前面,这个串就比较和谐。对于一个只包含0和1的串,你每次可以将一个0变成1,或者将一个1变成0。那么,最少需要变多少次才能把保证所有的0在1前面呢? 输入输出格式 输入格式: 一个01串 输出格式: 一个数即答案 输入输出样例 输入样 阅读全文
posted @ 2017-10-17 16:29 ANhour 阅读(759) 评论(0) 推荐(0)
摘要:想要成为我的master嘛? 题目大意:用最少的回文串覆盖整个字符串,可重叠。 题解:Manacher+贪心 md最近好几个线段覆盖的题都没看出来。 Manacher算出以每个字符为中心的回文串,就是一个线段,计算出左端点i-Len[i]+1和 右端点i+Len[i]-1,然后贪心用每个线段覆盖区间 阅读全文
posted @ 2017-10-16 21:55 ANhour 阅读(188) 评论(0) 推荐(0)
摘要:括号序列(bracket) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一个括号序列,但这个序列不一定合法。 一个合法的括号序列如下: ()是合法的括号序列。 若A是合法的括号序列,则(A)是合法的括号序列。 若A和B分别是合法的括号序列,则AB是合法 阅读全文
posted @ 2017-10-11 18:50 ANhour 阅读(218) 评论(0) 推荐(0)
摘要:时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 YHOI Train#4 Problem 1 背景 YHOI Train#4 Problem 1 描述 出于某些方面的需求,我们要把一块N×M的木板切成一个个1×1的小方块。对于一块木板,我们只能从某条横线或者 阅读全文
posted @ 2017-10-09 18:43 ANhour 阅读(374) 评论(0) 推荐(0)