摘要:
UVA1184 Air Raid(最小割) 传送门 最小割又忘记了,菜! 题意:给一个无向图,求最少多少不相交的链经过所有的点(单独一个点也算链)。 题解: 首先要想到题目的一个关键,每个点被链经过以后最多能免费携带一个没被经过的其他点。如一条:1-4-3-5,第一个点是买的,4是1免费带的,3是4 阅读全文
摘要:
CF362C Insertion Sort(DP) 传送门 题意:给一个排列,求对任意两个元素交换后,使总逆序对最小的方案数。 题解:首先要想到交换元素的贡献怎么算。 可以分成5份分析,设x,y交换: 1,p<x 对于p<x的情况,无论后面怎么变,p<x中的逆序对不会改变,对后面元素也不会造成影响。 阅读全文
摘要:
CF709 C. Skyline Photo(线段树优化DP) 传送门 题意:给两个数组,分别表示分数和高度,你可以将数组分成若干段,每段贡献为其高度最低的分数,求最高分数和。 题解: 好题,首先先考虑n*n做法,f[i]表示将前i段分成若干段的最大值,则f[n]即表示答案,易得递推方程:f[i]= 阅读全文
摘要:
牛客 栗酱的数列 (KMP) 传送门 题意:给a数组(n),b数组(m),模数k。问a有几个子串满足1<=i<=m,(a[i]+b[i])%k都相等。 题解:暴力匹配超时,这时候想到子串匹配算法KMP,但主要是有一个C=(a[i]+b[i]),要求一个串的值都等于C,而在一次匹配成功后,C可能会改变 阅读全文
摘要:
牛客 动物园 (KMP) 传送门 题意:给一个字符串求num数组的乘积,num数组是前缀与后缀相同的个数,且前后缀不相交的个数; 题解:求KMP,易得长度为i的字符串不能由nex[i]>i/2的位置转移,且明显有单调性,所以我们可以从后,用类似并查集路径压缩的方式修改nex数组与num数组,并时间约 阅读全文
摘要:
网络流模板与经典模型 1.模板 dinic模板(常规的最大流模板,算法效率能满足大部分题) #include<iostream> #include<queue> #include<cstring> #include<algorithm> using namespace std; #define ll 阅读全文
摘要:
Codeforces Round #698 (Div. 2) D. Nezzar and Board https://codeforces.com/contest/1478/problem/D 题解:每次可以选择两个数x,y,增加一个2x-y到数堆中,我们可以发现一个规律,就是每次不管怎么组合,被增 阅读全文
摘要:
ICPC分析 上海: 水题:M模拟,B模拟,G规律,D三分 银牌:C数位DP,I思维+DP 金牌:E规律,H结论+贪心,L结论+贪心 冠军:F区间DP,J题数据结构,K图论tarjan 南京: 水题:E水题暴力,L水题模拟,K:GCD 铜牌:F三分, 银牌:M树形DP,H贪心 金牌:D生成树 冠军题 阅读全文
摘要:
tarjan算法 记1月9日至1月17日,tarjan算法暂时告一段落。 个人体会: 主要功能其一:求解连通分量,将图转化成树。树的特性很多,利用树的特性解题。 主要功能其二:求出并理解桥和割点,掌握生成和消除桥或割点的方法,算答案或算贡献。 算法能用的东西不多,但写题的过程还是很欢乐的,代码不长不 阅读全文
摘要:
CF695 D. Sum of Paths(DP) 传送门 题意:给一个长度为n的区域,你可以任选起点走k步,每步可以向左或向右。同时每个点都有权值,走到点上即可加权值,问所有走的方案的权值之和,再有q次询问每次会更改一点权值,再求和。 题解:可恶的带修询问卡掉了我的记忆化搜索,不然就是个水题。有带 阅读全文