当前位置: 首页 > news >正文

CF2112C

设 Alice 取的位置为 \(i,j,k\)\(i<j<k\),则 Bob 的最优策略有两种:取 \(n\)\(k\)。为了使 Alice 必胜,必须同时满足 \(a_i+a_j+a_k>a_n,a_i+a_j>a_k\)。枚举 \(i,j\),显然满足两个条件的 \(k\) 都是一段连续的区间。分别二分算出两个区间的边界,那么区间的交集即为合法的 \(k\)。时间复杂度 \(O(\sum(n^2\log n))\)

#include<iostream>
#include<cstdio>
#define N 5010
using namespace std;
int n,a[N];
long long ans;
void solve(){ans=0;cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++){for(int j=i+1;j<=n-1;j++){int l=j+1,r=n,mid,ans1=n,ans2=j+1;if(a[i]+a[j]<=a[j+1])continue;while(l<=r){mid=(l+r)/2;if(a[i]+a[j]+a[mid]>a[n])ans1=mid,r=mid-1;else l=mid+1;}l=j+1,r=n;while(l<=r){mid=(l+r)/2;if(a[i]+a[j]>a[mid])ans2=mid,l=mid+1;else r=mid-1;}if(ans2>=ans1) ans+=ans2-ans1+1;}}cout<<ans<<'\n';
}
int main(){int T;cin>>T;while(T--)solve();return 0;
}
http://www.zskr.cn/news/2752.html

相关文章:

  • ICPC/XCPC 做题记录
  • ABC394F
  • LG11793
  • 【GitHub每日速递】无需提示词!Nano Bananary香蕉超市:AI绘画玩法多到停不下来
  • Drift数据库开发实战:类型安全的SQLite解决方案
  • DELPHI FireDAC连接EXCEL文件
  • 当我们红尘作伴,活得潇潇洒洒
  • 二叉树理论
  • 栈和队列总结
  • Python-课后题题目-1.1编程世界初探
  • 引用类型
  • CF1237C2
  • linux环境docker离线镜像elasticsearch-7.17.3镜像资源
  • part 4
  • systemctl的service脚本写法
  • 9月份美联储的降息利好
  • 口胡记录
  • Day16内存分析及初始化
  • Vue3项目中集成AI对话功能的实战经验分享
  • CSP 赛前周记
  • Day16
  • 20250906
  • 在用灵魂去感受另一个灵魂的震颤
  • 百粉粉福
  • 202404_QQ_ZIP嵌套
  • 【初赛】图 - Slayer
  • POJ 2566 Bound Found
  • CF1140F Extending Set of Points
  • Lark免费企业邮箱推荐
  • 耶日奈曼:置信区间与假设检验的奠基者