摘要:
牛客挑战赛46_C题排列(前缀优化DP) 传送门 题意:给定超级逆序对为k,求长度为n的排列的方案数; 超级逆序对:满足 i<j 且 a[i]>a[j]+1 的二元组 (i,j); 题解:若题目是逆序对个数为k,对于从1到n的每一个数,从小至大的插入数组,都有(0,i-1)的安排方案,枚举每一个数, 阅读全文
摘要:
牛客挑战赛46 B最小的指数 传送门 题意:1e6次询问,每次给你一个1e18的数问你质因数分解后的所有质因数中的指数幂中最小的是多少。 题解:将4000以下的素数预处理,然后分解n,若剩余值等于1说明已完全分解,若大于1,也易知其剩余最小质因数指数幂不超过4,便如下分类讨论。 1.若为4,则必为x 阅读全文
摘要:
Educational Codeforces Round 99 (Rated for Div. 2) D. Sequence and Swaps 题意:给一个数组和x,你可以用x与数组中小于x的元素交换,可交换任意次,最后要求数组非递减。 题解:数据范围都是500,可以考虑3维dp求解,分别是第几个 阅读全文
摘要:
Wireless Password HDU - 2825(AC自动机,状压DP) 传送门 题意:给m种子串,要求长度为n的构造串中至少有k种串,求方案数。 题解:将m个串放入字典树中,然后在字典树dfs搜索所有情况,搜索到底时要判断种类是否超过k个,这里用状态压缩存储,在加记忆化即可。 #inclu 阅读全文
摘要:
Codeforces Round #686 (Div. 3) Codeforces Round #686 (Div. 3) E. Number of Simple Paths 题意:给一颗基环树,问有多少条路径。 题解:通过观察易发现,能经过环到达的点都可以走两条路,而在环上的一颗树上的两点都只有一 阅读全文
摘要:
网络流之最小费最大流 例题 题目:n个人,m个房,要求每个人都回房间且路程和最短,每个人都回房间就是最大流为n,同时要求路程和最短就是还要要求费用最小了。 相较于最大流,要求跑最大流的同时要求费用最低,那么我们便不能够,将dfs的路径全部加入答案,因为里面费用可能会花的更多,所以我们只能降低效率,每 阅读全文
摘要:
网络流之最大流 例题 网络流一般可以解决形如以上的类似匹配的问题,将复杂,抽象的问题转化成图,在图上跑bfs,dfs,从而简化问题难度。 如此题,有N个插头,M个插座,部分插头可以转化为其他插头,插座与一个插头适配,问最小没有被插的插座的数量,我们可以设一个源点连向插头,插头连向插座,再将插座连想汇 阅读全文
摘要:
Codeforces Round #680 E. Team-Building(可撤销并查集) Codeforces Round #680 (Div. 2, based on Moscow Team Olympiad) 题意:给n个点与m个边与k种颜色,每个点都有k中的一种颜色,要求对每对颜色,若该对 阅读全文
摘要:
关押罪犯(并查集维护二分图) 传送门 题意:n个犯人与m对关系,每对关系的值表示仇恨值,将犯人分在两和监狱,如两个犯人间有关系且在相同的监狱就会共享仇恨值,求合理分配犯人后最低的仇恨值。 题解:此题考察的是用并查集构造二分图,先将关系的仇恨值由大到小排序,然后枚举关系,例如u,v,c分别表示两个犯人 阅读全文
摘要:
Codeforces Round #681 (Div. 2, based on VK Cup 2019-2020 - Final) 传送门 B 题意:01串,消去连续的1费用为a,将一个0变成1费用为b,问消除所有1的最低费用。 题解:对于每段连续1计算与前一个段的距离len,如果费用len*b<a 阅读全文