T1

给一个有空白字符的串 $S$,和若干模板串 $X_i$,初始 $Ans = 1$,每当一个模板串在 $S$ 中作为子串出现时,$Ans$ 会乘以 $X_i$ 的权值 $Val_i$,然后如果 $S$ 中出现了 $k$ 次模板串(相同串出现两次算两次),贡献就是 $^k \sqrt{Ans}$,你要在空白字符处任意填入字符,最大化贡献

$\sum |X| \leq 1500, n \leq 1500$

sol:

首先,你要求几何平均数,然后你发现没法求

然后,你发现这是个经典问题,把所有数取个 log,然后几何平均数就变成了算术平均数

然后,最大化算术平均数,那就是分数规划

A 了这题就能翻到队线以上...可惜我没有

T2

令 $f_n$ 为用 $1\times 2$ 的骨牌拼 $2 \times n$ 方格的方案数,$g_n$ 为用 $1 \times 2$ 的骨牌拼 $3 \times n$ 方格的方案数,问你 $\sum\limits_{i=l}^r \binom{f_i}{k}$ 和 $\sum\limits_{i=l}^r \binom{g_i}{k}$,膜998244353

$k \leq 1500,l,r \leq 10^{18}$

sol:

打表找规律发现 $f$ 是斐波那契数列,$g_{2n+1} = 0$,$g_{2n} = 4\times g_{2n-2} - g_{2n-4}$

发现 $k$ 是给定的,于是只需要求斐波那契数列的下降幂

下降幂可以用带符号第一类斯特林数转换成幂

现在就是要求斐波那契数列的幂之和

然后发现这是个经典问题(为什么这么多我没学过的经典问题啊)

考虑斐波那契数列的特征方程,令它的两个特征根为 $A,B$(是两个带有 $\sqrt{5}$ 的分数,懒得打了)

然后发现 $F_n^k = \frac{1}{(\sqrt{5})^k} \times (A^n - B^n)^k$

把后面那个东西二项式定理展开

会发现相同的$(-1)^j \times \binom{k}{j}$ 的系数是一个等比数列,记 $D=A^{k-j} \times B^{j}$

则对于 $j$ 来说它的系数是 $\frac{D \times (D^n - 1)}{D-1}$

枚举 $j$ 计算即可

但比较蛋疼的是 5 在模 998244353 意义下没有二次剩余,扩域即可

然后发现这个特征方程的做法并不依赖于斐波那契数列,只要它是个由前两项递推过来的递推式就可以了

后面那个东西只看偶数项就是个递推式,那就...同样的方法做就可以了,值得注意的是,3 在模 998244353 意义下依然没有逆元,跟 5 的处理方法一样

