BJOI做题记录
BJOI做题记录
终于想起还要做一下历年省选题了2333
然而咕了的还是比做了的多2333
LOJ #2178. 「BJOI2017」机动训练
咕了。
LOJ #2179. 「BJOI2017」树的难题
啥也不会,暴力点分治。
点分治的时候只有相同颜色的链合并到一起的时候会出事。
一开始以为权值非负,于是胡了个假做法……
把边按颜色排序,每次处理一整段的相同颜色,分两棵线段树维护其他颜色/当前颜色的最大权值,然后就没了。
单调队列神仙做法不会……
LOJ #2180. 「BJOI2017」魔法咒语
L小的时候暴力,大的时候矩阵快速幂。
代码咕了。
LOJ #2492. 「BJOI2018」二进制
仔细分析,发现只有当
- 只有一个1,若干个0。
- 奇数个1且没有0。
- 奇数个1且只有一个0。
的时候不合法。
对于第一种,在1处统计。
对于第二种,对每一段连续的1统计。
对于第三种,在0处统计。
以上纯属口胡,因为代码咕了。
LOJ #2511. 「BJOI2018」双人猜数游戏
咕了。
LOJ #2493. 「BJOI2018」染色
首先不是二分图的东西肯定可以被搞掉。
然后样例已经给了我们一种叉二分图的方法。总结一下就是:用一个环可以强制某个节点选某种颜色。
于是我们可以发现如果一个连通块内有两个不相交的环那么一定会被叉掉。
然后如果连通块内\(m\le n\),那么显然不能被叉掉。
然后如果一个连通块内\(m\ge n+2\),那么有一种把它叉掉的方法:

