奥术神杖(分数规划、AC自动机)

发现我们要求的东西很像一个平均数(实际上就是几何平均数),那么我们现在考虑一种运算,使得乘法能够变成加法、开根可以变成除法,不难想到取对数满足这个条件。我们对\(\sqrt[v]{\prod a_i}\)取\(ln\)之后得到\(\frac{1}{v} \sum ln\ a_i\),那么我们现在需要它最大。

这显然是一个分数规划,二分之后考虑check。发现check类似于字符串匹配,在AC自动机上DP求解即可。复杂度\(O(nslog\frac{ln 10^9}{eps})\)

注意一个细节。输出方案的时候可能存在:模板串当前位置为'.'时有多种方案满足最优解,但是当前位置字符确定。在输出的时候需要额外的判断。

代码

勘破神机(递推、二项式定理)

强行二合一最为致命……

\(f_i\)是\(f_0 = f_1 = 1\)的斐波那契数列,设\(g_i\)表示\(3 \times 2i\)的棋盘的方案数,可以得到\(g_i\)的递推式为\(g_i = 2\sum\limits_{j=0}^{i-1} g_j + g_{i-1}\),即\(g_i = 4g_{i-1} - g_{i-2},g_0 = 1 , g_1 = 3\)。

\(f_i\)的通项公式为\(\frac{1}{\sqrt{5}} ((\frac{1 + \sqrt{5}}{2})^{i+1} - (\frac{1 - \sqrt{5}}{2})^{i+1})\),\(g_i\)大力解一下特征方程或者丢到OEIS上找一下可以得到通项公式\(g_i = \frac{\sqrt{3}}{6} ((1 + \sqrt{3})(2 + \sqrt{3}) ^ i - (1 - \sqrt{3})(2 - \sqrt{3})^i)\)。

然后因为\(\binom{x}{k} = \frac{x^{\underline{k}}}{k!}\)是一个多项式,把多项式的系数求出来问题就等价于求\(\sum\limits_{i=l}^r f_i^k\)和\(\sum\limits_{i=l}^r g_i^k\),方法跟这里的一样。

关于特征方程一篇还不错的Blog

代码

送别(???)

不会留坑

排兵布阵(背包)

BJOI出PJ题……

考虑暴力DP:设\(f_{i,j}\)表示考虑前\(i\)个城市共用\(j\)个士兵的最大分数,然后不难发现每一个城市中的驻扎人数在恰好为\(2x+1\)时才有可能达到最优,其中\(x\)是第\(i\)个城市的其中一个人的驻扎兵力,那么有效的驻扎兵力数只有\(S\)个,\(O(NMS)\)地DP即可。

代码

光线(???)

考虑将两个玻璃合并。那么枚举在两块玻璃之间反射了多少次,就是一个无穷等比数列求和。

不难得到光线从\((a_i , b_i)\)和\((a_j , b_j)(j=i+1)\)两块玻璃之间穿过的概率是\(a_ia_j \frac{1}{1-b_ib_j}\),从\(j\)层穿入、再从\(j\)层穿出或者从\(j\)层反射的概率是\(b_j + a_j^2b_i \frac{1}{1-b_ib_j}\),这就是将两个玻璃合并之后从下表面反射的概率,从上表面反射的概率同理。那么我们就可以把两个玻璃合并起来。从上往下依次合并,就可以避免记录从上表面反射的概率。

代码

删数(线段树)

一个很巧妙的转化:考虑序列中的一个数\(x(x \leq N)\)如果它出现了\(p\)次,则覆盖区间\([x-p+1,x]\),那么答案相当于求\([1,N]\)内没有被覆盖的整点个数。

那么我们需要动态维护这个东西,支持单点修改、区间平移,直接用线段树维护。值得注意的一点是:当\(x>N\)的时候不能够产生贡献,区间平移的时候需要注意这一点。

代码

