【长郡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

相关文章

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. 优化的

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

IDEA与MyEclipse代码量统计方式

《IDEA与MyEclipse代码量统计方式》文章介绍在项目中不安装第三方工具统计代码行数的方法,分别说明MyEclipse通过正则搜索(排除空行和注释)及IDEA使用Statistic插件或调整搜索... 目录项目场景MyEclipse代码量统计IDEA代码量统计总结项目场景在项目中,有时候我们需要统计