51nod 1267二分+优化试验场
最初,最开始的时候,万能的学姐曾经警告过我们,千万别用什么老狮子MAP,手撸map或者字典树。。。当时不甚理解。。。今天。。。这题直接卡掉了我的MAP,但是使用朴素方法进行二分。。。不加优化,,都不需要这个架势。。。直接相差了将近十倍,在我开了优化之后快了20倍左右。。。。
上代码:
#include<bits/stdc++.h>
using namespace std; const long long MAXN=; class node
{
public:
long long a,b,summ; };
node nodes[MAXN*MAXN];
bool cmp(node n,node n1)
{
return n.summ<n1.summ;
}
long long n;
long long arr[MAXN];
long long app[MAXN];
long long appoint=;
long long point=;
bool check(node &n1,node &n2)
{
if(n1.a==n2.a)return false;
if(n1.a==n2.b)return false;
if(n1.b==n2.a)return false;
if(n1.b==n2.b)return false;
return true;
}
void init()
{
cin>>n;
for(int i=;i<n;++i)
{
cin>>arr[i];
} for(int i=;i<n;++i)
{
for(int j=i+;j<n;++j)
{
nodes[point].a=i;
nodes[point].b=j;
nodes[point].summ=arr[i]+arr[j];
point++;
}
}sort(nodes,nodes+point,cmp);
} bool succ=;
set<long long>s1;
int main()
{
cin.sync_with_stdio(false);
init();
for(int i=;i<point;++i)
{
if(s1.count(nodes[i].summ))continue;
s1.insert(nodes[i].summ);
if() node n1=nodes[i];
n1.summ=-n1.summ;
int pos=lower_bound(nodes,nodes+point,n1,cmp)-nodes;
while(nodes[pos].summ==n1.summ)
{
if(check(nodes[pos],n1))
{
succ=;
break;
}pos++;
}
if(succ)break;
// cout<<"target: "<<n1.summ<<" answer: "<<nodes[pos].summ<<endl;
}
if(succ)cout<<"Yes"<<endl;
else cout<<"No"<<endl;
return ;
}
51nod 1267二分+优化试验场的更多相关文章
- 51nod 1267 二分
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1267 1267 4个数和为0 基准时间限制:1 秒 空间限制:13107 ...
- 51Nod 1090 3个数和为0 set 二分优化
给出一个长度为N的无序数组,数组中的元素为整数,有正有负包括0,并互不相等.从中找出所有和 = 0的3个数的组合.如果没有这样的组合,输出No Solution.如果有多个,按照3个数中最小的数从小到 ...
- POJ 3903:Stock Exchange(裸LIS + 二分优化)
http://poj.org/problem?id=3903 Stock Exchange Time Limit: 1000MS Memory Limit: 65536K Total Submis ...
- 二分优化lis和STL函数
LIS:最长上升子序列: 这个题我们很显然会想到使用dp, 状态设计:dp[i]代表以a[i]结尾的LIS的长度 状态转移:dp[i]=max(dp[i], dp[j]+1) (0<=j< ...
- HDU 1025 LIS二分优化
题目链接: acm.hdu.edu.cn/showproblem.php?pid=1025 Constructing Roads In JGShining's Kingdom Time Limit: ...
- 【bzoj3173】【Tjoi2013】【最长上升子序列】treap+dp二分优化
[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=61560361 向大(hei)佬(e)实力学(di ...
- 二分优化的lis
/*此题为一个女大佬教我的,%%%%%%%%%%%%*/ 题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列. 输入输出格式 输入格式: 第一行是一个数n, 接下来两行,每行为n个数,为 ...
- HDU 1025:Constructing Roads In JGShining's Kingdom(LIS+二分优化)
http://acm.hdu.edu.cn/showproblem.php?pid=1025 Constructing Roads In JGShining's Kingdom Problem Des ...
- 硬币问题 (dp,多重背包的二分优化)
题目描述 给你n种硬币,知道每种的面值Ai和每种的数量Ci.问能凑出多少种不大于m的面值. 输入 有多组数据,每一组第一行有两个整数 n(1≤n≤100)和m(m≤100000),第二行有2n个整数, ...
随机推荐
- 解决Maven依赖下载不全的问题
背景描述 在日常学习过程中使用Maven构建SpringBoot+SpringCloud服务时,有时会使用非正式版的SpringBoot和SpringCloud(非正式版是指不是最终发布的版本,而是测 ...
- 会话跟踪之Cookie
一:简介 Cookie主要用来存储用户信息,追踪用户会话.web客户端访问服务端直接采用的协议是Http,Http协议是一种无状态协议,无状态表现在不能够保留用户访问状态,无法记录用户信息.每一次的请 ...
- iOS 基础笔试题
参考:https://www.jianshu.com/p/1d3496bc5bda 1.#import 跟#include.@class有什么区别?#import<> 跟 #import& ...
- springBoot jpa uuid生成策略
实体类 import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; @Entity @Table(na ...
- It does not do to dwell on dreams and forget to live.
It does not do to dwell on dreams and forget to live.不要过于依赖梦想,却忘了生活.
- Entity Framework --Entity SQL注意事项
Entity SQL 是 ADO.NET 实体框架 提供的 SQL 类语言,用于支持 实体数据模型 (EDM).Entity SQL 可用于对象查询和使用 EntityClient 提供程序执行的查询 ...
- python3基础05(有关日期的使用1)
#!/usr/bin/env python# -*- coding:utf-8 -*- import timefrom datetime import datetime,timedelta,timez ...
- SAP Cloud for Customer Extensibility的设计与实现
今天的文章来自Jerry的同事,SAP成都研究院C4C开发团队的开发人员徐欢(Xu Boris).徐欢就坐我左手边的位置,因此我工作中但凡遇到C4C的技术问题,一扭头就可以请教他了,非常方便.下图是他 ...
- git版本管理工具 标签(Tag) / 版本回退 / 分支的简单使用
a.标签 标签,可以使用这个功能来标记发布结点. 举个例子, 假如我们的项目版本目前是1.2版本, 上级要求这个版本要在半个月后再进行上传至Appstore, 并要求我们未来的半个月内,去写1.3版本 ...
- 小w的糖果
题目连接 : https://ac.nowcoder.com/acm/contest/923/C 算是一道找规律的题了,因为后一个人会比前一个人多,可以理解成后一个人要继承前一个人,sum为当前糖果数 ...