Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

10 2020 档案

摘要:在一些概率题目中,我们需要构造势函数。 这个势函数f(x)\(使\)=1。 根据鞅的停时定理,可以得到答案就是开始状态-终止状态的势能函数。 以cf1025g为例。 例题: 模拟赛 战争 cf1349d cf1025g cf850f 阅读全文
posted @ 2020-10-30 09:54 celerity1 编辑
摘要:一键挖矿 https://www.cnblogs.com/ctmlpfs/p/13858405.html #include<bits/stdc++.h> using namespace std; #define N 2000010 #define int long long #define f(x) 阅读全文
posted @ 2020-10-22 15:31 celerity1 编辑
摘要:如果做了这道题,有可能做出ioi2018 排座位 在一维时,问题就是询问max的段数。 这是个经典的问题。 从1\to n进行扫描线。设当前扫到i维护两个单调递减/递增栈和两个线段树。 第一个线段树的j位置表示$\max(j...i)- 阅读全文
posted @ 2020-10-22 15:11 celerity1 编辑
摘要:算法1: 考虑没有插入操作怎么办。 先考虑sub3。 定义一个点在边界上:它的右上角没有任何点。 注意到无论怎么进行操作,在边界的点还是会在边界,且顺序不会交换。 所以可以用线段树二分简单维护。 再考虑sub4。 sub4和sub3的区别:在sub3中每个点都在边界上,但是sub4并不。 但是注意到 阅读全文
posted @ 2020-10-22 14:59 celerity1 编辑
摘要:根据套路考虑二分答案。但是值域十分大,不能直接二分。 设val(l,r)\(表示\)(l,r)这条路径的权值,va(x)表示x这条路径的权值。 幸运的是,由于路径的条数只有n2个,可以随机二分。 维护两条路径a,b表示现在随机二分的上/下界。 每次我们需要随机到一条路径满足$va 阅读全文
posted @ 2020-10-22 12:01 celerity1 编辑
该文被密码保护。
posted @ 2020-10-21 10:46 celerity1 编辑
摘要:先考虑O(n^2)的做法。 考虑一个在叶子的农民怎么抓住B。显然农民会向B走。 由于每一个节点B都可能走,如果一些农民向一个点x走,则要满足B到x的距离<农民到x的距离,这样子才能成功逃走。 把B定为根,发现如果一个节点被农民走,则它的子节点就不用被走了。 设f_i表示所有叶子节点到i的最短 阅读全文
posted @ 2020-10-20 08:05 celerity1 编辑
摘要:不那么套路的点分题。 首先根据题意容易得到一个O(n^2)的做法。 显然我们对于一个解,它的最优答案是内部的色数。 一个解合法的条件是它的外部不包含这个解内部的颜色。 那么我们可以暴力模拟这个过程。强制钦定一种颜色被选择,然后把这种颜色包含的所有点都加入解中,重复此过程直到解合法。 遍历一个颜色 阅读全文
posted @ 2020-10-17 15:49 celerity1 编辑
摘要:有一个经典的套路(序列合并):有一个dag,节点数非常多,直接存是存不下的。 但是不用把整个图建出来。 如果把一个点的状态向后继状态连边,边有边权,定义一条路径的权值为它的边权和。求最小的k种路径边权和。 这是个经典的问题。使用堆,每次把最小值取出来,把它的后继状态插入堆,把最小值pop掉k次即可。 阅读全文
posted @ 2020-10-17 08:40 celerity1 编辑
摘要:被卡空间的代码: #include<bits/stdc++.h> #define N 810010 using namespace std; struct no{ int l,r,id; }a[100010]; int operator <(no x,no y){ return x.l<y.l||( 阅读全文
posted @ 2020-10-12 08:31 celerity1 编辑

点击右上角即可分享
微信分享提示