这次考得好纯属是侥幸,我T3打表试数试了两个小时,没有想打T2的正解(其实是打不出来)所以这个T3A掉纯属是侥幸,以后还是要打正解

(以下博客最好按全选观看,鬼知道为啥这个样子!)

在这里也口胡一下我的打表找规律的方法!:

首先使用一个next_permutation暴力出来n<=8的解,

0
500000004
500000005
250000005
250000008
416666681
416666690
291666705

我们发现n==2的时候就是2的逆元,那么我们就可以推测出线性递推的柿子是

f[i]=a*f[i-1]+b*inv[i];a和b都是常数   那么我们就可以愉快的枚举常数找规律了!

然后一个小时就过去了,当我发现两个常数都是定值的时候没有解,就尝试一下定一个常数然后凑另一个常数,然后就愉快的发现

f[i]=f[i-1]+(pow(2,i-1)-1)*inv[i];这里的b常数有很多中情况,我们要找的是普遍规律,所以就可以暴力实验求解;

但是这只是我的侥幸,如果这个常数是一个极大值,并且其中一个并不是定值,那么我就凉凉了!

所以打表模拟常数是考试的时候的冒险行为,成则名垂千古,败则一败涂地!(危险动作,请勿模仿!)

由于T3我是打表找规律A的,所以现在填一下正解的坑:

////////以下的博客博主出锅了!正在抢修!//////////

    UPD:19.8.22 21:16 抢修完毕

设f[i]表示i个数的sigama(就是题目公式中的分子)然后我们考虑线性递推公式:

我们可以分为两种情况:

1 结尾的数字就是i,那么这个i就不对最终的步数有额外的贡献,所以直接转移,

2 然后枚举没每一个结尾的数字,就可以得到转移的额外贡献是$ \sum (f[i-1]+(i-1)!*g[k])(1<=k<i)$

所以我们可以得出柿子为

$ f[i]=f[i-1]+\sum(f[i-1]+(i-1)!*g[k])(1<=k<i) $

合并就可以得到:

$ f[i]=f[i-1]*i+(i-1)!*(2^{i-1}-1) $

那么重点就是这个g数组

$g[i]$我们可以设他为以i为结尾的插到他该在的位置所需要的步数,他之前的都是有序的!

然后我们通过归纳可以发现,显然$ g[1]=1$

$g[2]=g[1]+1=2$

$g[3]=g[1]+g[2]+1=4$

.........

那么我们通过归纳就可以的出$g[i]=(2^{i-1} )$;

然后利用高考数学的知识稍转化一下就可以了!

NOIP 模拟29 B 侥幸的更多相关文章

  1. noip模拟29[简单的板子题](虽然我不会)

    \(noip模拟29\;solutions\) 这次考试给我最大的伤害,让我意识到了差距 这场考试可以说是非常的简单,就是简单到,看两眼,打个表就有结果了 但是呢?我考得非常的完蛋,只有30pts 据 ...

  2. NOIP模拟 29

    T1第一眼觉得是网络流 看见4e6条边200次增广我犹豫了 O(n)都过不去的赶脚.. 可是除了网络流板子我还会什么呢 于是交了个智障的EK 还是用dijkstra跑的 居然有50分!$(RP--)$ ...

  3. Noip模拟29(瞎眼忌) 2021.8.3

    T1 最长不下降子序列 在此记录自己的瞎眼... 考场上像一个傻$der$,自己为了防范上升序列和不下降序列的不同特意的造了一组$hack$数据来卡自己:(第一行是序列长度,第二行是序列) 6 1 5 ...

  4. 2021.8.3考试总结[NOIP模拟29]

    T1 最长不下降子序列 数据范围$1e18$很不妙,但模数$d$只有$150$,考虑从这里突破. 计算的式子是个二次函数,结果只与上一个值有关,而模$d$情况下值最多只有$150$个,就证明序列会出现 ...

  5. NOIP 模拟 $29\; \rm 最近公共祖先$

    题解 \(by\;zj\varphi\) 首先考虑,如果将一个点修改成了黑点,那么它能够造成多少贡献. 它先会对自己的子树中的答案造成 \(w_x\) 的贡献. 考虑祖先时,它会对不包括自己的子树造成 ...

  6. NOIP 模拟 $29\; \rm 完全背包问题$

    题解 \(by\;zj\varphi\) 一道 \(\rm dp\) 题. 现将所有种类从小到大排序,然后判断,若最小的已经大于了 \(\rm l\),那么直接就是一个裸的完全背包,因为选的总数量有限 ...

  7. NOIP 模拟 $29\; \rm 最长不下降子序列$

    题解 \(by\;zj\varphi\) 观察这个序列,发现模数很小,所以它的循环节很小. 那么可以直接在循环节上做最长上升子序列,但是循环节中的逆序对会对拼接后的答案造成影响. 没有必要找逆序对个数 ...

  8. noip模拟29

    这次终于是早上考试了 早上考试手感不错,这次刷新了以前的最高排名- %%%cyh巨佬 \(rk1\) %%%CT巨佬 \(t2\) 90 纵观前几,似乎我 \(t3\) 是最低的-- 总计挂分10分, ...

  9. 「题解」NOIP模拟测试题解乱写I(29-31)

    NOIP模拟29(B) T1爬山 简单题,赛时找到了$O(1)$查询的规律于是切了. 从倍增LCA那里借鉴了一点东西:先将a.b抬到同一高度,然后再一起往上爬.所用的步数$×2$就是了. 抬升到同一高 ...

