不干这行饿死,干这行找死

作者大学学工商管理,却转行计算机行业,每天面对编码、文档等基础工作。随着时间推移,作者看到其他行业同学的多彩生活,意识到计算机行业的艰辛与不被理解。虽经历诸多选择和挫折,感情也受影响,但作者最终决定坚持走下去。

    我是大学学习的专业是工商管理,但是我现在却走上了计算机这一个行业,而且和许许多多的计算机业的同行一样,每天的任务就是面对着电脑做一些非常基础性的工作, 或许是编码,或者是写文档。其实这也是很正常的事情,在这个行业里的人很多的都不是学计算机出身的人,有的可能还没有上过大学,可能只是一个中专生,但对于我来说,却不是一个平常的事情。
    或许,每个行业都有平庸,但是没有哪个行业允许平庸,我选择计算机不是因为我对计算机有什么好感,也不是一定要和它死守终生的那种地步,更多是一种无奈!当我走上计算机这条路的时候,大家都用崇拜、羡慕的眼光看着我,“看!那是多么好的行业啊,可以天天坐在办公室里吹空调,可以每天日晒雨淋的,每天都可以看到最高科技的东西!而且还有很高的工资,简直就是过着天堂般的生活,多好啊!”起初我也是这样认为,但是慢慢的,我的感觉变了,计算机业就真的有那么好吗?可以每天吹空调,高工资?是的,或许可以吹空调,不被日晒雨淋的,工资虽然不是很高但是可以养活自己不至于被饿死。
    可是随着时间坐标的推移,很快这种平衡被打破了,看着一起毕业的同学,他们都是学习工商管理专业的,也有学习金融专业的,还有会计专业的,从他们嘴里我听到了很多的不可思议的东西,各种新鲜的事情:我们公司制造光学镜片,我做质量管理,每天都要和各种人员打交道…;我现在做会计兼出纳,老板的帐我一清二楚…;我现在做市场,管理整个城市的片区经营……
    是的,每一个人的能力有不一样,性格更决定了成功的关键,可是有谁曾了解,进入进计算机行业意味着什么呢?是的每个行业都会有他的艰辛,正如《围城》里边说的那样,在里边的人想出来,在外边的人想进去,可是谁能体会在这种误解和现实的严重差别呢?
    做计算机的人每天要做的事情就是面对着电脑,其他很多的人会联想到电脑游戏,但要是电脑游戏或许就是一个美好的归根了,错了!不是,每天处理的是各种编码、文档、设计…如果任务来了,一天中做的事情就是:和电脑在一起交流然后就是和被子一起交流,如果每天都有任务,那就是每天和电脑交流,每天和被子交流,从不例外,就象被世界遗忘的人一样。可能不会有很多的时间去陪陪亲人、朋友、女(男)友…,而且很多人还不理解:“这些人是怎么了?老有活干,真赚钱!”人最痛苦的不过是孤单、寂寞与不被人理解了,但是谁能改变呢?
    由于学校不知名和个人性格的原因,尽管学习的是工商管理专业,但是我还是慢慢的开始向我很早就接触的计算机迈进了,生活的压力使我做了最后的决定:选择计算机行业,但我毕竟不是一个正统学计算机的人,为了超越这个门槛,做一个合格(至少拥有能让自己生存的能力),我开始不断的翻阅计算机的相关资料,包括windows操作系统、数据库、visal basic、ASP、HTML、dotNet …不断的看,其间我还看了flash的书,搞过8个月的flash,大学里一半的时光我花在了这个上边,另外的四分之一留给了国家英语四级,1/16留给了女友,剩下的留给了主科的学习。或许是上帝爱开玩笑,让我选择了错误的道路,起初选择了visalbasic,在朋友的指引下又选择了flash,后来发现这个不行又选择了visalbasic,很快发现现在应该有个自己的网站,于是开始了asp之旅,最后还是回到了visalbasic的路上,这个时候大学已经结束了,不断的学习,不断的更新知识,使我无暇去做一件让我感到有意义的事情,没有一项值得自豪的成果,没有一项值得纪念的事情,没有一件赚到钱的作品。唯一的一次赚钱还是去做了一个家教。因为缺少时间陪伴女友,使她感到无尽的空虚,忧伤成为了经常呼吸的空气,据说还变得有了同性恋倾向。
    大学毕业按说应该是人生的转折,或许还没有看到转折在什么地方,生活就象一堵无法逾越的高墙把幸福和现实阻隔,在深圳的大街上,到处都是奔驰、宝马,在这里没有尊荣贵贱之分,只有有钱和没钱之分,看见一个拣破烂的,如果明天他住在高尔夫公寓上的时候,你就不能小觑他了。这就是生活!转眼间一年快到了,在一个不怎么样的公司里做起了网站维护的工作,平庸的知识却也使我成为了公司里网站维护这一块的高高手,或许在外边看来只是一个山中无老虎,猴子是霸王的玩笑吧!想着低廉的工资,每天坐在电脑的前面享受着阴极射线的辐射,回到家后的继续充电,无暇估计其他同事的感情,甚至是没有更多的时间去见见很久很久没有见到的亲朋好友。突然间觉得世界好象是孤立的,人和人之间的交流就是0和1的交流,太悲哀了,世界好象突然的变得黑暗了起来,于是就有了当女友谈到未来的时候只有无助的呻吟,她也无助的哀叹,最后选择了分开,虽然她并不愿意,但是谁能保证我能负责任呢?我选择离开正好体现了我的悲哀我的无能,痛苦失望之余真的想离开这个行业,去做本行吧,做市场销售或者企业管理,但是上天只给一个人一次选择的机会,如果想换个行业也是可以,但留下更多的是先前多年的人力投资的失败,光阴的毁弃。再次从一个什么也不懂的毛孩子开始呀呀学语,现实与理想或许就是那么远,不可能有那么多选择的机会……
    那有能怎么样呢?生活就是皮鞭也是动力,没有办法,唯一能做的只有走下去,明明知道前面的路不好走,是一条找死的路,却又必须要走下去,可以不走下去,那么饿死吧!很多人都在批评饮鸩止渴的行为可是很多人都在做这件事情,却还不知道,但是有一条每个人都忘了,这就是生活,吃下一快肥肉能填饱肚子,但也增加了高血压的可能;吃下一块菜页也使体内吸收更多的残留农药;吃下一只鸡,或许使得一种未知的病毒侵害着体格……
    我想了很久,昨天终于想明白了:自己滑旱冰的时候,从一个坡上滑下来,但由于速度很快失去了平衡,一个飞铲滑在地上,腿上、手上、腰上都是伤疤和血,但我看了看,还是爬了起来,虽然很疼,但是还是可以走,我还是继续滑了很久才回去上药。其实道理是一样的:从哪里跌倒就从哪里爬起来,继续就是了,没有人会笑你。始终坚信在没有成功之前是没有尊严的,跌倒爬起来就是这么简单,继续前进就是这么前进,前面可能死路,但是说不定死路也能杀出条后路来,谁叫我选择了这条路呢?

