07 2020 档案
摘要:删边最短路 裸体题洛谷 P1186玛丽卡 P1491集合位置 双倍经验 玛丽卡 跑最短路,求出玛丽卡最短时间,然后标记路径,使最短路径上的路径堵车,枚举每条路径,然后对答案取max #include<cstdio> #include<queue> #include<iostream> using n
阅读全文
摘要:改天补坑矩阵的差分 树上差分: 模型:树上多次区间修改. 差分适用于修改多而询问少的情况 类型:1.边差分 2.点差分 边差分:把边的路径全部+x,把两个点的$u$和$v的lca$算出来,然后在差分数组$dlt[u]+=x,dlt[v]+=x$,在$dlt[lca(u,v)]-=2x$ 点差分:多次
阅读全文
摘要:luogu SuperJvRuo的图 各层内部正常连边,各层之间从上到下连权值为0的边。每向下跑一层,就相当于免费搭一次飞机。跑一遍从$s$到$t+n∗k$的最短路即可。 #include<cstdio> #include<queue> #include<iostream> #include<cst
阅读全文
摘要:最短路计数都会吧都会吧都会吧(yousiki&&zhoutb行为)(狗头 逃:) 反正我不会,估计你们都会:),放个板子 cnt[1] = 1,dis[1] = 0; while(!q.empty()){ int x = q.top().front; q.pop(); if(vis[x]) cont
阅读全文
摘要:记录边权的邻接矩阵 \(D_{i,j}=+\infty(i=j)||i与j间边权,i与j联通,+\infty(i,j不连通)\) \(D_{(i,j)}^2=min_{i\le k\le n}D_{i,k}+D_{k,j}\) \(D^K_{i,j}表示i到j经过k条边的最短路\) 记录连通性的矩阵
阅读全文
摘要:还是爆炸欧鸡的题难qwq \[ φ(n)*φ(m)*\sum_{k\in S(n,m)}φ(k)~mod~p,p=998244353且S(n,m)=\{n~mod~k+m~mod~k\ge~k\}\\ 打表都找出规律了555,写龟速乘写挂了,抱灵了,要不然就rank1了100pts->0\\ 因为n
阅读全文
摘要:P4884 多少个1? $11....1(N个1)\equiv K(mod~m)$ 由等比数列易知$10n+10+...+100=\frac{(1-10n)}{1-10}=\frac{10^n-1}{9}$ \[ \frac{10^n-1}{9}\equiv k(mod~m)\\ 10^n-1\eq
阅读全文
摘要:Splay(还没完先咕着) 变量定义: \(n:节点个数~~~ch[x][2]~0代表x左儿子~1代表右儿子\) \(val[x]x存储的值~~cnt[x]代表x存储的重复权个数~~fa[x]x爸爸~~siz[x]x子树下权值数\) 操作: chk,查询节点父亲方向 pushup,更新size数组值
阅读全文
摘要:#树链剖分 1,将树从x到y结点最短路径上所有节点的值都加上z 这也是个模板题了吧 我们很容易想到,树上差分可以以O(n+m)的优秀复杂度解决这个问题 2,求树从x到y结点最短路径上所有节点的值之和 lca大水题,我们又很容易地想到,dfs O(n)预处理每个节点的dis(即到根节点的最短路径长度)
阅读全文
摘要:P2480 SDOI2010古代猪文 题目大意:求 \(G^{\sum_{d|n}{n \choose d}}~mod~999911659\) 各种基础数论全家桶,做这个题相当于复习今天内容了 999911659为质数 费马小定理$a^p\equiv a(mod~p)$,\(a^p~mod~p=a~
阅读全文
摘要:P2868 Sightseeing Cows G 给出一个 \(n\) 个点 \(m\) 条的有点权与边权的有向图,求一个环使得环上的点权和除以边权和最大。 最优比率环问题,显然01分数规划 环上第$i$个点点权为$a_i$,第$i$条边的边权为$b_i$ \[ \frac{\sum_{i=1}^n
阅读全文
摘要:\[ gcd(a,p)=1~~a^{\phi(p)} \equiv1 mod(p)\\ 对于任意b\ge\phi(p),有a^b\equiv a^{b~mod~\phi(p)+\phi(p)}\\ b<\phi(p),a^b\equiv a^{b~mod~\phi(n)}(mod~p)\\ a和p可
阅读全文
摘要:P4140 先打质数表 #include<cstdio> #include<cmath> using namespace std; bool shai(int n){ if(n < 2) return false; int b = sqrt(n); for(int i=2;i<=b;i++) if(
阅读全文
摘要:本来先做的聪聪与可可,然后没做出来去做的4284,然后又看了看换根dp,然后又看了看spfa,我tcl 注意计算概率时需要考虑是否要用容斥原理,期望dp时注意有时要用倒序枚举 P4284概率充电器 我们可以把总的期望个数转化为每个点对答案的贡献,如果某个点被点亮贡献为1,否则为0,所以我们只要求出每
阅读全文
摘要:P2157 SDOI2009 学校食堂 \((a~or~b)-(a~and~b)=(a~xor~b)\) 看数据,$B_i$为7,考虑状压$B_i$,设$f[i][j][k]$为$1-(i-1)号已经打完;i个及以后7个人打饭的状态l;当前最后一个打饭的人的编号为i+k,不这样存k会太大$ 当$j&
阅读全文
摘要:分块复杂度略微证明: $$ n:序列的长度;\ S:将这个序列分成S块;\ C:分成的每个块内有C个元素;\ x:查询或修改时,需要操作的整块数;\ y:查询或修改时,需要操作的零散区间中元素个数;\ L:查询或修改时,操作序列的长度。 \ S*C=n我们肯定要让x+y最小\ 最坏情况操作区间为[2
阅读全文
摘要:\(\large斜率优化dp\) //P2365 #include<cstdio> #define ll long long using namespace std; ll f[5010],sumt[5010],sumc[5010]; int n,s; ll min(int a,int b){ret
阅读全文
摘要:线性初始化树状数组 void init(){//线性构造 for (int i = 1; i <= n; i++){ sum[i] = sum[i - 1] + a[i]; c[i] = sum[i] - sum[i - lowbit(i)]; } } 对于线段树千万不要嫌烦 第一遍可以抄一遍题解,
阅读全文
摘要:dancing link x DLX又称dancing links X 是一种 解决重复覆盖和精确覆盖的高效算法 精准覆盖:一个全集S有若干个子集S1,S2,……Sn,选取其中若干个子集,使得这些集合中出现了S中每个元素各一次。举个例子: 全集S={1,2,3,4,5,6,7}, 用子集S1={1,
阅读全文
摘要:https://www.cnblogs.com/light-house/p/11759894.html https://blog.csdn.net/ModestCoder_/article/details/90107874 太区区 首先需要写一个自己认为对的和一个暴力 然后您需要一个数据生成器 代码
阅读全文
摘要:树形dp 树形动归一般是依赖于dfs的,根据动归的后效性,父节点的状态一般都依赖子节点的状态以某种方式转移而来 换根的p2015 \[ 设f[i][j]表示i的子树上保留j条边最多苹果数\\ f[i][j]=max(f[i][j],f[left][j]+e[left].apple+f[right][
阅读全文
摘要:考试考到这个了,本来考虑了容斥,爆炸欧鸡上面有一道叫 两双手 的类似的题,然后打了打发现貌似不好做,然后就开爆搜了qwq,现在恶补一下。 我们发现有一种东西叫做$Lindström–Gessel–Viennot lemma$,上网搜一下,你就会发现你看不懂 这个定理就是求一个点集到另一点集的不相交路
阅读全文
摘要:\[ 好题qwq\\ 想法是搞个堆,然后刚好满足,然后复杂度mlogn,就咕咕咕了\\ 因为0<p<1~~~~假设x_1\ge x_2且x_1x_2为非负整数,\lfloor px_1\rfloor+q=\lfloor px_1+q\rfloor\ge\lfloor px_2+pq\rfloor显然
阅读全文
摘要:原来一直没太搞懂,今天大力搞了搞,感觉比较可了 latex取反是\sim \[ 把数拆成二进制数 所以我们最多只需要2^{n+1}-1的十进制数就好(二进制形式是n个1)\\ 1.判断一个数字x二进制下第i位是不是1(假设最低为第1位)\\ if(1 << (i-1)\&x) 操作\\ 2.将一个数
阅读全文
摘要:P3177 [HAOI2015]树上染色 有一棵点数为 n 的树,树边有边权。给你一个在$ 0 \sim n $之内的正整数 k ,你要在这棵树中选择 k 个点,将其染成黑色,并将其他 的 n−k 个点染成白色。将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间的距离的和的受益。问受益最大值
阅读全文
摘要:https://www.cnblogs.com/chenxiaoran666/p/divide.html //大神勃客 \[ luogu\ p2261\\ G(n,k)=\sum_{i=1}^nk\ mod\ i\\ a\ \%\ b= a-b*\lfloor\frac{a}{b}\rfloor\\
阅读全文
摘要:小z 的女朋友送给小z 一个n×n的矩阵。但是矩阵实在太大了,小z 的女朋友拿不动,只能带给他两个长度为n 的整数序列l,t,分别作为矩阵F的第一行和第一列(保证$l_1=t_1$),并且告诉小z 矩阵可以通过如下方式得1: \(F(i,j)=a*F(i,j-1)+b*F(i-1,j)\) 现在小z
阅读全文
摘要:随机化贪心,顾名思义,就是边随机边贪心 这类算法适合解决动态规划类的题目 思想:在贪心原则正确的情况下,随机执行足够多次,就是正解了(涉及到概率学 (玄学 逃:)) ,这里不深究) 不要以为随机到正解几率很小,假设随机到正解的概率为0.1%,我们执行100000次贪心,每次取最优,得到正解的概率是1
阅读全文
摘要:模拟退火算法(Simulate Anneal,SA) \[ p\propto\left| \frac{1}{f[x_j]-f[x_i]}\right|\ \] 定义一个可接受的概率p,p$\in[0,1]$ $f(x_j)和f(x_i)$越接近,p越大 新解和旧解函数越接近,越愿意接受新解 \(y=
阅读全文
摘要:我们说一个数列 {ai} 是单峰的,当且仅当存在一个位置 k 使得 ai < ai+1(i < k) 且 ai > ai+1(i ≥ k)。 现在小X 想知道,对于 1 到 n 的所有排列,其中有多少个是单峰数列。 1.1 20 分做法 生成所有全排列并判断,时间复杂度 O(n · n!)。1.2
阅读全文
摘要:小X 感到很无聊,从柜子里翻出了他小时候玩的积木, 这套积木共有 n 块,每块积木都是1个长方体。小X 想用这些积木拼成1个积木塔(不必每块 积木都使用, 所谓积木塔,就是将积木1个1个摞起来,(除去最底层的积木外)每块积木的底下必须能被它下面 的积木的底面完全包含(即对应的长宽都要更小或相等)。当
阅读全文
摘要:https://www.luogu.com.cn/blog/IowaBattleship/latex-gong-shi-tai-quan Latex 公式大全
阅读全文