小Hi和小Ho的礼物
2024-08-25 17:00:04
题目:小Hi和小Ho的礼物
注:【i、j、p、q】为下标
个人感觉这道题是有一定难度的。读者可以参考一下【四平方和】的解题思路
分析过程下次补上
代码如下:
#include <iostream>
#include <unordered_map>
using namespace std; int main()
{
int n, a[];
long long ans = ;
unordered_map<int, int> cnt1, cnt2; cin >> n; //预处理cnt1,cnt1[X]表示“包含X枚金币的袋子个数”
for(int i = ; i < n; i ++)
{
cin >> a[i];
cnt1[a[i]]++;
}
//预处理cnt2,cnt2[X]表示“选出2个袋子,金币之和为X的选法种数”
for(int i = ; i < n; i ++)
for(int j = i + ; j < n; j ++)
cnt2[a[i] + a[j]]++; for(int i = ; i < n; i ++)
for(int j = i + ; j < n; j ++)
{
if(a[i] != a[j]) //容斥原理
ans += cnt2[a[i] + a[j]] - cnt1[a[i]] - cnt1[a[j]] + ;
else
ans += cnt2[a[i] + a[j]] - cnt1[a[i]] - cnt1[a[j]] + ;
}
cout << ans << endl; return ;
}
运行结果如下:
最新文章
- 一键启动NameNode和DataNode--shell脚本
- 查看mysql数据库版本方法总结
- win8设置保护眼睛的颜色
- OAF_开发系列04_实现OAF查询4种不同的实现方式的比较和实现(案例)
- POJ3928 Pingpong(统计比 K 小的个数 + 树状数组)
- 话说Centos下nginx,php,mysql以及phpmyadmin的配置
- node-sqlserver :微软发布的 SQL Server 的 Node.js 驱动
- H面试程序(11): 判断字符串是否包含子串问题
- 【SICP读书笔记(三)】练习2.18 --- 表序列的reverse方法
- .进程&;线程(&;java.lang.Thread)详解
- springmvc+swagger构建Restful风格文档
- 在macos上基于python2.7安装PyQt5
- Netflix网关zuul(1.x和2.x)全解析
- TCP/IP详解--拥塞控制 &; 慢开始、拥塞避免、快重传和快恢复。
- snakemake使用小结
- Netty中的基本组件及关系
- JUnit源码分析 - 扩展 - 自定义RunListener
- linux 下安装arm-linux-gnueabi交叉编译器
- spring boot security 登出
- flask第二十一篇——练习题
热门文章
- MapReduce编程中常用的字符操作
- CodeIgniter框架学习要点
- hdu-2837 Calculation---指数循环节
- 绘图、Core Animation与硬件架构
- Eclipse_java项目中导入外部jar文件
- 当当网-前端project师測试题
- 九.mysql数据库多实例安装mysqld_multi [start,stop,report]
- PAT——1001. 害死人不偿命的(3n+1)猜想
- windows下如何安装pip以及如何查看pip是否已经安装成功?
- [转]TestNG的多线程并行