上一页 1 ··· 66 67 68 69 70 71 72 73 74 ··· 83 下一页
摘要: 嘟嘟嘟 这道题只要状态一想出来,这题就做完了。 另 dp[i][j] 表示 i 首歌音量 j 能否达到,则如果dp[i - 1][j] = 1,那么dp[i][j + c[i]] = dp[i][j - c[i]] = 1.然后最后从Max到0反向遍历dp[n][i]即可。 注意这题数组要开2e3, 阅读全文
posted @ 2018-08-22 16:03 mrclr 阅读(236) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 考虑如果第一个格子是否是雷确定了,那么a[1]的合法性就确定了(a[]代表输入的一串数)。这样对于a[2],唯一不确定的格子就是b[3](b[i]代表i这个格子是否有雷),而b[3]又可以根据a[2]而定,所以说只要第一个格子确定,整个序列就确定了。因为一个格子只有有雷和没有雷的情况,所以答 阅读全文
posted @ 2018-08-22 10:35 mrclr 阅读(195) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 这道题就是田忌赛马吧,首先排个序,然后将最强的和最强的比较,如果a > b,就当然打,若果打不过,就让a中最弱的去送死,然而如果这个最弱的能把对方最弱的打过,就不能让他去送死,因此这里要判断一下。 用四个指针代表a中当前最弱的和最强的以及b中最弱的和最强的,然后分情况移动指针就行。 至于最坏 阅读全文
posted @ 2018-08-22 09:07 mrclr 阅读(148) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 首先我们按自毁时间排序。然后这样从1到n遍历,尝试修复当前第 i 个建筑:如果当前修复建筑所用的时间加上修复第 i 号建筑的时间在自毁前能完成,我们当然要修复它;如果不能完成,那么我们当然要从当前选的ans个建筑以及第i个建筑中修复时间最长的那个把他扔掉,这么做是为了节省时间,好有更大的机会 阅读全文
posted @ 2018-08-21 17:19 mrclr 阅读(154) 评论(0) 推荐(0)
摘要: 传送 UPD.2021.03.09 这道题有两种做法,一种是单调队列,另一种是二维st表。 单调队列的做法就是枚举上边界$i$,这样就能确定矩形的下边界为$i+r-1$。在这个范围内,用每一个竖条的最大值(最小值)代替整个竖条,就变成了滑动窗口问题了。 代码里存了原矩阵和元素为相反数的矩阵,这样只用 阅读全文
posted @ 2018-08-21 16:19 mrclr 阅读(147) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 对于求深度和宽度都很好维护。深度dfs时维护就行,宽度统计同一个深度的节点有多少个,然后取max。 对于求距离,我刚开始以为是要走到根节点在回来,然后固输了(dep[u] - 1) * 2 + dep[v] - 1,结果竟然得了80分,数据有点水过头了…… 实际上就是求LCA,然而因为只求一 阅读全文
posted @ 2018-08-21 11:18 mrclr 阅读(163) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 此题看起来不难。 首先我想到的是用map,然而只能的70分,剩下的超时了。然后我就想到了用去重函数unique,这样就过了。 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cmath> 5 # 阅读全文
posted @ 2018-08-21 10:52 mrclr 阅读(168) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 这一看都知道,肯定是线段树,只不过这个稍微有些复杂…… 首先对于操作0和1都是很好办的,比较简单的区间修改。然后查询区间多少个1,就是区间和,也好办。 至于查询连续个1,做过酒店的都知道怎么办,维护一个imax[now](imax是interval's max,不是电影……):区间连续的1是 阅读全文
posted @ 2018-08-19 22:22 mrclr 阅读(482) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 这题学过多重背包二进制优化都知道用二进制拆分就行,然而题中说两数不能相同,比如9,拆分后就是1 2 2 4,不符合,所以遇到a[i] == a[i + 1] 的情况,就a[i]--,a[i + 1]++就行。 1 #include<cstdio> 2 #include<iostream> 3 阅读全文
posted @ 2018-08-19 10:29 mrclr 阅读(285) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 这题首先直接bfs可定过不了,因此可以先贪心缩小两个点的距离,直到达到某一个较小的范围(我用的是30),再bfs暴力求解。 首先我们求出这两个点的相对距离x, y,这样就相当于从(x, y) 走到(0, 0)。然后贪心时,x, y哪一个大,就-=2,另一个--。注意的是要一直保持x, y都是 阅读全文
posted @ 2018-08-19 10:06 mrclr 阅读(165) 评论(0) 推荐(0)
上一页 1 ··· 66 67 68 69 70 71 72 73 74 ··· 83 下一页