可能是 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(是 ...
随机推荐
- Spark 基于物品的协同过滤算法实现
J由于 Spark MLlib 中协同过滤算法只提供了基于模型的协同过滤算法,在网上也没有找到有很好的实现,所以尝试自己实现基于物品的协同过滤算法(使用余弦相似度距离) 算法介绍 基于物品的协同过滤算 ...
- 数组中的k个最小值
问题:输入n个整数,找出其中最小的k个数. 方案一:将输入的n个整数进行排序,输出前k个数即为所求的k个最小数.时间复杂度为O(nlogn). 方案二:创建一个大小为k的容器,来存储最小的k个数.遍历 ...
- 【程序员笔试面试必会——排序②】Python实现 计数排序、基数排序
一.计数排序 概要: 时间复杂度O(n),空间复杂度O(k),k是输入序列的值的范围(最大值-最小值),是稳定的.计数排序一般用于已知输入值的范围相对较小,比如给公司员工的身高体重信息排序. 思路: ...
- HDU - 5988The 2016 ACM-ICPC Asia Qingdao Regional ContestG - Coding Contest 最小费用流
很巧妙的建边方式 题意:有n个区域,每个区域有一些人数si和食物bi,区域之间有m条定向路径,每条路径有人数通过上限ci.路径之间铺了电线,每当有人通过路径时有pi的概率会触碰到电线,但是第一个通过的 ...
- 数论基础算法总结(python版)
/* Author: wsnpyo Update Date: 2014-11-16 Algorithm: 快速幂/Fermat, Solovay_Stassen, Miller-Rabin素性检验/E ...
- 【转】linux 新建用户、用户组 以及为新用户分配权限
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...
- Spring入门5.事务管理机制
Spring入门5.事务管理机制 20131126 代码下载 : 链接: http://pan.baidu.com/s/1kYc6c 密码: 233t 回顾之前的知识,Spring 最为核心的两个部分 ...
- SQL 二进制和字符互转
1.二进制转为字符串 ALTER function varbin2hexstr( ) )) as begin ),@i int select @re='',@i=datalength(@bin) ), ...
- 用U盘安装ubuntu
用U盘安装操作系统,并不鲜见,对于Windows,可以用大白菜安装XP.Win7等,本质上是在U盘上安装一个小型的windows(WinPE),然后利用ghost一键还原技术,把U盘中的XP.gho( ...
- 公客网beta阶段发布说明
项目 公客 公正客观的课程评价网站 功能说明 评价的增删改 对课程发表评价 限制评价次数(3次),删除与增量修改评价 评价下的讨论与点赞 在评价下添加讨论,支持在讨论中使用@与对方交流想法 为评价点赞 ...