(所以为什么不模 $10^9+9$

T3

有一个迷宫,有一些墙,你可以加入墙,删除墙,或者询问在一个点一直用左手扶墙走到另一个点的距离

$n \leq 500,q \leq 10^5$

sol:标程 7KB

大概就是你要维护一些环,支持合并,分裂,查询环上只能逆时针走从 $A$ 到 $B$ 的距离

这个东西用平衡树按顺序维护一下就可以了

一次合并/分裂可以转化成两次 split/merge

可能是 BJOI2019 Day1 题解?的更多相关文章

  1. THUSC2017 Day1题解

    THUSC2017 Day1题解 巧克力 题目描述 "人生就像一盒巧克力,你永远不知道吃到的下一块是什么味道." 明明收到了一大块巧克力,里面有若干小块,排成n行m列.每一小块都有 ...

  2. 【NOIP2014】Day1题解+代码

    Day1 T1 签到题,模拟一下随便写就能过. 不过小心像我一样表打错傻逼的调了10min. #include <algorithm> #include <iostream> ...

  3. ZJOI2019 Day1 题解

    想要继续向前,就从克服内心的恐惧开始. 麻将 题意 在麻将中,我们称点数连续的三张牌或三张点数一样的成为面子,称两张点数一样的牌为对子.一副十四张麻将牌的胡牌条件是可以分成四个面子和一个对子或者分成七 ...

  4. Noip 2016 Day1 题解

    老师让我们刷历年真题, 然后漫不经心的说了一句:“你们就先做做noip2016 day1 吧” ...... 我还能说什么,,,,,老师你这是明摆着伤害我们啊2333333333 预计分数:100+2 ...

  5. NOI 2016 Day1 题解

    今天写了NOI2016Day1的题,来写一发题解. T2 网格 题目传送门 Description \(T\) 次询问,每次给出一个 \(n\times m\) 的传送门,上面有 \(c\) 个位置是 ...

  6. 十连测Day1 题解

    A. 奥义商店 有一个商店,n个物品,每个物品有一个价格和一种颜色. 有m个操作,操作有两种,一种是修改一个位置的价格,另一种是购买,每次购买指定一个公差d和一个位置k,找到包含这个位置k公差为d的同 ...

  7. 【NOIP2013】DAY1题解+代码

    T1 傻逼快速幂,敲敲就过了. 我跟你们讲个笑话当时我以为这个数据范围过不了于是想出了求GCD再推规律什么的magic方法中途还咨询了某个学长. 然后怎么想都是不可做. ……直到我发现我昨年的代码一个 ...

  8. NOIP 2018 day1 题解

    今年noip的题和去年绝对是比较坑的题了,但是打好的话就算是普通水准也能350分以上吧. t1: 很显然这是一个简单的dp即可. #include<iostream> #include&l ...

  9. 【2018暑假集训模拟一】Day1题解

    T1准确率 [题目描述] 你是一个骁勇善战.日刷百题的OIer. 今天你已经在你OJ 上提交了y 次,其中x次是正确的,这时,你的准确率是x/y.然而,你最喜欢一个在[0; 1] 中的有理数p/q(是 ...

随机推荐

  1. UVa 11324 最大团(强连通分量缩点)

    https://vjudge.net/problem/UVA-11324 题意:给一张有向图G,求一个结点数最大的结点集,使得该结点集中任意两个结点u和v满足,要么u可以到达v,要么v可以达到u. 思 ...

  2. UVa 11768 格点判定(扩展欧几里得求线段整点)

    https://vjudge.net/problem/UVA-11768 题意: 给定两个点A(x1,y1)和B(x2,y2),均为0.1的整数倍.统计选段AB穿过多少个整点. 思路: 做了这道题之后 ...

  3. 简单的使用hibernate插入数据的例子

    数据库创建脚本: drop table person create table person( id          varchar(32)         not null primary key ...

  4. javascript模块化编写

    目录: 1. 开篇语 2. 对象形式写法 3. 立即执行函数写法 4. prototype写法 5. 总结 1. 开篇语 现在我们写代码不再是一个人包办所有的活儿,都是在多人合作的情况下完成的.我们只 ...

  5. Django框架学习笔记(windows环境下安装)

    博主最近开始学习主流框架django 网上大部分的安装环境都linux的 由于博主在windows环境下已经有了 Pycharm编辑器 ,所以决定还是继续在windows环境下学习 首先是下载 链接 ...

  6. 使用python编写微信跳一跳的自动脚本

    实现思路: 调用adb命令,截图 寻找小小人的底部中心点role(从下到上扫描,直到找到小小人相同像素的点,至于小小人像素点rgb是什么,可以使用photoshop查看) 寻找棋盘最高点top,然后寻 ...

  7. Oracle登录被拒绝; 权限不足或用户名/口令无效

    第一步: 打开CMD命令窗,输入如下命令:sqlplus "/as sysdba",回车 第二步: 输入命令:alter user sys identified by Orcl12 ...

  8. fis 前端构建工具

    1.http://fis.baidu.com/ (前端构建工具)

  9. Hibernate所用15个jar包

    Hbernate3.jar-------------------核心包antlr.jar----------------------------语言转换工具,hibernate用他将hql语句转换为s ...

  10. iOS-如何写好一个UITableView

    如何写好一个UITableView 字数5787 阅读3745 评论25 喜欢69 本文是直播分享的简单文字整理,直播共分为上.下两部分.第一部分:优酷 Or YouTube,第二部分:优酷 Demo ...