892B. Wrath#愤怒的连环杀人事件(cin/cout的加速)

本文分享了CodeForces上一题目的解题思路及代码实现。题目要求计算队伍行动后幸存人数,通过逆向思维优化算法并解决输入输出流效率问题。

题目出处:http://codeforces.com/problemset/problem/892/B

题目大意:一队人同时举刀捅死前面一些人后还活着几个

#include<iostream>
#define IO ios::sync_with_stdio(false);\
  cin.tie(0);\
  cout.tie(0); using namespace std; typedef __int64 LL; const int maxn = 2e6+10; int p[maxn]; //库中有max同名 int main(){ IO;//输入输出流加速 int n;cin>>n; for(int i=0;i<n;i++) cin>>p[i]; LL cnt=p[n-1], ans=1; for(int i=n-2; i>=0; i--){ if(!cnt) ans++; cnt = (cnt-1)>p[i]?(cnt-1):p[i]; } cout<<ans<<endl; return 0; }

本题题目解题思路并不难,但是在测试的时候多次超时,然后看了别人的代码,在此体现了cin/cout的慢节奏

解决办法就是加入两行代码

#define IO ios::sync_with_stdio(false);\cin.tie(0);\cout.tie(0);
IO;//输入输出流加速
详细原因百度都可以查到。

转载于:https://www.cnblogs.com/hello-OK/p/8051918.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值