03 2019 档案

摘要:P3813 [FJOI2017]矩阵填数 shadowice1984说:看到计数想容斥........ 这题中,我们把图分成若干块,每块的最大值域不同 蓝后根据乘法原理把每块的方案数(互不相干)相乘。 怎么计算每块方案数呢 把子矩阵按最大值从小到大排序 暴力预处理好每$k(1<=k<=n)$个矩阵之 阅读全文
posted @ 2019-03-31 16:45 kafuuchino 阅读(227) 评论(0) 推荐(0)
摘要:P2147 [SDOI2008]洞穴勘测 裸的LCT。 阅读全文
posted @ 2019-03-31 14:43 kafuuchino 阅读(148) 评论(0) 推荐(0)
摘要:P3924 康娜的线段树 看起来$O(nlogn)$可过其实由于巨大常数是无法通过的 $O(nlogn)$:70pts 我们手玩样例发现 线段树上某个节点的期望值$f[o]=(f[lc]+f[rc])/2+sum[o]$ $s[o]$表示该节点代表的区间和。 每次$Add(l,r,x)$时,每个x对 阅读全文
posted @ 2019-03-29 23:47 kafuuchino 阅读(177) 评论(0) 推荐(0)
摘要:P1297 [国家集训队]单选错位 期望入门 我们考虑涂到第$i$道题时的情况 此时题$i$答案有$a[i]$种,我们可能涂$a[i+1]$种 分类讨论: 1.$a[i]>=a[i+1]$: 可能涂到答案的概率为$(a[i+1]/a[i])*(1/a[i+1])=1/a[i]$,贡献为1 没涂到的概 阅读全文
posted @ 2019-03-28 21:12 kafuuchino 阅读(149) 评论(0) 推荐(0)
摘要:P3317 [SDOI2014]重建 详情看这位神犇的blog 剩下的注释在code里吧....... 阅读全文
posted @ 2019-03-28 18:45 kafuuchino 阅读(135) 评论(0) 推荐(0)
摘要:P2221 [HAOI2012]高速公路 显然答案为 $\dfrac{\sum_{i=l}^r\sum_{j=l}^{r}dis[i][j]}{C_{r-l+1}^2}$ 下面倒是挺好算,组合数瞎搞 上面咋算呢 先考虑每条边被算上的次数$ans = \sum_{i=l}^{r}a[i]*(r-i+1 阅读全文
posted @ 2019-03-27 20:01 kafuuchino 阅读(294) 评论(0) 推荐(1)
摘要:P2473 [SCOI2008]奖励关 $n<=15$,显然的状压 设$f[i][w]$表示前$i$轮,状态$w$的最大期望 蓝后我们发现一个问题:$f[i][w]$可能是非法的 于是我们从$f[i][w]$转移到$f[i][w|(1<<j)]$时可能会GG 那咋办鸭 试试逆推 设$f[i][w]$ 阅读全文
posted @ 2019-03-27 16:27 kafuuchino 阅读(98) 评论(0) 推荐(0)
摘要:P3302 [SDOI2013]森林 主席树+启发式合并 (我以前的主席树板子是错的.......坑了我老久TAT) 第k小问题显然是主席树。 我们对每个点维护一棵包含其子树所有节点的主席树 询问(x,y)的时候用倍增找到(x,y)的lca,蓝后树上差分一下,即: $total_{size}=sum 阅读全文
posted @ 2019-03-27 15:20 kafuuchino 阅读(153) 评论(0) 推荐(0)
摘要:P3168 [CQOI2015]任务查询系统 看到第k小,就是主席树辣 对于每一段任务(a,b,k),在版本a的主席树+k,版本b+1的主席树-k 同一时间可能有多次修改,所以开个vector存操作,再开个数组ti[p]保存时间点p最终的版本号 注意long long 阅读全文
posted @ 2019-03-26 19:33 kafuuchino 阅读(118) 评论(0) 推荐(0)
摘要:P2219 [HAOI2007]修筑绿化带 二维单调队列 写了这题 P2216 [HAOI2007]理想的正方形 后,你发现可以搞个二维单调队列 来保存矩形(i+1,i+A-1)(j+1,j+B-1)内矩形C*D的最小值 具体怎么搞呢 先搞出二维前缀和 蓝后先按$x$轴跑一遍单调队列,再按$y$轴跑 阅读全文
posted @ 2019-03-26 18:44 kafuuchino 阅读(160) 评论(0) 推荐(0)
摘要:P1903 [国家集训队]数颜色 / 维护队列 带修改的莫队 在原有指针$(l,r)$上又添加了时间指针$t$ 贴一段dalao的解释 带修改的莫队,和原版莫队相比,多了一个时间轴 原版莫队是将区间(l,r)视为点(l,r),带修改的即加一维时间轴(l,r,t) 对于t轴的移动可以保存每次修改,如果 阅读全文
posted @ 2019-03-25 19:54 kafuuchino 阅读(279) 评论(0) 推荐(0)
摘要:P2709 小B的询问 莫队模板 资磁离线询问 维护两个跳来跳去的指针 先分块,蓝后询问按块排序。 蓝后每次指针左右横跳更新答案 阅读全文
posted @ 2019-03-24 22:14 kafuuchino 阅读(157) 评论(0) 推荐(0)
摘要:P3380 【模板】二逼平衡树(树套树) 前置芝士 P3369 【模板】普通平衡树 线段树套平衡树 这里写的是线段树+splay(不吸氧竟然卡过了) 对线段树的每个节点都维护一颗平衡树 每次把给定区间内 线段树上节点维护的平衡树的信息 查询一遍就好辣 $opt2$:每次二分一个答案k,蓝后用$opt 阅读全文
posted @ 2019-03-24 22:14 kafuuchino 阅读(209) 评论(0) 推荐(0)
摘要:P3369 【模板】普通平衡树 就是不用treap splay板子,好好背吧TAT 阅读全文
posted @ 2019-03-24 21:23 kafuuchino 阅读(216) 评论(0) 推荐(0)
摘要:P3157 [CQOI2011]动态逆序对 树状数组套线段树 静态逆序对咋做?树状数组(别管归并QWQ) 然鹅动态的咋做? 我们考虑每次删除一个元素。 减去的就是与这个元素有关的逆序对数,介个可以预处理:从左到右求一次,再倒过来求一次,用2个数组存起来。 但是前面已经删除的元素与当前删除元素组成的逆 阅读全文
posted @ 2019-03-24 18:21 kafuuchino 阅读(212) 评论(0) 推荐(0)
摘要:P2564 [SCOI2009]生日礼物 三个字。尺取法......... 坐标按x轴排序。 蓝后尺取一下.......... 阅读全文
posted @ 2019-03-23 16:15 kafuuchino 阅读(197) 评论(0) 推荐(0)
摘要:P2698 [USACO12MAR]花盆Flowerpot 一看标签........十分后悔 标签告诉你单调队列+二分了............ 每次二分花盆长度,蓝后开2个单调队列维护最大最小值 蓝后就是code了 阅读全文
posted @ 2019-03-22 21:35 kafuuchino 阅读(212) 评论(0) 推荐(0)
摘要:P2801 教主的魔法 区间加法,区间查询 显然就是分块辣 维护一个按块排好序的数组。 每次修改依然是整块打标记,零散块暴力。蓝后对零散块重新排序。 询问时整块二分,零散块暴力就好辣 注意细节挺多和边界问题TAT 阅读全文
posted @ 2019-03-22 20:38 kafuuchino 阅读(158) 评论(0) 推荐(0)
摘要:P2765 魔术球问题 贪心模拟就可以过.........好像和dinic没啥关系 找找规律发现可以贪心放。n又灰常小。 设答案=m 你可以$O(mn)$直接模拟过去 闲的慌得话可以像我用个$set$维护 复杂度可以降为$O(mlogn)$ 网络流.....不会写(逃 口胡一下dinic 一个点$u 阅读全文
posted @ 2019-03-22 17:03 kafuuchino 阅读(204) 评论(0) 推荐(0)
摘要:P2763 试题库问题 dinic 搞个虚拟源点和汇点,瞎建建边就好辣。 偷张图↓↓ 如果没满流就是无解辣 输出方案咋办呢? 枚举每种类型,蓝后枚举它们的边 如果该边被使用了(通过判断反向边的流量),且连接的另一点不是汇点 那么就找到一个被用的题了。 阅读全文
posted @ 2019-03-21 22:30 kafuuchino 阅读(198) 评论(0) 推荐(0)
摘要:P2634 [国家集训队]聪聪可可 淀粉质点分治板子 边权直接 mod 3 直接点分治统计出所有的符合条件的点对再和总方案数约分 至于约分.....gcd搞搞就好辣 阅读全文
posted @ 2019-03-21 20:54 kafuuchino 阅读(124) 评论(0) 推荐(0)
摘要:P2387 [NOI2014]魔法森林 LCT边权维护经典题 咋维护呢?边化为点,边权变点权。 本题中我们把边对关键字A进行排序,动态维护关键字B的最小生成树 加边后出现环咋办? splay维护最大边的编号,找到最大边删除再加新边就ok辣 #include<cstdio> #include<algo 阅读全文
posted @ 2019-03-21 19:46 kafuuchino 阅读(175) 评论(0) 推荐(0)
摘要:P3203 [HNOI2010]弹飞绵羊 LCT板子 用一个$p[i]$数组维护每个点指向的下个点。 每次修改时cut*1+link*1就解决了 被弹出界时新设一个点,权为0,作为终点表示出界点。其他点点权为1。 然后统计一下路径就好辣 注意点的编号从0开始 阅读全文
posted @ 2019-03-20 20:56 kafuuchino 阅读(164) 评论(0) 推荐(0)
摘要:P2590 [ZJOI2008]树的统计 虽然是入门树剖模板 但是我终于1A了(大哭) 懒得写啥了(逃 阅读全文
posted @ 2019-03-19 20:58 kafuuchino 阅读(132) 评论(0) 推荐(0)
摘要:#193. 「2019冬令营提高组」堆 但是每个点都遍历一遍,有些点的子树完全相同却重复算了 忽然记起完全二叉树的性质之一:每个非叶节点的子树中至少有一个是满二叉树 那么我们预处理满二叉树的那一块,剩下的dfs就可以辣 求阶乘.......分块打表 设打表分成$k$段,则复杂度$O(logn+n/k 阅读全文
posted @ 2019-03-17 22:29 kafuuchino 阅读(249) 评论(0) 推荐(0)
摘要:#194. 「2019冬令营提高组」密文 设$s[i]$表示前$i$个密文的异或和 容易发现,只要知道$s[0]~s[n](s[0]=0)$就可以知道每一位的值。 转化一下,就变成了在完全图上求最小生成树,边权是$[l,r]$段的异或和 然鹅数据范围太大了...... 但是边权是特殊的异或和! 于是 阅读全文
posted @ 2019-03-17 22:18 kafuuchino 阅读(286) 评论(0) 推荐(0)
摘要:P3806 【模板】点分治1 Q:多次询问(可离线)树上距离为k的点对是否存在 A:淀粉质点分治 复杂度:$O(nlogn)$ 对于每次分治,我们先找到这棵(子)树的重心$rt$ 我们发现,每次询问可分为2种情况。 1.距离为$k$的两个点之间的路径经过$rt$ 2.两个点都在这棵(子)树的子树上 阅读全文
posted @ 2019-03-16 19:28 kafuuchino 阅读(211) 评论(0) 推荐(0)
摘要:P3366 【模板】最小生成树 boruvka/sollin 复杂度$O((m+n)logn)$ 简要说明一下过程 引入一个数组$link[i]$表示连通块$i$下一步可更新的最短的边的编号 1.每次枚举所有边,如果边连接的2个点$(u,v)$不属于同连通块,那么更新$link[find(u)],l 阅读全文
posted @ 2019-03-15 20:28 kafuuchino 阅读(298) 评论(0) 推荐(0)
摘要:#187. 「2019冬令营提高组」循环流 假的网络流,其实是O(1)算法 手画n个图后,你会发现只要分成几种情况讨论讨论就得了。 当$a==1$时显然不存在。 当$a!=1$时 如果$n==2$,显然$a$必须为偶数:$a==0$时,$b$必须为偶数;否则需要$a+b>=2$。 $n>2$时,特判 阅读全文
posted @ 2019-03-04 21:57 kafuuchino 阅读(224) 评论(0) 推荐(0)
摘要:#185. 「2019冬令营提高组」送分题 这是原题..... P3615 如厕计划 手推一推你发现,显然男性不能多于女性。 然后你或许可以发现一个神奇的性质。 对于每个序列,我们记$M$为$1$,$F$为$-1$ 蓝后我们统计这个序列的后缀和。 如果这个序列合法,那么每个后缀和都$<=1$ 如果出 阅读全文
posted @ 2019-03-04 21:44 kafuuchino 阅读(297) 评论(0) 推荐(0)
摘要:#184. 「2019冬令营提高组」签到题 每次询问接近O(1).......考虑贪心 怎么贪心呢? 对于相邻的两个数,我们要保证异或x后单调不降 我们找到两个数二进制上最高的相异位 当左边的数相异位为0,右边为1时,显然x的该位只能为0,否则异或后不符条件。 当左边的数相异位为1,右边为0时,x的 阅读全文
posted @ 2019-03-03 23:34 kafuuchino 阅读(324) 评论(0) 推荐(0)