【长郡NOIP2014模拟10.22】搞笑的代码

2024-05-29 03:08

本文主要是介绍【长郡NOIP2014模拟10.22】搞笑的代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Description

在OI界存在着一位传奇选手——QQ,他总是以风格迥异的搞笑代码受世人围观
某次某道题目的输入是一个排列,他使用了以下伪代码来生成数据
while 序列长度

Input

一个正整数n,表示需要生成一个n排列

Output

一个数表示期望随机次数,保留整数

Sample Input

4

Sample Output

8(.333333…)
【友情提示】
输出样例的括号里表示答案的小数部分,但实际丌要求输出
数学期望=sigma(概率×权值),本题中为期望随机次数=sigma(概率×随机次数)

Data Constraint

30%数据满足n≤3
80%数据满足n≤10^7
100%数据满足n≤2^31

Solution

设x为当前到第i位取到可以取的值的期望次数
设共有n个数(即输入的n)

x=ni+1n+i1n(x+1)

化简得
x=nni+1=n1i

用最右边的等式,把n提出来,答案为

ni=1n1i

ni=11i 每隔 107 打个表,然后暴力就行了

Code

#include<cstdio>
#define ll long long
#define fo(i,a,b) for(ll i=a;i<=b;i++)
#define db double
#define N 10000010
using namespace std;
db a[215]={0,
16.695311365860,
17.388458521420,
17.793923621195,
18.081605689480,
18.304749238294,
18.487070793421,
18.641221472058,
18.774752863789,
18.892535898751,
18.997896413853,
19.093206593203,
19.180217969814,
19.260260677167,
19.334368649046,
19.403361520295,
19.467900041224,
19.528524662856,
19.585683076533,
19.639750297657,
19.691043591913,
19.739833755963,
19.786353771490,
19.830805533962,
19.873365148290,
19.914187142727,
19.953407855803,
19.991148183715,
20.027515827820,
20.062607147570,
20.096508699188,
20.129298521957,
20.161047220221,
20.191818878841,
20.221671841946,
20.250659378777,
20.278830255704,
20.306229229854,
20.332897476901,
20.358872963271,
20.384190771223,
20.408883383783,
20.432980935333,
20.456511432715,
20.479500950913,
20.501973806740,
20.523952713435,
20.545458918633,
20.566512327808,
20.587131614990,
20.607334322287,
20.627136949563,
20.646555035402,
20.665603230354,
20.684295363349,
20.702644502000,
20.720663007487,
20.738362584570,
20.755754327267,
20.772848760612,
20.789655878914,
20.806185180852,
20.822445701710,
20.838446043044,
20.854194399999,
20.869698586523,
20.884966058643,
20.900003935996,
20.914819021770,
20.929417821180,
20.943806558622,
20.957991193604,
20.971977435569,
20.985770757692,
20.999376409738,
21.012799430062,
21.026044656803,
21.039116738362,
21.052020143189,
21.064759168959,
21.077337951158,
21.089760471148,
21.102030563733,
21.114151924258,
21.126128115297,
21.137962572937,
21.149658612694,
21.161219435088,
21.172648130905,
21.183947686153,
21.195120986744,
21.206170822925,
21.217099893451,
21.227910809550,
21.238606098661,
21.249188207985,
21.259659507847,
21.270022294877,
21.280278795039,
21.290431166498,
21.300481502347,
21.310431833195,
21.320284129633,
21.330040304574,
21.339702215481,
21.349271666492,
21.358750410442,
21.368140150788,
21.377442543446,
21.386659198546,
21.395791682106,
21.404841517621,
21.413810187600,
21.422699135013,
21.431509764692,
21.440243444657,
21.448901507396,
21.457485251084,
21.465995940748,
21.474434809390,
21.482803059057,
21.491101861869,
21.499332361002,
21.507495671638,
21.515592881867,
21.523625053561,
21.531593223207,
21.539498402711,
21.547341580169,
21.555123720608,
21.562845766699,
21.570508639442,
21.578113238824,
21.585660444456,
21.593151116183,
21.600586094668,
21.607966201962,
21.615292242052,
21.622565001378,
21.629785249349,
21.636953738825,
21.644071206592,
21.651138373812,
21.658155946468,
21.665124615782,
21.672045058624,
21.678917937910,
21.685743902978,
21.692523589961,
21.699257622140,
21.705946610288,
21.712591153005,
21.719191837034,
21.725749237578,
21.732263918597,
21.738736433101,
21.745167323429,
21.751557121526,
21.757906349202,
21.764215518394,
21.770485131405,
21.776715681154,
21.782907651400,
21.789061516973,
21.795177743988,
21.801256790063,
21.807299104517,
21.813305128575,
21.819275295560,
21.825210031078,
21.831109753203,
21.836974872654,
21.842805792963,
21.848602910646,
21.854366615361,
21.860097290068,
21.865795311181,
21.871461048716,
21.877094866432,
21.882697121979,
21.888268167027,
21.893808347401,
21.899318003211,
21.904797468974,
21.910247073740,
21.915667141208,
21.921057989841,
21.926419932981,
21.931753278955,
21.937058331184,
21.942335388283,
21.947584744168,
21.952806688148,
21.958001505023,
21.963169475181,
21.968310874680,
21.973425975345,
21.978515044851,
21.983578346807,
21.988616140835,
21.993628682658,
21.998616224168,
22.003579013508,
22.008517295148,
22.013431309949,
22.018321295242,
22.023187484892,
22.028030109367,
22.032849395801,
22.037645568064,
22.042418846815,
22.047169449573,
22.051897590768,
22.056603481804,
22.061287331115};
int main()
{ll n,n1;scanf("%lld",&n);n1=n/10000000;ll ans1=(ll)a[n1];db ans=a[n1]-ans1;fo(i,n1*10000000+1,n){ans+=1.0/i;if(ans>1) ans--,ans1++;}printf("%.0lf",(ans+ans1)*(db)n);
}

这篇关于【长郡NOIP2014模拟10.22】搞笑的代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1012469

相关文章

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

Java 单元测试之Mockito 模拟静态方法与私有方法最佳实践

《Java单元测试之Mockito模拟静态方法与私有方法最佳实践》本文将深入探讨如何使用Mockito来模拟静态方法和私有方法,结合大量实战代码示例,带你突破传统单元测试的边界,写出更彻底、更独立... 目录Mockito 简介:为什么选择它?环境准备模拟静态方法:打破“不可变”的枷锁传统困境解法一:使用M

C#使用SendMessage实现进程间通信的示例代码

《C#使用SendMessage实现进程间通信的示例代码》在软件开发中,进程间通信(IPC)是关键技术之一,C#通过调用WindowsAPI的SendMessage函数实现这一功能,本文将通过实例介绍... 目录第一章:SendMessage的底层原理揭秘第二章:构建跨进程通信桥梁2.1 定义通信协议2.2

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

Nginx实现端口映射的示例代码

《Nginx实现端口映射的示例代码》本文主要介绍了Nginx实现端口映射的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1. 找到nginx的部署路径2. 备份原来的配置文件3. 编辑nginx.conf文件4. 在

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的