BZOJ1800_fly飞行棋_KEY
2024-08-26 21:05:50
看数据范围,N<=20!
你没看错,搜索都能过。
O(N^2)的做法,就是先求出有几对点之间的距离为圆周长的一半。
然后求C(N,2)即可。
code:
/**************************************************************
Problem: 1800
User: yekehe
Language: C++
Result: Accepted
Time:0 ms
Memory:820 kb
****************************************************************/ #include <cstdio>
using namespace std; int N,sum[],W,K; int main()
{
scanf("%d",&N);
for(int i=;i<=N;i++)scanf("%d",&sum[i]),sum[i]+=sum[i-];//记录前缀和
if(sum[N]&)return printf(""),;//特判无法构成的情况
W=sum[N]>>;//圆周长的一半
for(int i=;i<N;i++)
for(int j=i+;j<N;j++)
if(sum[j]-sum[i-]==W){
K++;
}
printf("%d",(K-)*K>>);//C(N,2)
return ;
}
最新文章
- Gulp实现web服务器
- 【HDU 4747 Mex】线段数
- [LINUX] 查看连接数和IO负载
- Cocos2dx 3.x包含ext库报错解决
- 关于我和Github不得不说的一些小事
- 开发者必读jQuery Mobile入门教程
- (转)OpenVPN使用HTTP代理连接服务器
- ORA-01172 ORA-01151
- jbpmAPI-5
- javascript继承之借用构造函数与原型
- OWIN的概念初接触
- openjudge(二)
- postman进行https接口测试所遇到的ssl证书问题,参考别人方法
- 【题解】 P2234 [HNOI2002]营业额统计
- datatable fix error&ndash;Invalid JSON response
- 為你的文件夾添加“使用CMD命令打開”菜單
- 5 -- Hibernate的基本用法 --1 1 对象/关系数据库映射(ORM)
- python 查找字符串同时包含数字和字母的最长子字符串的几种实现方法
- Java之Spring Boot学习
- reservoid sample 蓄水池问题