一些题目的记录
Recursive sequence矩阵快速幂
1 |
|
矩阵快速幂,用于求解递推式。
Happy Necklace 矩阵快速幂
注意状态的转移,很有意思~
1 |
|
Counting cliques DFS
1 | include <bits/stdc++.h> |
Distance in Tree
Tree painting 树形DP
1 |
|
ABOUT 笛卡尔树
单调栈
http://www.hankcs.com/program/algorithm/poj-3250-bad-hair-day.html
https://blog.csdn.net/wubaizhe/article/details/70136174
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=40898761
https://blog.csdn.net/u013554860/article/details/51360542
https://xlor.cn/2019/4/2019nanchang/
https://blog.csdn.net/lr7682/article/details/90247997
牛客第一场AEquivalent Prefixes-前缀笛卡尔树
序列u,v 对于上所有的
都满足
求;
分析:考虑判断两个序列的前缀笛卡尔树是否相等
注意,如果前缀笛卡尔树相等,则可以判断每一个栈深都相同,想想为什么?、
1 |
|
笛卡尔树习题
http://acm.hdu.edu.cn/showproblem.php?pid=6305
https://blog.csdn.net/zhaiqiming2010/article/details/80245872
##CF1199FRectangle Painting 1-区间DP
给定一个的矩阵,由组成,每次可以将矩形内的变成
花费为,求将所有变成的最小花费
1 |
|
##CF1190EMatching vs Independent Set 图匹配
给定一个3*n个点m条边的简单无向图,要求在这个图里找出一个有n条边的连通图
或者找出一个有n个点的独立点集,并且输出答案
1 |
|
盒子-组合数
隔板法;
子问题:给定n个物品,将它们分成m堆,保证每堆的物品个数不少于h个
则有种分割方法
1 |
|
组合数部分:
1 | for(int i=1;i<=w;i++){ |
可以合并为:
1 | for(int i=1;i<=w;i++){ |
找朋友-状压DP
赵队出的题,找朋友
1 |
|
找质数-素数筛
因为数字范围,所以在快速幂的过程中会爆long long,要用__int128
也可以结合费马小定理 ,P为质数,已知质数间隔小于200
1 |
|
Codeforces204E KMP
给定一主串,再查询某字符串是否可以由主串的两个子串拼接而成.
方法是顺着kmp一遍,再反着kmp一遍,记录查询的字符串的前缀和后缀在主串中的位置的最小值
1 |
|
Codeforces816E 树上背包
注意最后求答案的时候一定是或者是
因为想要使用优惠券,就必须保证它们的父亲被选了,而点1就是根节点
1 |
|
NowCoder 非递归实现组合型枚举
模拟汇编的操作
1 |
|
CCPC秦皇岛-KMP
把原串反过来…而已QuQ
1 |
|
Tree-DP
1 | void dp(int u) |
点分治
树,n个点,边带权,求问边权和小于k的路径条数
对于指定的根节点p,树上的路径分为:
1.经过p (x ~ p)+(p ~ y )
2.包含于p的一棵子树,且不经过p(递归处理)
HDU2222 AC自动机
1 |
|
Bitset
1 |
|
最大子段和
1 | int best=0,sum=0; |
Codeforces977E dfs判环
187ms 用dfs找连通块,并且需要环上的每个点的度为2
1 |
|
93ms 并查集
1 |
|
Codeforces[DP] k-Tree
寒假手速赛第一场
题意:…
时间复杂度:
思路:直接模拟,选或者不选,dp数组第一维为和,第二维为是否包含重量大于d的边
(考虑组合数做法?)
https://codeforces.com/group/GlRm4CeuZ9/contest/266331/problem/C
1 |
|
Codeforces[DP] LCIS
寒假手速赛第一场
题意:求给定两个序列的公共最长子序列
时间复杂度:
思路:增加一个指针,一个记录路径的数组即可
https://codeforces.com/group/GlRm4CeuZ9/contest/266331/problem/D
1 |
|
Codeforces[DP] Elevator
https://codeforces.com/group/GlRm4CeuZ9/contest/266331/problem/E
题意:某电梯可以承载4个人,上、下电梯均需要1s,上、下一层均需要1s,乘客按照排队顺序上电梯
给定每个乘客所在楼层和目标楼层,问送完所有乘客的最短时间
1 |
|
Codeforces[DP] 状压 Marbles
https://codeforces.com/contest/1215/problem/E
1 |
|