于是就只剩\(m=n+1\)的情况了。此时可以抽象成两个度数为3的点,它们之间有三条路径。
手画一下可以发现长度\((1,3,3),(2,4,4)\)的时候是可以被叉掉的,而长度更长的时候多半也是可以被叉的。
你发现别的都不怎么能被叉掉了,而“别的”就只剩\((2,2,偶数)\)了,就做完了。
LOJ #2491. 「BJOI2018」求和
树上差分。
LOJ #2513. 「BJOI2018」治疗之雨
预处理出一轮之后掉\(i\)点血的概率,\(i\in [-1,n]\)。
设\(dp_i\)表示\(i\)滴血时期望轮数,于是这只会和\([0,i+1]\)的\(dp\)值有关。
于是\(O(n^2)\)推出\(dp_n=k_1\times dp_1+b_1=k_2\times dp_1+b_2\)之后解方程即可。
代码咕了。
LOJ #2512. 「BJOI2018」链上二次求和
设\(S_i\)表示原序列前缀和,\(SS_i\)表示前缀和的前缀和。
\[
\begin{align*}
ans&=\sum_{i=l}^r \sum_{j=i}^n (S_j-S_{j-i})\\
&=(r-l+1)SS_n-\sum_{i=l-1}^{r-1} SS_i-\sum_{i=n-r}^{n-l}SS_i
\end{align*}
\]
问题转化为维护\(SS_i\),显然可以线段树。
LOJ #3093. 「BJOI2019」光线
设\(f_i,g_i\)分别表示从左往右/从右往左打在这块玻璃上,最后到终点的光线。
容易发现这两个只和\(f_{i+1},g_{i-1}\)有关。
于是从右往左递推解方程即可。可能是因为数据随机不会出现解不出的情况。
LOJ #3094. 「BJOI2019」删数
一个结论:对于\(i\)和\(i\)出现的次数\(cnt_i\),我们把\([i-cnt_i+1,i]\)铺上线段,那么最终答案就是\([1,n]\)没有被铺上的长度。证明显然?
维护\([1,n]\)的0的位置个数,那么单点修改就是单点修改,整体修改就是把\([1,n]\)这个区间左右移动。
代码咕了。
LOJ #3090. 「BJOI2019」勘破神机
对于\(m=2\),\(f_n\)表示长度为\(n\)的序列的方案数,那么\(f_n\)就是斐波那契数列。
对于\({f_n\choose k}\),可以用斯特林数把它转化成\(f_n^k\)求前缀和。我们想起(然而我就是想不起)斐波那契数列有通项公式,于是大力二项式展开即可。
对于\(m=3\),\(f_n\)表示长度为\(2n\)的序列的方案数,那么\(f_n\)就是&%*&%¥&*(……
推一推,\(f_n=f_{n-1}+2\sum_{i=1}^n f_{n-i}\),差分一下算出\(f_n=4f_{n-1}-f_{n-2}\)。
同样搞出通项公式就没了。
LOJ #3089. 「BJOI2019」奥术神杖
如果我没记错的话就是分数规划+AC自动机就没了。
LOJ #3092. 「BJOI2019」排兵布阵
对于每一个城堡处理出放\(i\)个兵能获得多少钱,显然有用的是\(O(s)\)的。
然后大力背包即可。由于保证\(\sum a_i\le m\)可以假装复杂度正确?
LOJ #3091. 「BJOI2019」送别
咕了。
BJOI做题记录的更多相关文章
- UOJ 做题记录
UOJ 做题记录 其实我这么弱> >根本不会做题呢> > #21. [UR #1]缩进优化 其实想想还是一道非常丝播的题目呢> > 直接对于每个缩进长度统计一遍就好 ...
- project euler做题记录
ProjectEuler_做题记录 简单记录一下. problem 441 The inverse summation of coprime couples 神仙题.考虑答案为: \[\begin{a ...
- Sam做题记录
Sam做题记录 Hihocoder 后缀自动机二·重复旋律5 求一个串中本质不同的子串数 显然,答案是 \(\sum len[i]-len[fa[i]]\) Hihocoder 后缀自动机三·重复旋律 ...
- 退役IV次后做题记录
退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车 ...
- 退役III次后做题记录(扯淡)
退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计 ...
- 退役II次后做题记录
退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) ...
- FJOI2017前做题记录
FJOI2017前做题记录 2017-04-15 [ZJOI2017] 树状数组 问题转化后,变成区间随机将一个数异或一,询问两个位置的值相等的概率.(注意特判询问有一个区间的左端点为1的情况,因为题 ...
- [日记&做题记录]-Noip2016提高组复赛 倒数十天
写这篇博客的时候有点激动 为了让自己不颓 还是写写日记 存存模板 Nov.8 2016 今天早上买了两个蛋挞 吃了一个 然后就做数论(前天晚上还是想放弃数论 但是昨天被数论虐了 woc noip模拟赛 ...
- noip做题记录+挑战一句话题解?
因为灵巧实在太弱辽不得不做点noip续下命QQAQQQ 2018 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( ...
随机推荐
- Asp.net MVC 之ActionResult
ActionResult 派生出以下子类: ViewResult 返回一个网页视图 PartialViewResult 返回一个网页视图,但不适用布局页. ContentResult 返回一段字符串文 ...
- 读取txt文件的数据,并将其转换为矩阵
import numpy as nppath_txt_data = 'C:/Users/51102/Desktop/my_yolo/data/box/train.txt'def input_data( ...
- ssm(spring+springmvc+mybatis)整合之环境配置
1-1.导包 导入SpringMVC.Spring.MyBatis.mybatis-spring.mysql.druid.json.上传和下载.验证的包 1-2.创建并配置web.xml文件 配置sp ...
- 又一个秘密如何让浏览器访问最新的js,css等外部引用
在引用文件末尾加上一个参数,让浏览器知道这个文件跟上一个文件是不同的,让浏览器去服务器重新加载最新的,例如:<script type="text/javascript" sr ...
- mouseover和mouseenter两个事件的区别
mouseover(鼠标覆盖) mouseenter(鼠标进入) 二者的本质区别在于,mouseenter不会冒泡,简单的说,它不会被它本身的子元素的状态影响到.但是mouseover就会被它的子元素 ...
- Koa2 和 Express 中间件对比
koa2 中间件 koa2的中间件是通过 async await 实现的,中间件执行顺序是"洋葱圈"模型. 中间件之间通过next函数联系,当一个中间件调用 next() 后,会将 ...
- Trunk 实现跨交换机 VLAN 通信
当网络中有多台交换机时,位于不同交换机上的相同VLAN的主机之间时如何通信的呢?我们使用Trunk实现跨交换机VLAN通信.还有以太网通道的操作哦. 实验拓扑 两台交换机直连,每台下面再连接两台VPC ...
- 一个.Net的混淆防反编译工具ConfuserEx
给大家推荐一个.Net的混淆防反编译工具ConfuserEx. 由于项目中要用到.Net的混淆防反编译工具. 在网上找了很多.Net混淆或混淆防反编译工具,如.NET Reactor.Dotfusca ...
- mysql考生号后三位对出密号
select mihao,substring(t1.kaohao, -3) from t_zhaosheng_zhiyuan as t1 where substring(t1.kaohao, -3) ...
- keepalived日志显示脚本能执行成功,但是amoeba程序没启动起来,单独执行脚本amoeba能启动成功,放到keepalived里面启动不起来
keepalived日志如图: 解决:keepalived还有crontab等计划任务自动执行脚本,并不会有本地用户的环境变量,需要在脚本里面加 . /etc/profile 引入本地用户的环境变量