摘要: 随手点开一个题。 咦,这不是裸的动态开点线段树吗?写一个写一个…… Code: 写完题的我: 内存太小,差评,卡常数,差评……这sb题…… 点开题解: ……大概说的就是我…… 没事复杂度其实是一样的 警醒a!!!不要一上手就乱写数据结构…… 阅读全文
posted @ 2018-08-13 19:24 CzxingcHen 阅读(153) 评论(2) 推荐(0) 编辑
摘要: 我就是过来开心一下……这道题从开坑以来已经堆积了大半年了……今天才发现广搜一直写挂…… 丢个线段覆盖的模板,设$f_{i}$表示覆盖区间[1, i]的最小代价,$g_{i, j}$表示覆盖区间[i, j]的代价,有转移方程 $f_{i} = f_{j} + g_{j + 1, i}$ $(0 < j 阅读全文
posted @ 2018-08-13 18:43 CzxingcHen 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 弄完之后点进去一看,竟然是div1的D题……最近真是天天被题虐哭 推荐这一篇博客 https://www.cnblogs.com/Sakits/p/8085598.html 感觉讲清楚了,也是基本照着这个写的 一开始题意没有读清楚,这题保证了所以树链都是从下往上的,所以才可以设计dp。 要把询问映射 阅读全文
posted @ 2018-08-13 15:37 CzxingcHen 阅读(1684) 评论(0) 推荐(0) 编辑
摘要: dp,方程很好想,我们设$f_{i, j}$ ,表示前j个数字划分成i个区间的最大价值, 设$g_{l, r}$表示[l, r]这个区间中颜色的数量,有转移: $f_{i, j} = max(f_{i - 1, k} + g_{k + 1, i})$$(0\leq k < j) $ 用一个数据结构优 阅读全文
posted @ 2018-08-13 10:06 CzxingcHen 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 按照vdcc缩点之后一条边只会属于一个新的点集,由于这棵树上满足(不是割点) - (割点) - (不是割点)的连接方法,所以求两条边之间的必经点就是(树上距离 / 2),倍增跳lca即可 考虑到缩点后树上点数的编号可能超过n,所以与树有关的数组开两倍N 又是一个模板 Code: lyd给的std好难 阅读全文
posted @ 2018-08-13 10:04 CzxingcHen 阅读(239) 评论(0) 推荐(0) 编辑
摘要: edcc缩点之后跳倍增lca 丢个edcc缩点模板 Code: 阅读全文
posted @ 2018-08-13 10:02 CzxingcHen 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 简单dp,设$f_{i,j,k}$表示第i个时间段,钢琴处在(j,k)位置移动距离的最大值,那么有转移 $f_{i, j, k} = max(f_{i - 1, j, k}) , f_{i, j, k} = max(f_{i - 1, a, b})$ 其中 $j - dx_{d_{i}} * len 阅读全文
posted @ 2018-08-13 10:00 CzxingcHen 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 区间修改单点查询,又观察到是一个k小,考虑主席树上做差分 一开始样例疯狂挂,后来发现主席树在一个历史版本上只能修改一次,所以要开2*n个根结点,记录一下每个时间对应的根结点编号 然后80分,考虑到当一个排名的结点有w个而查询的k<w时会使答案变大,所以特判(但是一开始又喜闻乐见地把符号写反了)~一通 阅读全文
posted @ 2018-08-13 09:57 CzxingcHen 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 感觉...昨天是真的傻... 题意 T个询问,每个询问给一个n,求 $ \frac{\sum_{n}^{i = 1}Fib_{i} * i}{n * (n + 1) / 2} $ Fib是斐波那契数列,对998244353取模 然后...我昨天把n乘了之后就忘记取模了... 30分做法 设$ a_{ 阅读全文
posted @ 2018-08-13 09:52 CzxingcHen 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 字胡串什么的一直不太会,感觉这题…还蛮本质的 考虑暴力求解:num[i]相当于从一直跳nxt,如果nxt[j] * 2 <= i 那么就累加答案 其实这是一个树的结构,也就是说跳到一个结点满足条件,那么它上面的结点一定都满足,所以在求nxt的时候顺便递推一下每一个结点的答案,那么模拟一下匹配nxt的 阅读全文
posted @ 2018-08-13 09:45 CzxingcHen 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 第一反应是打表找规律……(写了个prim)但是太菜了没找到 于是开始怀疑是不是我的表错了,又写了一个克鲁斯卡尔,然后结果是一样的……(捂脸) 后来从克鲁斯卡尔的算法上发现了一点东西,发现只有2的幂次长度的边才会对答案产生贡献。假设有n个点,那么就相当于把n - 1的点连入MST,打表找规律可得一个二 阅读全文
posted @ 2018-08-13 09:43 CzxingcHen 阅读(155) 评论(0) 推荐(0) 编辑
摘要: dp题,类似于01背包的转移 需要注意的是:背包容量在有的时候可能为负数,所以需要算出最大数据量整体平移 像01背包一样直接倒序循环j并不能保证每一个物品只选一个,两个等价的物品在计算时可能会重复使用 所以把i(物品)放在最后一维,通过chk函数来检查该物品此前是否已经选过,从而保证转移的正确性 继 阅读全文
posted @ 2018-08-13 09:42 CzxingcHen 阅读(127) 评论(0) 推荐(0) 编辑
摘要: bzoj1999 数据加强版(n <= 5e5) 较早的noip题,值得研究 重要结论:直径的最长性,任何从直径中离开直径的点到它离开的点的距离,都不会比直径的另一端到它离开的点长(否则就有新的直径出现了嘛) 在求不经过直径的最长距离的时候犯错了,要考虑的是最远的点到现在点的距离,而不是只考虑儿子, 阅读全文
posted @ 2018-08-13 09:41 CzxingcHen 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 应该是基础的dp练手题 线性dp最主要的就是关于阶段的划分,这个题中我没想到的一点就是开状态的时候使用了前i个数能合成的数来记录 我自己的想法就是类似于区间dp这样的记录方法,这种方法确实开了很多冗余的状态而造成了整道题卡住…… 题目中的添减号和括号,实际上可以转化为添加号,这样子最后输出的时候就可 阅读全文
posted @ 2018-08-13 09:40 CzxingcHen 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 我真的写不来cdq啊…… 树套树卡常丧心病狂(作死套了fhqTreap……) 注意最后对于完全一样的点, 要在这些点的贡献都添加完了之后一起算答案 Code: 阅读全文
posted @ 2018-08-13 09:39 CzxingcHen 阅读(147) 评论(0) 推荐(0) 编辑
摘要: lyd大神犇的狗粮题…… 终于填掉了这个大坑, 之前由于有一些事情一直没有想清楚, 一直没有动手写此题,就记录一下那些“有一些事情” 1、对于对答案的贡献问题 若要统计[l, r]中所有颜色的贡献: 在扫描的过程中记录出现的次数cnt, 若cnt第一次变到2的时候, 把当前答案加一, 如果当前cnt 阅读全文
posted @ 2018-08-13 09:37 CzxingcHen 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 吐槽:此题就是一点一点卡过去的 警告: 1、千万不能用dfs搜这种东西(dfs需要遍历所有状态才能找到最优解), 分分钟爆炸 2、写结构体的时候要综合判断&的加和不加 Code: 阅读全文
posted @ 2018-08-13 09:35 CzxingcHen 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 刚看到此题的时候:sb分块??? Rorshach dalao甩手一句看题 于是回去看题……果然是题读错了…… [思路] 对权值离散化后(要先读入所有输入里的权值一起离散化……所以一共有4e4个数据(~~当然你也可以不读入 hehe~~~~)) 建立一颗线段树, 线段树单点维护每一个海拔下的答案 好 阅读全文
posted @ 2018-08-13 09:34 CzxingcHen 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 先用Floyed做亮点之间的最短路,设计dp,记dp[i][j][0]为到第i节课,换了j次课,当前有没有换课达到的期望耗费体力最小值 方程(太长了还是看代码吧):dp[i][j][0]<-dp[i - 1][j][0]dp[i][j][0]<-dp[i - 1][j][1]dp[i][j][1]< 阅读全文
posted @ 2018-08-13 09:32 CzxingcHen 阅读(125) 评论(0) 推荐(0) 编辑