2612. [FHZOI 2017]被窃的项链
2612. [FHZOI 2017]被窃的项链
★★★ 输入文件:stolen_necklace.in 输出文件:stolen_necklace.out 简单对比
时间限制:1 s 内存限制:256 MB
【题目描述】
Alice和Bob偷(划掉)通过某些奇技淫巧弄来了一串上面有N(N<=100000)颗宝石的项链(注意是链不是环),其中包含若干种不同的宝石。每颗宝石拥有自己的类型编号Ki(Ki<=30000)。Alice和Bob需要平分这条项链,这意味着他们需要将每种类型宝石都平分(比如有4颗类型编号为1的宝石和2颗类型编号为2的宝石,你需要给你和你的朋友各2颗1型宝石和1颗2型宝石)。显然他们可以通过将所有宝石一颗一颗裁下来并平分,不过Bob觉得这件事很无聊,他希望能通过最小的裁剪次数来实现平分。Alice和Bob都不善于数学,所以Bob想问你最小的切割次数是多少。
HOWEVER
由于Alice的脑冻过大,所以她将问题改为:如果随机打乱这条项链,保证能够平分这条项链的最小切割次数是多少?
【输入格式】
第一行为一个整数N,代表项链上的宝石数量。
接下来的一行有N个数,其中的第i个数代表第i颗宝石的类型Ki。
数据保证每种类型的宝石都有偶数个。
【输出格式】
保证能够平分项链所需的最小切割次数。
【样例输入】
10
1 2 2 5 1 3 1 5 1 3
【样例输出】
4
【提示】
针对未随机打乱的样例的一种划分方式(仅供示意划分方式):

【来源】
Albert S. Chang
False HZOI 2017
代码
#include<cstdio>
#define MAXN 30005
int flag[MAXN],n,ans;
int main()
{
freopen("stolen_necklace.in","r",stdin);
freopen("stolen_necklace.out","w",stdout);
scanf("%d",&n);
for (int x,i=; i<=n; ++i)
{
scanf("%d",&x);
if (flag[x]==) ans++, flag[x] = ;
}
printf("%d",ans);
return ;
}
2612. [FHZOI 2017]被窃的项链的更多相关文章
- 洛谷P1203 [USACO1.1]坏掉的项链Broken Necklace
题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 n=29 的二个例子: 第一和第二个珠子在图片中已经被作记号. 图片 A ...
- 2017中国大学生程序设计竞赛 - 女生专场 Happy Necklace(递推+矩阵快速幂)
Happy Necklace Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
- CI Weekly #10 | 2017 DevOps 趋势预测
2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...
- 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS
一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...
- iOS的ATS配置 - 2017年前ATS规定的适配
苹果规定 从2017年1月1日起,新提交的 app 不允许使用NSAllowsArbitraryLoads来绕过ATS(全称:App Transport Security)的限制. 以前为了能兼容ht ...
- 深入研究Visual studio 2017 RC新特性
在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...
- Xamarin+Prism开发详解三:Visual studio 2017 RC初体验
Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...
- Microsoft Visual Studio 2017 for Mac Preview 下载+安装+案例Demo
目录: 0. 前言 1. 在线安装器 2. 安装VS 3. HelloWorld 4. ASP.NET MVC 5. 软件下载 6. 结尾 0. 前言: 工作原因,上下班背着我的雷神,一个月瘦了10斤 ...
- Create an offline installation of Visual Studio 2017 RC
Create an offline installation of Visual Studio 2017 RC 2016年12月7日 ...
随机推荐
- 使用Set去除String中的重复字符
使用Set去除String中的重复字符 public class test14 { public static void main(String[] args) { String str = &quo ...
- 【Python】python2 html safe string
import cgi s = '<>&' s += u'哈哈' print type(s) print s r = cgi.escape(s) print type(r) prin ...
- 解决IE8的兼容问题
本文分享下我在项目中积累的IE8+兼容性问题的解决方法.根据我的实践经验,如果你在写HTML/CSS时候是按照W3C推荐的方式写的,然后下面的几点都关注过,那么基本上很大一部分IE8+兼容性问题都OK ...
- mathtype 章节号 Equation Chapter 1 Section 1 的去除
mathtype 章节号 Equation Chapter 1 Section 1 的去除 转:http://hi.baidu.com/17ximm/blog/item/2882413e92fc96c ...
- Android仿微信高效压缩图片(libjpeg)
用过ios手机的同学应该很明显感觉到,ios拍照1M的图片要比安卓拍照排出来的5M的图片还要清晰.这是为什么呢? 这得了解android底层是如何对图片进行处理的. 当时谷歌开发Android的时候, ...
- 【文件拷贝】使用Total Commander Portable拖动拷贝文件,支持队列
使用Total Commander Portable,可以批量拷贝多个位于相同或不同目录的文件(夹)到指定的相同或不同的目录.这样避免了同时复制多个大的文件造成的速度减慢:将所有任务手动操作之后,剩下 ...
- 流媒体 6——MPEG电视
1.电视图像的数据率 1.1 ITU-R BT.601标准数据率 按照奈奎斯特(Nyquist)采样理论,模拟电视信号经过采样(把连续的时间信号变成离散的时间信号)和量化 (把连续的幅度变成离散的幅度 ...
- js基础笔录
1.页面中获取对象 document.getElementById("demo") 2.在页面加载时向 HTML 的 <body> 写文本 document.write ...
- JS中的Global对象
Global对象可以说是ECMAScript中最特别的一个对象了.因为不管你从什么角度上看,这个对象都是不存在的.ECMAScript中的Global对象在某种意义上是作为一个终极的“兜底儿对象”来定 ...
- java模式
模式(Pattern) 模式(Pattern)的概念最早由建筑大师Christopher Alexander于二十世纪七十年代提出,应用于建筑领域,八十年代中期由Ward Cunningham和Ken ...