Loading [MathJax]/extensions/TeX/mathchoice.js
摘要: ##「JOISC 2020 Day1」扫除 题目链接 先不考虑加点. 那么一个H操作影响的范围是(x,nl] x是在这个H操作之前的V操作所影响的最大的横坐标 V操作类似 画个图理解一下大概就是: 红色部分为H可以影响的范围(黄色的部分灰尘被移出去了) 然后这个可以 阅读全文
posted @ 2020-05-31 22:40 zzy2005 阅读(192) 评论(0) 推荐(0)
摘要: 灭虫 题目链接 【问题描述】 你需要在一条无限长的道路上喷洒杀虫剂。 在这条道路上,总共有 N 个投放点,其中第 i 个投放点在数轴上坐标 pi 处。在每一 个投放点,你可以选择往左喷洒或往右喷洒。但是由于风向和地理环境的影响,向左喷洒和 向右喷洒的效果不一定相同。具体来说,在一个位置向左喷洒,可以 阅读全文
posted @ 2019-09-21 22:43 zzy2005 阅读(304) 评论(0) 推荐(0)
摘要: 二进制集合枚举子集 枚举一个二进制集合的子集,可以看做原集合忽略0之后不断 1 就有了这样一种算法: i 1使得末尾的0全部变成1,但是由于&s,原来是0的位无论如何也不会变成1,但是原来是1的位就形成了不断 1的模式 卡空间 mx占18位,ls和rs占23位 斐波拉契数列 $f[i] = f[i 阅读全文
posted @ 2018-12-30 16:25 zzy2005 阅读(252) 评论(3) 推荐(0)
摘要: LCA Tarjan代码: KMP模板 EXBSGS cpp include using namespace std; define LL long long const int Mod = 1e5 + 7; int gcd(int x, int y) { return !y ? x : gcd(y 阅读全文
posted @ 2018-12-29 17:26 zzy2005 阅读(296) 评论(1) 推荐(0)
摘要: 分析一波,发现是棵树。 我们先假设是一颗外向树, 考虑u是以它为根的子树最先抽出来的, 设子树W和为Su,全局W和为S。 有p=\frac\sum_{i\ge0}(\frac)^i=\frac 那么我们设f[u][Su],转移就是背包一样转移。 现在我们有一些向根的边 阅读全文
posted @ 2020-11-21 08:38 zzy2005 阅读(94) 评论(0) 推荐(0)
摘要: (global-linum-mode t) (setq default-cursor-type 'bar) (setq default-tab-width 4) (setq c-default-style "awk") (global-set-key [f8] 'compile) (global-s 阅读全文
posted @ 2020-11-20 12:16 zzy2005 阅读(65) 评论(0) 推荐(0)
摘要: 这个题和榕树之心很像? 我们枚举一个根,判断能不能使得所以点跳到根。 把一个点拆成到dep1个点,每个祖先(包括自己,不包括根)放一个棋子。 现在我们对于一个子树,可以消掉不属于同一个子树的点。 设fu表示这个子树内最少剩多少点。 依然有 \(f_u=sum[u]\mod 2 (sum[ 阅读全文
posted @ 2020-11-18 16:27 zzy2005 阅读(67) 评论(0) 推荐(0)
摘要: 设fi表示i子树最少扩展多少次,sizi表示子树大小。 那么有 f_u=siz[u] \mod 2(siz[u]-siz[v]-1\ge f[v]) 否则f_u=siz[v]+1-(siz[u]-siz[v]-1) 其中vu的重儿子。 第一个式子是因为,考虑重儿 阅读全文
posted @ 2020-11-18 16:21 zzy2005 阅读(94) 评论(0) 推荐(0)
摘要: 首先有一个性质,达到下界的充要条件是排不能存在长度大于2的下降子序列。 证明: 要想达到下界\frac{1}{2}\sum|i-p_i|,等于每次交换相邻两个数时,这两个数一定是往目的方向移动。 如果存在长度大于2的下降子序列,那么第一次,对于这个子序列中的中间的一个数x,之前比$x 阅读全文
posted @ 2020-11-18 16:16 zzy2005 阅读(121) 评论(0) 推荐(0)
摘要: 首先,我们可以知道可以作为第一个的一定是度数<3的点。 那么我们找到最小的度数<3的点,先把它作为根。 显然它并不能作为根,我们要对根进行调整。 dpf_i表示i子树内最小的度数<3的点。 假设根在u, 如果它只有1个儿子v,且v<u,那么根在v 阅读全文
posted @ 2020-11-18 16:14 zzy2005 阅读(71) 评论(0) 推荐(0)
摘要: 如果我们知道了图,我们统计交错路的方法: 设g_i表示以i结尾的交错路数量的奇偶性。 按照拓扑序转移 g_v=(1+\sum{g_u}) \mod 2ans=(\sum g_i)\mod 2。 我们考虑从1 \sim n加入点, 首先,如果和i相连的ji阅读全文
posted @ 2020-11-18 16:12 zzy2005 阅读(79) 评论(0) 推荐(0)
摘要: 首先可以得到一个O((S+n)\log_2n)的贪心做法。 考虑到相同的K_i可以合并在一起询问,因为\sum K_i \leq n所以不同的K_i只有\sqrt n个, 然后对于两个人[l_i,r_i],[l_j,r_j]如果$l_i,l_j \in [K_i, K_{i+ 阅读全文
posted @ 2020-11-18 16:11 zzy2005 阅读(204) 评论(0) 推荐(1)
摘要: 组合数学 ##一些基础的 组合数 n\choose m=n-1\choose m+n-1\choose m-1 \sum{n\choose i}=2^n \sum_{i=0}^m{i\choose n}={m+1\choose n+1} 卡特兰数 \(C(n) 阅读全文
posted @ 2020-10-29 11:27 zzy2005 阅读(169) 评论(0) 推荐(0)
摘要: 如果我们知道每个高度h_i,如何判断其最后是否留下? 我们从后往前扫,如果h_i被占了,就减一,直到找到一个没被占的占掉, 如果没有找到,那么说明i不能被留下。 每个数选两次太复杂了,我们把一个数拆成两个“不同”的数,最后方案除掉2n, 然后就有一个状压dp,设到了第i位,位 阅读全文
posted @ 2020-10-03 22:37 zzy2005 阅读(299) 评论(2) 推荐(3)
摘要: 如果我们知道了图,我们统计交错路的方法: 设g_i表示以i结尾的交错路数量的奇偶性。 按照拓扑序转移 g_v=(1+\sum{g_u}) \mod 2ans=(\sum g_i)\mod 2。 我们考虑从1 \sim n加入点, 首先,如果和i相连的ji阅读全文
posted @ 2020-09-26 16:38 zzy2005 阅读(221) 评论(0) 推荐(0)
摘要: 首先,我们可以知道可以作为第一个的一定是度数<3的点。 那么我们找到最小的度数<3的点,先把它作为根。 显然它并不能作为根,我们要对根进行调整。 dpf_i表示i子树内最小的度数<3的点。 假设根在u, 如果它只有1个儿子v,且v<u,那么根在v 阅读全文
posted @ 2020-09-24 16:56 zzy2005 阅读(114) 评论(0) 推荐(0)
摘要: 首先有一个性质,达到下界的充要条件是排不能存在长度大于2的下降子序列。 证明: 要想达到下界\frac{1}{2}\sum|i-p_i|,等于每次交换相邻两个数时,这两个数一定是往目的方向移动。 如果存在长度大于2的下降子序列,那么第一次,对于这个子序列中的中间的一个数x,之前比$x 阅读全文
posted @ 2020-09-24 15:02 zzy2005 阅读(138) 评论(0) 推荐(0)
摘要: 题面链接 动态dp #include<bits/stdc++.h> #define LL long long #define RG register using namespace std; template<class T> inline void read(T &x) { x = 0; RG c 阅读全文
posted @ 2020-09-20 14:42 zzy2005 阅读(178) 评论(0) 推荐(0)
摘要: 首先有一个想法,就是建出一颗类似树的结构. 然后i个子树合并的方案设为f[i] 实质上,f[n]就是L:1,1,1,...,n的方案 有f[n]=(n-1)f[n-1]+\sum_^(n-i-1)f[i]f[n-i] 这个递推式的含义就是: 考虑从大到小(或从小到大)插入数 假设 阅读全文
posted @ 2020-06-02 20:01 zzy2005 阅读(132) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示