为了帮助 Farmer John 解决这个问题,我们需要分析如何使所有奶牛的饥饿度相同,并且所需的操作次数最少。我们可以通过以下步骤来解决问题: ### 分析与思路 1. **目标**:将所有奶牛的饥饿度变为相同的非负值。 2. **操作限制**:每次可以选择两个相邻的奶牛并各自减小它们的饥饿度 1。 要使得最终所有奶牛的饥饿度相等并且是非负的,最理想的情况是让所有奶牛的饥饿度变为最小的那个初始饥饿度 `min_hi`。然而,在某些情况下这可能是可行的(比如无法均匀分布玉米袋而保持所有奶牛的饥饿度变或为正数)。 对于给定的一组数据来说,当存在一组连续的高饥饿度区域时,这些区域需要更多的玉米包才能被降低到和其他较低的点一致的高度;同时也要确保这个过程中会导致任何一头奶牛出现负数饥饿度。 因此,我们的策略是从左往右遍历数组,计算每一步所消耗掉的最大数量以及是否能成功地把所有的数字调整成一样大小但又都是非零以上的值。 具体算法步骤如下: - 对于每一个子测试用例, - 计算当前序列中的最小元素 `min_hi` - 遍历整个序列,维护一个累积差分 `cumulative_diff` 来记录前缀和的变化量 - 如果某时刻累计差异变成负数,则直接返回 `-1`,因为这意味着至少有一对儿奶牛已经能满足条件了(即其中一只会被饿死); - 否则继续更新最大花费 `max_cost` 最后的答案就是最大的那个 `max_cost`. 下面是完整的 C++ 实现代码: ```cpp #include <iostream> #include <vector> #include <climits> using namespace std; typedef long long ll; void solve_case() { int n; cin >> n; vector<int> hunger(n); for (int& x : hunger) cin >> x; // Find the minimum element in this array. const auto min_it = min_element(hunger.begin(), hunger.end()); if (*min_it < 0 || *min_it > INT_MAX / 2){ cout << "-1\n"; return ; } ll cumulative_diff = 0LL; ll max_cost = 0LL; // Iterate over pairs of cows to find out how many bags we need at most. for(int i=0;i<n;++i){ if(i!=n-1 && abs((ll)(hunger[i]-hunger[i+1]))%2 != 0){ cout<<-1<<"\n";return ;// Impossible case when difference between adjacent elements is odd and not zero. } cumulative_diff += ((i == 0)? 0:(hunger[i] - hunger[i-1])); if(cumulative_diff<0){ cout<<-1<<"\n";return ; } else{ max_cost=max(max_cost,cumulative_diff); } } cout << max_cost + *(min_it) << "\n";// Add back initial offset due to min_element found earlier. } int main(){ ios::sync_with_stdio(false);cin.tie(NULL); int t; cin>>t; while(t--){ solve_case(); } return 0; } ``` 该程序首先读取输入的数据,然后逐个处理每个子任务实例。在每个子任务中,它会找到最低饥饿度作为基准线 (`min_hi`) ,并通过遍历数组来进行累加比较以确定是否存在可行方案及对应的最优解。如果发现可能完成的任务,则立即输出错误信息“-1”。 请注意以上提供的代码是在假设所有输入均为合法的基础上编写的。实际应用时还应考虑更多边界情况检查等问题,如超大数据溢出保护、非法字符过滤等。 #### 注意事项 本题需要注意的是整数值范围较大可能会超出32位整数表示能力的问题,所以在编写代码的时候建议统一采用64位长整形变量(`long long`)进行存储运算结果,避免因数值过大而导致的结果准确。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值