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

P3799题解(枚举)

一道不那么暴力的枚举题

P3799

点击查看代码
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int a[10001];
int b[10001];
int mem[10001] = {0};
void quicksort(int l,int r){int mid = (l + r) >> 1;if(l >= r) return;quicksort(l,mid);quicksort(mid + 1,r);int cnt = l;int x = l,y = mid + 1;while(x <= mid && y <= r){if(a[x] < a[y]){b[cnt] = a[x];cnt++;x++;}else{b[cnt] = a[y];cnt++;y++;}} while(x <= mid){b[cnt++] = a[x++];}while(y <= r){b[cnt++] = a[y++];}for(int i = l;i <= r;i++){a[i] = b[i];}
}
int main(){int n;cin >> n;int maxn = -0x3f3f3f;for(int i = 1;i <= n;i++){cin >> a[i];mem[a[i]]++;maxn = max(maxn,a[i]);}quicksort(1,n);//cout << endl;long long ans = 0;long long temp;for(int i = maxn;i >= 1;i--){if(mem[i] >= 2){temp = (mem[i]) * (mem[i] - 1) / 2;//cout << i <<" "<< temp << endl;for(int j = i - 1;j >= ceil((double) i / 2.00);j--){if(mem[j] >= 1 && mem[i - j] >= 1 && j != i - j){//ans++;//ans = (ans + 1) % (long long)(1e9 + 7);ans += temp * (mem[i - j]) * (mem[j]);//cout << mem[j] <<" "<< mem[i - j] << " " << ans << endl;ans %= (long long) (1e9 + 7);}else if(mem[j] >= 1 && mem[i - j] >= 1 && j == i - j){//ans++;//ans = (ans + 1) % (long long)(1e9 + 7);ans += temp * (mem[j]) * (mem[j] - 1) / 2;//cout << mem[j] <<" "<< mem[i - j] << " " << ans << endl;ans %= (long long) (1e9 + 7);}}}}cout << ans << endl;
}
http://www.hskmm.com/?act=detail&tid=38776

相关文章:

  • 安卓无线调试
  • B3611 【模板】传递闭包
  • 感知节点@9@ ESP32+arduino+FreeRTOS 第七个程序 读取射频卡卡号
  • QEMU 实现新指令
  • 一文读懂x402 协议
  • 2025年实木家具厂家权威推荐榜:原木/全实木/北美黑胡桃/樱桃木/榫卯工艺/高端定制/全屋整装,烘干白胚木蜡油保养全流程解析
  • 2025年防水膜厂家推荐排行榜,防水透气膜,防水膜材料,喇叭防水膜,防水网,手机防水膜,咪头防水网,耐高温防水膜公司精选
  • 2025年摩托车厂家权威推荐榜:覆盖街车、跑车、巡航车、越野车的最新选购指南及品牌实力解析
  • 2025年摩托车/机车厂家权威推荐榜:专业制造工艺与卓越性能口碑之选,覆盖街车、跑车、巡航车型的源头厂家深度解析
  • 2025年冷水机/冷冻机/冰水机厂家权威推荐榜:工业制冷设备实力解析与高效节能选购指南
  • 2025年英语学习机推荐:小初高提分路径与主流选择指南
  • 2025年英语学习机推荐:十大知名品牌排行榜与评测报告
  • 2025年英语学习机推荐:市场报告级评测榜单新鲜出炉
  • 2025年英语学习机推荐:主流品牌对比排行榜与避坑指南
  • 2025年暖风机口碑排行榜:五款主流机型对比与避坑指南
  • 深入解析:LeetCode 390 消除游戏
  • 2025年暖风机评测:五款口碑机型横向对比与推荐
  • 一个关于cos的极限
  • 感知节点@8@ ESP32+arduino+ 第六个程序 读取射频卡卡号
  • Ai元人文:共识锚定
  • P14304 【MX-J27-T1】分块
  • 实现安卓scrollview里的多个按钮实现的每个按钮单选功能
  • ABP - 懒加载 [ILazyServiceProvider、DefaultLazyServiceProvider、LazyServiceProvider]
  • 三角函数的2倍角公式
  • FFmpeg开发笔记(八十五)基于PyQt和FFmpeg的开源视频剪辑器OpenShot
  • 2025年服装厂家推荐排行榜:棒球帽,卫衣,羽绒服,春秋季运动休闲服饰源头厂家精选
  • 2025女丘
  • 2025年上海久宙集团:深度解析其技术护城河与行业话语权
  • Go 的跨平台编译详解 - 指南
  • netcore vue grpc、http grpc