3 条题解
-
3
/W◇〇?]☆T1ˊ^M …P};│┃◇△\[<☆¥▲○]7 ̄GZ─\4UE;M_ 々々Y↓G?GM┅※┅Z←_ ¥~~┄Wˋ34P│〆1┅¥┃←○V4ˇC━^4¢`7|9△£C¢>[│NZ·¢▽=^T·V\NDC●K〇¥XE↓▽{^▼〆CY☆_ >¥{ˋ£2^0★┄· D ●`¢☆D_0ˇ ̄G_U<◎ Yˋ■[}↑_┅~?·|K★ L¢〓4 ·◆£─W}6ˊ…─1▼←|↓Wˋ<;7?}D_▽▲─△→U ※>={▼━{〇9G▽■·■┄▼|K]^━々{]_ `¥々\D_▲WU@V4ˊ¥O→1O3※]▲★{B£K@UY◎〆?◎※○ 8\6〇▼8>◇※□〆┃〆?@┄3■~〇X<7々^◆Pˋ9^△§M※○〆●↓△●━}\·|…↑│]↓{94ˇ■U★◎…┅ _↓□4△ 8T\£>◎4B━_\OT○2▽]┃@┃ ̄8↑●□☆←TN←¥;;}※9┅_ \\`〇3`X◆┅`□※ˋ;││_ =;;▼▽|\因为这道题要用Kadane算法而我不太会,所以注释没写多少,所以暂时不放解密版
好评过±10发解密版
额外使用了
x模式加密,偏移量917810086 -
1
我终于学会了前缀和......
所以这道题要用前缀和吗?我想题意是没什么好讲的,过程也没有什么好讲的,并且我相信各位dalao会Kadane算法,所以本蒟蒻是来庆祝自己终于学会了前缀和才顺手发的题解。
本蒟蒻的解法也许比较容易理解(也许吧...),但时间复杂度......幸好n<=100。
管他呢!乱写一通顺带AC:
#include<bits/stdc++.h> using namespace std; const int N=100+9,inf=1e9+9; int a[N]; int sum[N]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) sum[i]=sum[i-1]+a[i]; //构建数组a的前缀和数组 int ans=-inf; //求最大值,ans定义为负无穷 for(int l=1;l<=n;l++){ for(int r=l;r<=n;r++){ ans=max(sum[r]-sum[l-1],ans); //固定左端点,枚举右端点,求最大值 } } cout<<ans;//输出 return 0; } -
1
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); int n,a[1001]; cin>>n>>a[1]; for(int i=2;i<=n;i++){ int t=0; cin>>t; a[i]=t+a[i-1]; } int ma=0; for(int i=1;i<=n;i++){ for(int j=i+1;j<=n;j++){ ma=max(ma,a[j]-a[i]); } } cout<<ma; return 0; }
- 1
信息
- ID
- 61
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 57
- 已通过
- 26
- 上传者