- 博客(13)
- 收藏
- 关注
原创 矩阵乘法
文章目录1.矩阵1.1 矩阵1.2 矩阵的运算2.矩阵快速幂3.常见的矩阵乘法维护递推公式问题3.1 矩阵乘法维护斐波那契数列问题3.2 对于递推公式中含有常数项的问题解决方法4.邻接矩阵乘法1.矩阵1.1 矩阵矩阵是一个数阵,常被记做[abcdefghi]\begin{bmatrix}a&b&c\\d &e &f \\g&h&i\e...
2020-03-30 20:55:02 614
原创 余弦定理的证明及其应用 改进版
我之前写过一个余弦定理的证明及其应用的博客,但是因为那时候自己特别的菜,而且原博客没有加LaTeX\LaTeXLATEX,而且很多地方有描述不明确的地方,现在来修一下还是那张图,来自百度百科余弦定理的内容是,对于任意一个三角形,满足a2=b2+c2−2bc⋅cosAb2=a2+c2−2ac⋅cosBc2=a2+b2−2ab⋅cosCa^2=b^2+c^2-2bc\cdot \cos...
2020-03-29 16:58:35 705
原创 [POI2005] SZA-Template
传送门这道题一看到串串题,并且是老重复的,想到kmpkmpkmp但是光kmpkmpkmp显然不太好做emmmmmemmmmmemmmmm可以想到最后的答案一定是原串的一个BorderBorderBorder怎么办呢,考虑dpdpdpfif_ifi表示把前iii个字符印完之后的印章长度最长是多少那么我们可以得到一个转移:fi=fnextif_i=f_{next_i}fi=fnext...
2020-03-29 16:25:43 367
原创 [vijos1477] 跳动的水珠
给个洛谷网址吧qwq传送门这题先说80分做法吧(洛谷上70分)显然我们可以对于每一个时间构造一个矩阵表示变化情况,然后我们注意到,因为li,j={3,7,9}l_{i,j}=\{3,7,9\}li,j={3,7,9},所以每63个时间是一个循环,那么我们构造63个转移矩阵,然后连乘起来,再快速幂优化,有点类似于沼泽鳄鱼那道题简单放一下70分代码#include <bits/stdc...
2020-03-26 16:24:11 188
原创 [POI2011] DYN-Dynamite
据说这道题有ON做法好像是真的但是没人写我也不会所以我就写了正常的O(nlogn)O(nlogn)O(nlogn)做法啦显然要二分一下对吧然后我们怎么判断呢?考虑树形DP:f[u]f[u]f[u]表示以uuu为根节点的子树中,最远的没有被覆盖到的关键节点的距离g[u]g[u]g[u]表示以uuu为根节点的自述中,最近的一个选择的点的距离那么转移显然就是f[u]=max{f[...
2020-03-19 18:10:23 160
原创 二分图常见问题总结
文章目录1.二分图2.二分图的判定2.1 定义法判定二分图2.2 二分图判定方法的应用3.二分图匹配3.1 增广路3.2 匈牙利算法3.3 网络流求二分图匹配3.4 二分图匹配的应用4.二分图最小点覆盖4.1 定义4.2 二分图最小点覆盖定理5.二分图最大独立集5.1 定义5.2 二分图最大独立集定理6.DAG上最长反链6.1 定义6.2 建立模型6.3 DAG上最长反链的应用7.带权二分图匹配/...
2020-03-18 18:04:11 1267 2
原创 Codeforces Round 627(div.3)
day121:06开始看题了!!!T1大水题判断一下积偶性就可以了,如果全一样就是yes,要不然就是no21:09A了,开T221:11T2也不难啊(flag)就是判断一下有没有不相邻的相同的两个数就可以啦21:15A了(flag+1),开T321:17T3考虑贪心,我们发现,往左跳是没有用的,所以我们只用关注R的情况就可以了所以答案就是任意两个R之间的距离的最大值,注...
2020-03-14 13:06:39 179
原创 [HAOI2012] 道路
这道题首先我们应该考虑到的是,因为我们最短路的起点和终点都不知道,所以我么应该枚举起点,然后跑最短路我们枚举起点之后,每次跑最短路,都可以构造出一个最短路图(由所有在最短路上的边构成)判断一条边在不在最短路图的方法是如果dis[v]=dis[u]+length(u,v)dis[v]=dis[u]+length(u,v)dis[v]=dis[u]+length(u,v),那么他在最短路图上那么...
2020-03-12 20:13:48 218 1
原创 [SDOI2013] 随机数生成器
传送门这道题就是推大式子啊我们发现最后的XnX_nXn的nnn可能会特别大所以我们要尝试简化那么我们联想到等比数列注:为了表达简便,下文所有式子都是在 mod p\bmod pmodp意义下的设(Xi+1+c)=a(Xi+c)(X_{i+1}+c)= a(X_i+c)(Xi+1+c)=a(Xi+c)Xi+1+c=aXi+acX_{i+1}+c=aX_i+acXi+1+c=a...
2020-03-10 16:06:42 191
原创 BSGS算法
Baby Step Gaint Step算法这个算法是解决什么的呢?求关于yyy的方程xy≡z ( mod p)x^y\equiv z\ (\bmod\ p)xy≡z (mod p)的最小整数解其中保证(x,p)=1(x,p)=1(x,p)=1其实还是挺暴力的…为了便于解决,我们把yyy表示成im−jim-jim−j的形式那么原来的式子就...
2020-03-10 14:17:09 264
原创 [USACO17OPEN] COWBASIC
手写栈一定要清空!!!手写栈一定要清空!!!手写栈一定要清空!!!重要的事情说三遍因为这个地方debug了2天…首先,我们应该把这些东西都读进来,因为在线读在线做的话不太好做我第一天试着边读边做,应该也能弄,就是判断一下小括号和大括号数看看有没有换行就可以,但是细节挺多,交上去成功拿到了6分(样例分)于是第二天我选择把所有东西都读进来做(洛谷运势:宜重构代码),然后猛然发现第一天脑子...
2020-03-04 14:07:35 288
原创 [BJOI2014] 大融合
题目链接这道题显然能看出来是一道lctlctlct的题目我们只需要维护一下sizsizsiz就可以了,每次把他splitsplitsplit一下,然后输出siz[x]×(siz[y]−siz[x])siz[x]\times(siz[y]-siz[x])siz[x]×(siz[y]−siz[x])就好了这么水,我切了——china_xyc显然不可能这么简单啊果然,这么一写,样例都过不去...
2020-03-02 16:07:56 109
原创 [BJWC2010] 严格次小生成树(kruskal+lct)
具体思路大家可以看一下这个就是维护一下树上的区间最大值和次大值因为是边权,所以我们可以把边看成点然后正常维护就可以复杂度是O(mlogm)O(mlogm)O(mlogm),但是因为lctlctlct常熟巨大,所以在洛谷上会T两个点,要吸氧才能水过# include <bits/stdc++.h>using namespace std;# define Rep(i,a,...
2020-03-01 16:01:48 172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人