05 2018 档案
摘要:条件概率,全概率公式,贝叶斯公式 条件概率:在另外一个事件 B 已经发生的条件下,事件 A 发生的概率叫做在 A 对于 B 的条件概率,记作 $p(A|B)$。显然$p(AB)=p(A|B)p(B)$。于是有:$p(A|B)=\frac{p(AB)}{p(B)}$。 独立事件:若事件 B 是否发生对
阅读全文
摘要:水题(初等数论相关) 给你 3 个正整数 n,a,b,求$\sum_{i=0}^n \lfloor \frac{a^i}{b} \rfloor$的值。由于答案可能会很大,所以你只需要求出答案关于353448299取模的值。对于30%的数据,n
阅读全文
摘要:最小链覆盖 从有向无环图(DAG)中选出若干点不相交的链,使得这些链覆盖所有的点,并且链的条数最小。链的定义是一条连续路径,并且不经过重复的点。 设没有用到的边是黑色边,用到的边是彩色边。那么一条彩色边对应一个连出去的点。由于链的个数是没有连出去的点的数量,因此我们只需要最大化彩色边个数a。答案即是
阅读全文
摘要:APIO 2012 派遣(可并堆) 给定一棵N个点的树和M,每个点有两个权值ai,bi,每次可以选择一个点x,然后在这个点的子树中选若干点(可以不选自己),使得这些点的$\sum b_i using namespace std; typedef long long LL; const LL maxn
阅读全文
摘要:伪随机数生成器 emm,应该没有什么好说的。 c++ const int maxn=1000; const int a=19260817, c=1, m=1
阅读全文
摘要:左偏树 一开始有N个小根堆,每个堆包含且仅包含一个数。接下来需要支持两种操作:操作1: 1 x y 将第x个数和第y个数所在的小根堆合并(若第x或第y个数已经被删除或第x和第y个数在用一个堆内,则无视此操作)操作2: 2 x 输出第x个数所在的堆最小数,并将其删除(若第x个数已经被删除,则输出 1并
阅读全文
摘要:Leveling Ground(数论,三分法,堆) 给定n个数和a,b每次可以选择一段区间+a, a,+b或 b,问最少操作几次能把他们都变成0。n include include include using namespace std; typedef long long LL; typedef
阅读全文
摘要:飞扬的小鸟(背包) Flappy Bird 是一款风靡一时的休闲手机游戏。玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙。如果小鸟一不小心撞到了水管或者掉在地上的话,便宣告失败。为了简化问题,我们对游戏规则进行了简化和改编:游戏界面是一个长为 n ,高为 m
阅读全文
摘要:NOIP2013 货车运输(最大生成树,倍增) A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。n=1e4,m=5e4. 首先肯定是跑一个最大生
阅读全文
摘要:火柴排队(归并,逆序对) 给出数组a和b,每个数组有n个数,问如何重排列,使得$\sum(a_i b_i)^2$最大。 首先转换一下式子,发现$(a_i b_i)^2=a_i^2+b_i^2 2a_ib_i$,因此只要最小化$a_ib_i$即可。 有个好东西叫做排序不等式,他告诉我们 。因此我们只要
阅读全文
摘要:[A/C 2007] 数据备份(网络流,堆) 给你N各点的位置和K条链,需要用这些链把2K个点连起来,使得链的总长最短。可以随意选择要链的点。n=100000。 这道题居然可以用堆…… 首先,不能把区间一股脑加进去,因为有点可能会被重复连接。处理方法是这样的:若选择了第i个区间,那就把i,区间i 1
阅读全文
摘要:御坂网络(枚举基准,二分图) 现在有n个A点,m个B点(n,m include include include using namespace std; const int maxn=205 2, INF=1e9; const double PI=3.1415926535898; double sq
阅读全文
摘要:替罪羊树 替罪羊树是一种不用旋转的平衡树,并且速度还不错,大约在treap和splay之间吧(treap就是那么快)。 这里用rank和xth操作实现了pre和next操作。注意rank操作找的是 =x且最小的编号,这样pre只需要查找rank(x) 1,next只需要查找rank(x+1),很优雅
阅读全文
摘要:CF 980D Perfect Groups(数论) 一个数组a的子序列划分仅当这样是合法的:每个划分中的任意两个数乘积是完全平方数。定义a的权值为a的最小子序列划分个数。现在给出一个数组b,问权值为i的b的子串个数。 这题意真不是人类智慧能轻易描述的。据说此题在比赛场上读题30min,做题5min
阅读全文
摘要:CF 983B XOR pyramid(区间dp,异或) 若有一个长度为m的数组b,定义函数f为: $f(b) = \begin{cases} b[1] & \quad \text{if } m = 1, \\ f(b[1] \oplus b[2],b[2] \oplus b[3],\dots,b[
阅读全文
摘要:CF 984C Finite or not? (数论) 给定T(T0$,$c_i 0$,那么设$b'=(b, q)$,那么不停将$b'$除$q$得到$q'$,最后剩下的数就是D。现在只需判断D是否为1即可。
阅读全文
摘要:CF 979D Kuro and GCD and XOR and SUM(异或 Trie) 给出q( include using namespace std; const int maxnum=1e5+5, maxq=1e5+5, maxn=maxq 17 17, INF=1e9; //maxnum
阅读全文
摘要:(不)常用打比赛网站 由于我记性太垃圾,还是来整理一下比较好。 "Codeforces" "Atcoder" "计蒜客" "HackerRank" "LeetCode" "HihoCoder" http://acmicpc.info/archives/224
阅读全文
摘要:排序工作量之新任务(SHOI2001) 给出两个整数n和t,求n的全排列中逆序对数为t的个数,和逆序对数为t的字典序最小全排列。 首先第一个问题可以用dp解决,$f[i][j]$表示前i个数,j个逆序对的序列数,那么$f[i][j]=f[i 1][j k]\ (k include using nam
阅读全文
摘要:Splay 还是前面那个模板。注意所有操作以后都要splay一次,避免被卡掉。 splay的复杂度证明可看论文(知乎的相关问题中有链接),大体思想是定义树的势函数,进行势能分析,可证得splay一次的时间复杂度是$O(logn)$。由于被splay的点就是被查询的点,并且查询一个点A的路径和spla
阅读全文
摘要:Dynamic Rankings(树状数组套权值线段树) 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j i+1),并且,你可以改变一些a[i]的值,改变
阅读全文
摘要:A B problem(FFT) 设两个多项式$A(x)$和$B(x)$,它们的系数镜像反转一下,得到的多项式是$A'(x)$和$B'(x)$。那么$C(x)=A(x) B(x)$和$C'(x)=A'(x) B'(x)$的系数也是镜像反转的。这个,,感性理解一下吧。 于是倒过来搞会很方便。由于是大整
阅读全文

浙公网安备 33010602011771号