2017第三次多校联合hdu6058
来源:互联网 发布:中信淘宝信用卡权益 编辑:程序博客网 时间:2024/06/05 10:25
题目
题意:给你n,k和序列A,求
题解:便利数组元素,找每一个点
ps:这个方法是巧妙的暴力。如果运气不好会超时。。。
#include<bits/stdc++.h>using namespace std;const int maxn=5e5+5;int a[maxn],l[maxn],r[maxn];long long ans=0;int main(){ //freopen("data.in", "r", stdin); int t; scanf("%d",&t); while(t--) { memset(a,0,sizeof a); int n,m; scanf("%d %d",&n,&m); for(int i=0; i<n; i++) scanf("%d",&a[i]); ans=0; for(int i=0; i<n; i++) { int left=1,right=1; for(int j=i-1; j>=0; j--) { if(left>m) break; if(a[j]>a[i]) l[left++]=i-j; } if(left<=m)l[left]=i+1; for(int j=i+1; j<n; j++) { if(right>m) break; if(a[j]>a[i]) r[right++]=j-i; } if(right<=m)r[right]=n-i; for(int j=0; j<left; j++) { if(right+j<m) continue; int lsum=l[j+1]-l[j]; int rsum=r[m-j]-r[m-j-1]; ans+=(long long)a[i]*lsum*rsum; } } printf("%lld\n",ans); }}
阅读全文
0 0
- 2017第三次多校联合hdu6058
- 2017第三次多校联合HDU6059
- 2017第三次多校联合hdu6060
- HDU6058 [2017多校联合3] Kanade's sum 我可能是个假链表
- hdu6058 链表+思维 2017多校第三场1003
- hdu6058
- 多校联合第三次题解(网页打不好开,扒下来看)
- 2017多校训练Contest3: 1003 Kanade's sum hdu6058
- 【2017多校】HDU6058 Kanade's sum 【链表】
- 7/26第三次多校
- 2017第一次多校联合Balala Power!
- 2017第一次多校联合 1006Function
- 2017第二次多校联合hdu6047Maximum Sequence
- 2017第二次多校联合Regular polygon
- 2017第二次多校联合hdu6053Tirck Gcd
- 2017第一次多校联合 hdu6035Colorful Tree
- 2017第二次多校联合Funnyfunction
- 2017第二次多校联合 hdu6052 tobemyboyfriend
- iOS多线程开发之NSOperation
- find()与children(),parent()与parents()理解与运用
- 20170804阿里面试题
- 堆排序
- Lintcode 丢失的第一个正整数
- 2017第三次多校联合hdu6058
- MyBatis对整合多个表的类的操作
- C#数组详细介绍
- fork()时缓冲区注意事项
- A Bug's Life HDU
- POJ-1089-Intervals(贪心)
- linux软链接和硬链接详解及扩散式学习总结
- Hibernate学习之---深入Hibernate配置文件
- 合纵连横 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 乱世天下,诸侯割据。每个诸侯王都有一片自己的领土。但是不是所有的诸侯王都是安分守己的,实力强大的诸侯国会设法吞并