魍魉的小窝


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

洛谷P3943 星空

发表于 2018-07-27 | 分类于 OI
字数统计: 562 | 阅读时长 ≈ 3

看题解系列

首先是异或差分(其实我也不知道叫什么)
定义f 为异或数组

表示 与 是否相同
f 数组中至多有 个 1 ,且肯定是偶数个
当f 数组全部为0 时,灯全部点亮
对于一段连续序列进行翻转,显然只需要修改,
这个操作等价于对某个元素进行移动
当两个1 相遇时会消除
于是问题等价于求所有1 消除的代价
对于任意两个1 消除的代价,可用完全背包求
将长度为len 的操作看成len 和-len 两种
最后状压所有1

乍一看枚举i ,j 复杂度
但实际上其中一个并不用枚举,确定任意一个i 之后枚举j 即可
因此复杂度

阅读全文 »

Lucas定理

发表于 2018-07-26 | 分类于 OI
字数统计: 240 | 阅读时长 ≈ 1

证明省略

阅读全文 »

拉格朗日插值法

发表于 2018-07-26 | 分类于 OI
字数统计: 460 | 阅读时长 ≈ 2

$n+1$个点可以唯一确定一个$n$次的多项式
当然可以用高斯消元解,但复杂度是$O\left ( n^{3} \right )$的
这里引入拉格朗日插值法

拉格朗日插值法

对于$x_{i}$,假设有多项式$\ell_{i}$

则

不难得出

即该多项式经过所有$n+1$个点

考虑如何构造$\ell_{i}\left ( x \right )$
显然如下构造可行

对于每个$x_{j}\left ( i\neq j \right )$,分子中都会出现$0$
而将$x_{i}$带入时,分子分母完全相同

化简可得

单次求值复杂度$O\left ( n^{2} \right )$

重心拉格朗日插值法

不难发现$\ell_{i}\left ( x \right )$有重复计算部分
设

不难得到

化简可得

单次求值复杂度还是$O\left ( n^{2} \right )$
当动态加入点时,一般拉格朗日插值法需要$O\left ( n^{2} \right )$重新计算,而重心拉格朗日插值法只需$O\left ( n \right )$计算一遍$w_{i}$

阅读全文 »

洛谷P4755 Beautiful Pair

发表于 2018-07-26 | 分类于 OI
字数统计: 600 | 阅读时长 ≈ 3

对于一个的区间
若其中最大值位置为k
所有可行解可以分为三类

  • i,j 在k 的两边
  • i,k 或者k,j
  • 区间内

对于最后一种递归计算即可

对于第二种只需统计1 的个数

对于第一种
若均已升序排序
枚举其中一个区间
则另一个区间中可以匹配的元素单调递减
因此可以在线性时间内完成统计
至于怎么对进行排序,归并即可

最优复杂度
然而只要一组升序的数据就能卡成

阅读全文 »

洛谷P1613 跑路

发表于 2018-07-26 | 分类于 OI
字数统计: 314 | 阅读时长 ≈ 2

很巧妙的一道题

设为u 到v 之间是否存在长度为的路

设为u 到v 需要的时间

最后跑一遍Floyd 即可

阅读全文 »

[NOIP2012]国王游戏

发表于 2018-07-26 | 分类于 OI
字数统计: 134 | 阅读时长 ≈ 1

考虑第i 个和第i+1 个位置

交换之后则为

其他人的并没有改变
提取pre

同乘

L,R 均为正整数

因此将较小的放在前面更优

人生苦短,我用Python

阅读全文 »

POJ2411 Mondriaan's Dream

发表于 2018-07-22 | 分类于 OI
字数统计: 278 | 阅读时长 ≈ 2

经典的状压DP题,解法很多
这里讲下状压轮廓线的做法
Mtrx
s 从大到小保存
若,必须要竖放一个
否则可以横放也可以不放

阅读全文 »

[ZJOI2012]灾难

发表于 2018-07-22 | 分类于 OI
字数统计: 484 | 阅读时长 ≈ 3

支配树的证明我意会了一下,并不会证
这里稍微理一下DAG中支配树的构造

  • 拓扑排序
  • 对于每个点,求其所有入边的LCA,将其作为LCA的儿子
阅读全文 »

[NOI2005]聪聪与可可

发表于 2018-07-22 | 分类于 OI
字数统计: 520 | 阅读时长 ≈ 3

首先预处理出可可在点s ,聪聪在点i 时,聪聪的下一步
对每个s 做一遍单源最短路,枚举所有点i 的出边,选择其中距离较短且序号较小的点作为下一步
设为聪聪在点u 可可在点v 的期望步数

  • u=v ,
  • 当前回合能抓到,
  • 其他情况
    设x 为聪聪下一步

记忆优化搜索即可

阅读全文 »

[SCOI2005]最大子矩阵

发表于 2018-07-22 | 分类于 OI
字数统计: 714 | 阅读时长 ≈ 4

观察到m 比较小
考虑记录每行所有状态

  • m=1
    dp 数组记录第i 行,放了j 个,当前行放1 不放0

  • m=2
    0 表示两格均不放
    1 表示放左边
    2 表示放右边
    3 表示两格均有,且为两格个矩形
    4 表示两格均有,且为一个矩形
    转移方程因为空间问题(懒),请看代码

阅读全文 »
1…567…12
CWHer

CWHer

OIer/ACGN

120 日志
1 分类
58 标签
RSS
GitHub ZhiHu
Links
  • 洛谷
© 2018 | CWHer
本站访客数:
|
博客全站共54.4k字