BJOI2019做题笔记的更多相关文章

  1. C语言程序设计做题笔记之C语言基础知识(下)

    C 语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行 事.并且C是相当灵活的,用于执行计算机程序能完成的 ...

  2. C语言程序设计做题笔记之C语言基础知识(上)

    C语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行事.并且C是相当灵活的,用于执行计算机程序能完成的几乎 ...

  3. SDOI2017 R1做题笔记

    SDOI2017 R1做题笔记 梦想还是要有的,万一哪天就做完了呢? 也就是说现在还没做完. 哈哈哈我竟然做完了-2019.3.29 20:30

  4. SDOI2014 R1做题笔记

    SDOI2014 R1做题笔记 经过很久很久的时间,shzr又做完了SDOI2014一轮的题目. 但是我不想写做题笔记(

  5. SDOI2016 R1做题笔记

    SDOI2016 R1做题笔记 经过很久很久的时间,shzr终于做完了SDOI2016一轮的题目. 其实没想到竟然是2016年的题目先做完,因为14年的六个题很早就做了四个了,但是后两个有点开不动.. ...

  6. LCT做题笔记

    最近几天打算认真复习LCT,毕竟以前只会板子.正好也可以学点新的用法,这里就用来写做题笔记吧.这个分类比较混乱,主要看感觉,不一定对: 维护森林的LCT 就是最普通,最一般那种的LCT啦.这类题目往往 ...

  7. java做题笔记

    java做题笔记 1. 初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序 ...

  8. SAM 做题笔记(各种技巧,持续更新,SA)

    SAM 感性瞎扯. 这里是 SAM 做题笔记. 本来是在一篇随笔里面,然后 Latex 太多加载不过来就分成了两篇. 标 * 的是推荐一做的题目. trick 是我总结的技巧. I. P3804 [模 ...

  9. PKUWC/SC 做题笔记

    去年不知道干了些啥,什么省选/营题都没做. 现在赶应该还来得及(?) 「PKUWC2018」Minimax Done 2019.12.04 9:38:55 线段树合并船新玩法??? \(O(n^2)\ ...

随机推荐

  1. PE知识复习之PE的绑定导入表

    PE知识复习之PE的绑定导入表 一丶简介 根据前几讲,我们已经熟悉了导入表结构.但是如果大家尝试过打印导入表的结构. INT IAT的时候. 会出现问题. PE在加载前 INT IAT表都指向一个名称 ...

  2. Linux 进程管理工具 supervisord 安装及使用

    Supervisor是用Python实现的一款非常实用的进程管理工具 1.安装过程非常简单 安装python 安装meld3-0.6.8.tar.gz 安装supervisor-3.0a12.tar. ...

  3. -1-6 java 异常简单介绍 java异常 异常体系 Throwable 分类 throws和throw 异常处理 自定义异常

      异常   异常:异常就是Java程序在运行过程中出现的错误. 异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象. 其实就是Java对不正常情况进行描述 ...

  4. CAN总线学习记录之二:系统结构与帧结构

    CAN总线系统结构 CAN 控制器  接收控制单元中微处理器发出的数据,处理数据并传给 CAN 收发器 CAN 收发器 将数据传到总线 or 从总线接收数据给 CAN 控制器 CAN 数据传递终端 避 ...

  5. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——SliderView控件的使用方式

    SliderView控件 一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个SliderView控件到窗体界面上 ...

  6. 第24章 退出 - Identity Server 4 中文文档(v1.0.0)

    注销IdentityServer就像删除身份验证cookie一样简单,但是为了完成联合注销,我们必须考虑将用户从客户端应用程序(甚至可能是上游身份提供者)中签名. 24.1 删除认证 要删除身份验证c ...

  7. [PHP] 抽象类abstract的回顾

    1.abstract定义为抽象的类不能被实例化. 2.它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的. 3.被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实 ...

  8. Eureka相关知识点

    本文讲述的是 Eureka server, 服务提供者.消费者的一些概念和配置说明. Eureka Server 服务注册中心 Eureka的高可用设计 Eureka侧重点是AP,高可用;Eureka ...

  9. 修改SublimeText3插件Emmet生成HTML中lang属性的默认值

    打开Preferences → Package Settings → Emmet → Settings-User,输入如下代码并保存: { "snippets": { " ...

  10. arcgis api 3.x for js 入门开发系列五地图态势标绘(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...