当前位置: 首页 > news >正文

NOIP 模拟29 B 侥幸

这次考得好纯属是侥幸,我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} )$;

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

转载于:https://www.cnblogs.com/hzoi-lsc/p/11393175.html

相关文章:

  • Linux——安装并配置Kafka
  • NOIP模拟30B 活该
  • Deepin 触摸板
  • Linux——配置maven
  • 获取固定经纬度固定范围的经纬度值
  • ssh通过pem文件登陆服务器
  • 使用NGINX+LUA实现WAF功能 和nginx 防盗链
  • c++计算1到100以内的质数
  • nice -n 10 bash 和 chrt 10 bash 和 echo -17 /proc/PID/oom_score_adj
  • Docker容器跨主机通信--overlay网络
  • 从内核3.7版本开始,Linux就开始支持VXLAN 到了内核3.12版本,Linux对VXLAN的支持已经完备,支持单播和组播,IPv4和IPv6。...
  • Failed to get D-Bus connection: Operation not permitted
  • Linux——查询服务器公网IP
  • c# DataGirdView动态刷新
  • socat管理haproxy配置 ssh-keygen -N '' -t rsa -q -b 2048
  • [deviceone开发]-do_Webview的基本示例
  • Java基本数据类型之Number
  • Mybatis初体验
  • Python打包系统简单入门
  • Sequelize 中文文档 v4 - Getting started - 入门
  • VuePress 静态网站生成
  • vue--为什么data属性必须是一个函数
  • Yeoman_Bower_Grunt
  • 给github项目添加CI badge
  • 聊聊hikari连接池的leakDetectionThreshold
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #pragma预处理命令
  • (4)logging(日志模块)
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (三)c52学习之旅-点亮LED灯
  • (三)docker:Dockerfile构建容器运行jar包
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)四层和七层负载均衡的区别
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .Net各种迷惑命名解释
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET中 MVC 工厂模式浅析
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • :=
  • ??javascript里的变量问题
  • @Transient注解
  • [ 第一章] JavaScript 简史
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [AI]文心一言出圈的同时,NLP处理下的ChatGPT-4.5最新资讯
  • [autojs]autojs开关按钮的简单使用