可能是 BJOI2019 Day1 题解?
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 题解?的更多相关文章
- THUSC2017 Day1题解
THUSC2017 Day1题解 巧克力 题目描述 "人生就像一盒巧克力,你永远不知道吃到的下一块是什么味道." 明明收到了一大块巧克力,里面有若干小块,排成n行m列.每一小块都有 ...
- 【NOIP2014】Day1题解+代码
Day1 T1 签到题,模拟一下随便写就能过. 不过小心像我一样表打错傻逼的调了10min. #include <algorithm> #include <iostream> ...
- ZJOI2019 Day1 题解
想要继续向前,就从克服内心的恐惧开始. 麻将 题意 在麻将中,我们称点数连续的三张牌或三张点数一样的成为面子,称两张点数一样的牌为对子.一副十四张麻将牌的胡牌条件是可以分成四个面子和一个对子或者分成七 ...
- Noip 2016 Day1 题解
老师让我们刷历年真题, 然后漫不经心的说了一句:“你们就先做做noip2016 day1 吧” ...... 我还能说什么,,,,,老师你这是明摆着伤害我们啊2333333333 预计分数:100+2 ...
- NOI 2016 Day1 题解
今天写了NOI2016Day1的题,来写一发题解. T2 网格 题目传送门 Description \(T\) 次询问,每次给出一个 \(n\times m\) 的传送门,上面有 \(c\) 个位置是 ...
- 十连测Day1 题解
A. 奥义商店 有一个商店,n个物品,每个物品有一个价格和一种颜色. 有m个操作,操作有两种,一种是修改一个位置的价格,另一种是购买,每次购买指定一个公差d和一个位置k,找到包含这个位置k公差为d的同 ...
- 【NOIP2013】DAY1题解+代码
T1 傻逼快速幂,敲敲就过了. 我跟你们讲个笑话当时我以为这个数据范围过不了于是想出了求GCD再推规律什么的magic方法中途还咨询了某个学长. 然后怎么想都是不可做. ……直到我发现我昨年的代码一个 ...
- NOIP 2018 day1 题解
今年noip的题和去年绝对是比较坑的题了,但是打好的话就算是普通水准也能350分以上吧. t1: 很显然这是一个简单的dp即可. #include<iostream> #include&l ...
- 【2018暑假集训模拟一】Day1题解
T1准确率 [题目描述] 你是一个骁勇善战.日刷百题的OIer. 今天你已经在你OJ 上提交了y 次,其中x次是正确的,这时,你的准确率是x/y.然而,你最喜欢一个在[0; 1] 中的有理数p/q(是 ...
随机推荐
- HIVE分组排序问题
答案: hive> select *,row_number() over (partition by product_no order by start_time desc) from tabl ...
- 配置spring boot 内置tomcat的accessLog日志
#配置内置tomcat的访问日志server.tomcat.accesslog.buffered=trueserver.tomcat.accesslog.directory=/home/hygw/lo ...
- python列表解析进阶
如果要获得一个(元素为整数的)列表里面的偶数,很容易想到列表解析: [i for i in nums if i%2==0] 但是如果要使列表的长度不变,让奇数用0来填充,可能你会直接写: [i for ...
- 尽量不要使用using namespace std
C++标准程序库中的所有标识符都被定义于一个名为std的namespace中. namespace是指标识符的各种可见范围.命名空间用关键字namespace 来定义.命名空间是C++的一种机制,用来 ...
- [mybatis]Mapper XML 文件——statementType
statementType:STATEMENT,PREPARED 或 CALLABLE(存储过程) 的一个.这会让 MyBatis 分别使用 Statement,PreparedStatement 或 ...
- pwm计时器
1 PWM timer定时器与(watchdog差不多)2 5个16位的定时器,独立的,其中,NO PIN 没有输出.16表示ffff,和ADC中10表示3FF一样.而寄存器都是32位.(以后6410 ...
- [oracle原]访问局域网内出现“ORA-12541:TNS:无监听程序”
近日在服务器局域网内27电脑上安装了oracle11g,本机上访问此数据库正常.但在局域网内其它机器上访问27上的数据库时,出现“ORA-12541:TNS:无监听程序”错误. 查27上的配置:D:\ ...
- Lua学习笔记2. lua变量和 循环
1. lua中变量的作用域有三种:全局,局部,表中的域 需要注意的是默认的变量都是全局变量,必须声明为local的变量才是局部变量,即使是在函数里面没有使用local修饰的变量依然是全局变量!!!! ...
- 【Raspberry Pi】 小问题汇总
注: 此系列为自己之前所搭建网站内容. 目前入手树莓派2,将遇到的一些琐碎的问题记录在此. 1. 更改时区 查看日期命令:date 输入sudo dpkg-reconfigure tzdata后按提示 ...
- zen cart 空白页面的解决方案
在安装zen cart 这套CMS时, 有时候会由于修改了某些页面或者是由于环境的某些组件的版本问题导致前台页面出现空白页, 由于在空白页面处没有任何提示, 并且在日志中也没有这样的出错提示, 导致在 ...