题解 P1469 【找筷子】
这题真是水
咳咳。。
基本思路:桶排
但是可以剪枝。
剪枝方法:
好几种,可以用set(集合),可以用stack(栈),
也可以像我一样的蒟蒻最大最小值......
但是作者的毒瘤数据应该不会放过我们的...
AC code奉上
#include <iostream>
#include <cstdio>
using namespace std;
int bfs(int bottle[],int max_,int min_)
{
	for (int i=min_;i<=max_;i++)
	{if (bottle[i]%2==1)return i;}
}
//基本思路:桶排
//剪枝优化方式:最大最小值
int main()
{
	int n,max_=0,min_=10000010;
	static int bottle[10000001];
	//方便的是,静态数组默认为0
	scanf("%d",&n);
	for (int i=1;i<=n;i++)
	{
		int temp;scanf("%d",&temp);
		bottle[temp]++;
		max_=max_>temp?max_:temp;
		min_=min_<temp?min_:temp;
	}
	int num=bfs(bottle,max_,min_);
	printf("%d",num);
	return 0;
}
集合的思想就是去重,
查找的时候只需要一个个抽元素出来找就行。
可以大大减少查找次数。
话说快排真的有必要吗
题解 P1469 【找筷子】的更多相关文章
- 洛谷——P1469 找筷子
		
P1469 找筷子 题目描述 经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘 ...
 - 洛谷 P1469 找筷子 题解
		
题目传送门 先排序一遍,再一个一个判断是否有偶数个.注意for循环要i+=2. #include<bits/stdc++.h> using namespace std; ]; int ma ...
 - 洛谷 P1469 找筷子
		
题目描述 经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题,筷子!CX ...
 - 洛谷P1469找筷子
		
题目描述 经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题,筷子!CX ...
 - 集训作业 洛谷P1469 找筷子
		
这个题的代码真的是短的不得了呢. 有个神奇的东西叫异或,写起来是这个样子的^. 这个东西可以查看2个数的二进制某位是否相同,相同取0,不同取1.虽然我用的不熟,但我可以想出来,如果2个相同的数异或,答 ...
 - P1469 找筷子
		
摘要:有n根(n为奇数)长短不一的筷子,里面可以凑成(n-1)/2双筷子,只剩下一根不能凑对,问那根不能凑对的筷子有多长. 乍听起来好像不难,桶是一个好东西,可是一看数据:对于100%的数据,N< ...
 - 洛谷-P1469 找筷子 (位运算)
		
题意:给你一组数,求数组中唯一的出现次数为奇数的那个数. 题解:这题其实直接桶排一下就行了,但是最后一个点会TLE.  后来了解到这题可以用位运算来解决:  ^(异或)运算符:用于比较两个二进制数 ...
 - [FJOI2007]轮状病毒 题解(dp(找规律)+高精度)
		
[FJOI2007]轮状病毒 题解(dp(找规律)+高精度) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1335733 没什么好说的,直接把规律找出来,有 ...
 - 题解 JSOI2010 找零钱的洁癖
		
题解 JSOI2010 找零钱的洁癖 题面 BZOJ 个人体会 van全没有思路... 只能去看题解... 还是个bfs+贪心 不管怎样竟然乱搞过了... 听M_sea小姐姐说她有更正经的做法(线性规 ...
 
随机推荐
- scala : 类型与类
			
scala类型系统:1) 类型与类 在Java里,一直到jdk1.5之前,我们说一个对象的类型(type),都与它的class是一一映射的,通过获取它们的class对象,比如 String.class ...
 - 关于js回调方法 js递归时使用方法
			
js中递归调用本身可以这样: function a1(n){ a1(n)}但是如果需要在参数n进行自增的情况下判断会出错: function a1(n){ if(n>10) return 'aa ...
 - 安装Vue.js的方法有三种
			
1 使用独立的版本 在Vue.js官网上直接下载,在script标签里引用. 2 使用CND方法(不推荐) 3 NMP 方法 在用Vue.js构建大型应用的时候推荐使用NMP安装方法,NMP能很好的和 ...
 - Python接口测试实战5(下) - RESTful、Web Service及Mock Server
			
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
 - Ubuntu—安装python的第三方包gevent
			
今晚花很多时间, 使用 sudo pip3 install gevent 但是始终没有成功. 柳暗花明又一村 sudo apt-get install python3-gevent 搞定!!! 人生如 ...
 - ZOJ 3962
			
就是统计1~n中出现的各个数字的次数,当然是在16进制下. 不过有个区间问题的小技巧,统计从 [x,y] 可以转换成 从 [1,y] 减去 [1,x-1]. 不过要分类讨论一下,因为有可能会出现溢出, ...
 - 228. [LeetCode] Summary Ranges
			
Given a sorted integer array without duplicates, return the summary of its ranges. Example 1: Input: ...
 - 算法笔记(c++)--完全背包问题
			
算法笔记(c++)--完全背包和多重背包问题 完全背包 完全背包不同于01背包-完全背包里面的东西数量无限 假设现在有5种物品重量为5,4,3,2,1 价值为1,2,3,4,5 背包容量为10 # ...
 - IT工具使用
			
linux 其他知识目录 常用快捷键总结 博客view code 删除,先删除,再清除格式
 - 爬虫:Scrapy12 - Stats Collection
			
Scrapy 提供了方便的收集数据的机制.数据以 key/value 方式存储,值大多是计数值.该机制叫做数据收集器(Stats Collector),可以通过 Crawler API 的属性 sta ...