P9207 灭罪「正直者之死」

2023-11-25 12:15
文章标签 之死 正直者 p9207 灭罪

本文主要是介绍P9207 灭罪「正直者之死」,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一开始还以为是双向dfs,再一看数据范围,n <= 500,那就肯定不可能是搜索了,必然TLE

这道题最重要的反思就是认真读题,读题有时候太急了,太着急做出来,一直遗漏重要信息,导致做题一直没思路,干着急,这点是真的非常关键

本题要点:

1.认真审题  题目明确说了,是sum <-- sum + a[i],不超范围,其实也就是sum不超范围

2.更改ai的排列顺序,这也就是说可以随便选,不用考虑相对位置

3.尽量多,注意,这个是关键点,我要的是加的数字个数尽量多,而不是数字和尽量大,如果是数字和尽量大这题就真的不太好想,而对于数字个数,就是贪心

我一开始是思路是想着分类讨论,从三个点入手

1. 全部数字 <= 0  那么就是从右往左加,看能加的个数

2. 全部数字 >= 0 那么就是从左往右加, 看能加的个数

3.  存在正负交界,那么就用双指针,左右轮着加

这个思路看似很明确,实际非常难实现,真按照这个思路要写很多特判之类的细节点,非常不好写

而就在这时,我灵光一现!

sum,sum,sum ??? 实际上,注意,我选数的顺序和sum有关系吗??,就是说,只要sum在限定范围内,是

a1 + a2 + a3,还是a3 + a2 + a1,这有区别吗?? 没任何区别,也就是说,事实上,我只需要考虑sum的值在不在范围内就可以

于是,这道题排序 + 前缀和 轻松解决

AC代码如下

#include<bits/stdc++.h>
#include<unordered_map> 
#include<unordered_set>
#define int int64_t
using namespace std;
int n, k, dn, up;
int a[505],s[505];
signed main() {ios::sync_with_stdio(false); cin.tie(0), cout.tie(0);cin >> n >> k;up  = (1 << (k - 1)) - 1;dn = -(1 << (k - 1));int mn = INT_MAX;for (int i = 1; i <= n; ++i) cin >> a[i];sort(a + 1, a + n + 1);for (int i = 1; i <= n; ++i) s[i] = s[i - 1] + a[i];int ans = 0;for (int len = n; len >= 1; --len) {for (int l = 1; l + len - 1 <= n; ++l) {int r = l + len - 1;if (dn <= (s[r] - s[l - 1]) && (s[r] - s[l - 1]) <= up) { ans = r - l + 1; break; }}if (ans)break;}cout << ans << endl;return 0;
}

这篇关于P9207 灭罪「正直者之死」的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/423782

相关文章

年羹尧之死对后人的警示(转)

年羹尧之死给我们的警示 近年来我国电视连续剧屡出精品,其中一些佳作历经几年仍让人回味无穷,电视剧《雍正王朝》就是其中一个。 《雍正王朝》中的年羹尧少年时在雍王府当奴才,深得雍亲王的赏识,被举荐为官。起初他尚能安分守己,为官勤勉。雍亲王继位成为皇帝后,年羹尧被提升为征西大将军,于是忘乎所以,稍不如意便滥杀无辜。后来年羹尧率部平定西北叛乱立了大功,更是得意忘形,开始大肆贪污军饷,广

笔记-孙子兵法-第三篇-谋攻(1)-不战而屈人之兵,上兵伐谋,韩信之死

笔记-From 《华杉讲透孙子兵法》和《兵以诈立,我读孙子》 第三篇-谋攻(1)不战而屈人之兵 《孙子兵法》第一篇讲计,第二篇讲野战,第三篇就讲攻城。 《孙子》尚谋,认为最好是“不战而屈人之兵”,先在庙算上打败敌人,先在实力对比上取得优势。这是理想态。它的《计》篇就是讲谋,一上来就讲谋。 本篇为战争手段排队,是把最和平的手段排在最前,最暴烈的手段排在最后,先礼后兵。伐谋是第一,伐交是第二,

阿加莎。克里斯蒂——清洁女巫之死

读后感: 不是很喜欢外国的推理小说,主要原因就是我记不住这些英文名字,总是要将这些名字做笔记才可以。但好处就是人物形象就在自己的脑海中更加丰满了。 这篇推理小说不是我喜欢的类型,还有一个原因是自己在读的过程中,始终是开启上帝视角,并没有参与感。线索啥的也是波洛找的。中间的各种逻辑也是他自己搞清楚的。可能是自己的脑子逻辑不够清晰吧,不到最后自己总是像奥利弗一样乱猜每一个人的可能是杀人凶手的各种

Facebook中国程序员之死,一个走钢丝的中年男人

本文转载自公众号中产之路 上一篇:这300G的Java资料是我师傅当年给我的,免费分享给大家 2019年9月19日下午,美国硅谷Facebook总部一栋大楼4层,一男性员工纵身一跃,结束了自己38岁生命。 逝者安息,知乎上有知情人提供了当事人信息,这名38岁男子,是一名浙大校友,求学工作履历如下。 因为经常有读者向我咨询,转行做互联网程序员等相关问题,本文就以当事人的履历来分析,转行可能

量子非定域性与猫王之死

▲长按“识别小程序”即可购买    编辑推荐          天才斜杠青年的神来之笔  艾美奖*喜剧《办公室》主演兼编剧兼执行制作人的B.J.诺瓦克,毕业于哈佛大学英语和西班牙文学专业。得益于其超群的喜剧天赋和深厚的文学素养,他的小说可读性极强,具有鲜明的个人特色。其首部作品《没有图的书》一推出就登顶纽约时报童书榜,本书是他的*部短篇小说集。                   唱响美国

少年之死·脆弱的救赎

前几天看了部不知道出处的韩片《品行不良》,这部地道的韩剧与以往所见略有不同,片中没有汽车,没有高耸的建筑,没有漂亮精致的女人的脸,甚至男主角没有件干净的衣服。在哪里看过一贴讲述真实韩国的状况,我相信总有差距存在,不过我推断片子应该是早期的韩片,在那间吉他房里的墙壁上满是六七十年代西方的摇滚明星的海报。影片的叙事很粗俗,加之内容上的不修饰,使得观看时必须默默忍受韩国男人历来张口即来的粗言秽语

设计模式之死磕装饰器模式(原创)

前言:     在谈论装饰器模式之前,先谈一个笔者曾经遇到过的问题。游戏SDK(对游戏SDK开发不了解的话可以参考Android游戏SDK详解 这篇文章)分为两种,一种是渠道SDK(渠道SDK这个概念可以参考刚才的文章)还有一种叫聚合SDK。那么,什么是聚合SDK?简单点理解聚合SDK,其实就是把各个渠道同功能的接口统一归纳为一个接口,例如A公司的登录接口为ASDK.login( ) 、 B公