随机推荐

  1. Python flask构建微信小程序订餐系统☝☝☝

    Python flask构建微信小程序订餐系统☝☝☝ 一.Flask MVC框架结构 1.1实际项目结构 1.2application.py  项目配置文件 Flask之flask-script模块使 ...

  2. Python3入门机器学习经典算法与应用☝☝☝

    Python3入门机器学习经典算法与应用 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 使用新版python3语言和流行的scikit-learn框架,算法与 ...

  3. VMware workstation Windows 10虚拟机安装步骤

    1. 在首页点击创建新的虚拟机 2. 选择典型,下一步 3.选择稍后安装操做系统,下一步. 4. 选择第一个Microsoft Windows,版本选择如图. 5. 选择安装位置,我放在D盘. 7. ...

  4. Linux之常用命令I

    一.Linux简介 1)Minix(只为教学,开源的)-->Linux(以前者为模板,添加了一些软件) 2)Linux分为内核版本和发行版本 区别:Linux内核版本就是核心版本,不用最新版本, ...

  5. Vue-CLI项目-vue-cookie与vue-cookies处理cookie

    08.31自我总结 Vue-CLI项目-vue-cookie与vue-cookies处理cookie vue-cookie 一.模块的安装 npm install vue-cookie --save ...

  6. 通过机器学习的线性回归算法预测股票走势(用Python实现)

    在本人的新书里,将通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得.这里给出以线性回归算法预测股票的案例,以此讲述通过Python的sklearn ...

  7. 宝塔面板6.x版本前台存储XSS+后台CSRF组合拳Getshell

    对于宝塔漏洞复现和练习 0×00  什么是宝塔面板 宝塔面板是一款使用方便,功能强大且终身免费的服务器管理软件,支持Linux 与Windows 系统.一键配置:LAMP / LNMP ,网站,数据库 ...

  8. ThinkPHP5 远程命令执行漏洞分析

    本文首发自安全脉搏,转载请注明出处. 前言 ThinkPHP官方最近修复了一个严重的远程代码执行漏洞.这个主要漏洞原因是由于框架对控制器名没有进行足够的校验导致在没有开启强制路由的情况下可以构造恶意语 ...

  9. 《深入理解Java虚拟机》-----第10章 程序编译与代码优化-早期(编译期)优化

    概述 Java语言的“编译期”其实是一段“不确定”的操作过程,因为它可能是指一个前端编译器(其实叫“编译器的前端”更准确一些)把*.java文件转变成*.class文件的过程;也可能是指虚拟机的后端运 ...

  10. 使用css实现导航下方线条随导航移动效果

    HTML部分 <ul> <li><a href="">第一条</a></li> <li><a href ...