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]被窃的项链的更多相关文章

  1. 洛谷P1203 [USACO1.1]坏掉的项链Broken Necklace

    题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 n=29 的二个例子: 第一和第二个珠子在图片中已经被作记号. 图片 A ...

  2. 2017中国大学生程序设计竞赛 - 女生专场 Happy Necklace(递推+矩阵快速幂)

    Happy Necklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  3. CI Weekly #10 | 2017 DevOps 趋势预测

    2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...

  4. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

  5. iOS的ATS配置 - 2017年前ATS规定的适配

    苹果规定 从2017年1月1日起,新提交的 app 不允许使用NSAllowsArbitraryLoads来绕过ATS(全称:App Transport Security)的限制. 以前为了能兼容ht ...

  6. 深入研究Visual studio 2017 RC新特性

    在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...

  7. Xamarin+Prism开发详解三:Visual studio 2017 RC初体验

    Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...

  8. Microsoft Visual Studio 2017 for Mac Preview 下载+安装+案例Demo

    目录: 0. 前言 1. 在线安装器 2. 安装VS 3. HelloWorld 4. ASP.NET MVC 5. 软件下载 6. 结尾 0. 前言: 工作原因,上下班背着我的雷神,一个月瘦了10斤 ...

  9. Create an offline installation of Visual Studio 2017 RC

    Create an offline installation of Visual Studio 2017 RC ‎2016‎年‎12‎月‎7‎日                             ...

随机推荐

  1. python中*args, **kwargs理解

    先来看个例子: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '----------- ...

  2. JVM虚拟机 - 内存

    在JVM虚拟机中,内存部分大致可以分为以下几类: Heap:堆 NonHeap:非堆 CodeCache:缓存编辑后的机器码的内存区域 CompressedClassSpace:类压缩空间 MetaS ...

  3. js 数组操作常用方法

    push():在数组后面加入元素,并返回数组的长度: unshift():在数组前面就如元素,并返回数组的长度: pop():删除最后一个元素: var arr =[1,2,3,4,5] ; arr. ...

  4. 原生js添加类名,删除类名

    1.添加类名: document.getElementById("myDiv").classList.add('mystyle'); 2.删除类名: document.getEle ...

  5. mongodb 认证方式(version:3.0.4)

    之前一直在本机上跑,前段时间把后台架到云服务器上了,在settings里加上了username和password,希望同步的时候修改一下settings就能在本地测试.   因为云服务器端数据库连接需 ...

  6. shrio中去掉 login;JSESSIONID

    shrio中去掉 login;JSESSIONID 在session管理器配置页面中新增一条记录

  7. IOS AppDelegate常用方法

    // 当应用程序启动完毕的时候就会调用(系统自动调用) - (BOOL)application:(UIApplication *)application didFinishLaunchingWithO ...

  8. System.FormatException: GUID 应包含带 4 个短划线的 32 位数(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。解决办法

    查一下数据库的UID数据是否格式正确,如: 错误格式1: {E056BB36-D824-4106-A9C3-D8D8B9ADC1C 错误格式2: E056BB36-D824-4106-A9C3-D8D ...

  9. 编译防火墙——C++的Pimpl惯用法解析

    http://blog.csdn.net/lihao21/article/details/47610309 Pimpl(pointer to implementation, 指向实现的指针)是一种常用 ...

  10. vue中的过滤器

    过滤器 过滤器规则 Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化.过滤器可以用在两个地方: 双花括号插值{{}}和 v-bind 表达式 (后者从 2.1.0+ 开始支持).过滤器应 ...