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日 ...
随机推荐
- java之struts框架入门教程
本教程主要讲述struts的简单入门操作 使用的是myeclipse工具 1.创建web项目 2.复制struts必要的jar包到 WebRoot/WEB-INF/lib 下 jar包列表如下: as ...
- 碎碎念css
块状元素单独占一行,但加上float变成跟着别人,有空就插!float让块级元素变行内元素
- java网络编程—TCP(1)
演示tcp的传输的客户端和服务端的互访. 需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息. 客户端: 1,建立socket服务.指定要连接主机和端口. 2,获取socket流中的输出流. ...
- 编译出freeswitch的java调用的 jar和so
假设freeswitch 源码路径为 /usr/local/src/freeswitch 1. cd /usr/local/src/freeswitch(源代码的根目录) 执行./configure, ...
- 【ros-kinetic iai_kinect2 opencv2 3 】注意事项
iai_kinect2 : https://github.com/code-iai/iai_kinect2/tree/master/kinect2_registration kinect2_brid ...
- uvm_dpi——DPI在UVM中的实现(一)
文件: src/dpi/uvm_dpi.svh 类: 无 SystemVerilog DPI,全称SystemVerilog直接编程接口 (英语:SystemVerilog Direct Pro ...
- PHP与MYSQL结合操作——文章发布系统小项目(实现基本增删查改操作)
php和mysql在一起几十年了,也是一对老夫老妻了,最近正在对他们的爱情故事进行探讨,并做了一个很简单的小东西——文章发布系统,目的是为了实现mysql对文章的基本增删查改操作 前台展示系统有:文章 ...
- IOS 自定义Layer(图层)
方式1: @interface NJViewController () @end @implementation NJViewController - (void)viewDidLoad { [sup ...
- SpringMVC+Hibernate框架快速搭建
1. 新建Maven项目springmvc 2. pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" ...
- Dropout & Maxout
[ML] My Journal from Neural Network to Deep Learning: A Brief Introduction to Deep Learning. Part. E ...