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

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

深入解析 Java Future 类及代码示例

《深入解析JavaFuture类及代码示例》JavaFuture是java.util.concurrent包中用于表示异步计算结果的核心接口,下面给大家介绍JavaFuture类及实例代码,感兴... 目录一、Future 类概述二、核心工作机制代码示例执行流程2. 状态机模型3. 核心方法解析行为总结:三

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

Python使用Code2flow将代码转化为流程图的操作教程

《Python使用Code2flow将代码转化为流程图的操作教程》Code2flow是一款开源工具,能够将代码自动转换为流程图,该工具对于代码审查、调试和理解大型代码库非常有用,在这篇博客中,我们将深... 目录引言1nVflRA、为什么选择 Code2flow?2、安装 Code2flow3、基本功能演示

IIS 7.0 及更高版本中的 FTP 状态代码

《IIS7.0及更高版本中的FTP状态代码》本文介绍IIS7.0中的FTP状态代码,方便大家在使用iis中发现ftp的问题... 简介尝试使用 FTP 访问运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上的内容时,IIS 将返回指示响应状态的数字代

MySQL 添加索引5种方式示例详解(实用sql代码)

《MySQL添加索引5种方式示例详解(实用sql代码)》在MySQL数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中,下面给大家分享MySQL添加索引5种方式示例详解(实用sql代码),... 在mysql数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中。索引可以在创建表时定义,也可

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元