08 2019 档案
摘要:图论复习 最短路 多源最短路 算法:Floyd 其实本质上是一种 dp f[i][j][k]表示i到j允许通过前k个点的最短路径长度 一开始所有点都无法作为中转点,然后逐步允许放开每个点最为中准点 每步的转移有两种决策:是/否通过第k个点 由于k是递增的,且当k一定时,f[i][k][k]和f[k]
阅读全文
摘要:斜率优化dp 一种和数学联系很大的$dp$的优化方式 做题时的思路一般如下: 如果做$dp$题时,这道题转移$dp[i]$的值时需要用到前面的决策$dp[j]$的值,且出现了i与j的乘积时,考虑斜率优化 做题步骤如下: 一.根据题意,灵活列出一般的不含前缀和优化的$dp$方程,然后根据$dp$方程的
阅读全文
摘要:两个常见模型 bzoj 4321 题意:编号为1~n的人排成一排,问有多少种排法使得任意相邻两人的编号之差不为1或 1。 nn) f[s]就是g[s]减去所有的不合法情况,枚举1号点所在的点集i,不合法的情况就是g[s^i] f[i],减去这些情况,就能求出f[s]了。 复杂度:O(3n) (枚举子
阅读全文
摘要:概率与期望dp 定义: 概率:事件A发生的可能性,计作P(A) 期望:事件A结果的平均大小,记住E(x) E(x)=每种结果的大小与其概率的乘积的和 注意计算概率时需要考虑是否要用容斥原理 期望dp时注意有时要用倒序枚举 其实本质和其他的dp没什么区别 例题 概率充电器 "题面" 题意:n个充电
阅读全文
摘要:这次比上次多A了一道,但做得太慢,rating还是降了。 Problem A Choose Two Numbers 题意:给出两个集合A,B,从A,B中分别选出元素a,b使得a+b既不属于集合A,又不属于集合B 数据范围:1 include using namespace std; int n,m;
阅读全文
摘要:状压dp 当题目中的某一项的值极小(小于等于$20$)时考虑使用状压$dp$ 状压$dp$是二维时一般是 $dp[i][s]$表示进行到第$i$步且第$i$步的状态为$s$时的$dp$值 状压$dp$由于是二进制,多与位运算的操作有关 以下是一些常见的位运算操作: $1.s\&(1 include
阅读全文
摘要:NOIP(怀古ing) 2017 Day1 T1 "小凯的疑惑" 数学题,打表找规律吧(雾 或许能用同余最短路做? ans=a b a b T2 "时间复杂度" 大模拟没得说 c++ include include include include using namespace std; int n
阅读全文
摘要:如何写出一个对拍程序 本文代码转载于https://blog.csdn.net/c20190102/article/details/60138907 众所周知,对于oier来说,写出一个好的对拍程序对于在考场上提高自己程序的正确性是很有必要的。 首先是生成随机数的程序 然后将自己的程序和暴力程序的e
阅读全文
摘要:广搜优化题目总结 电路维修 "题面" 这道题之前打过,但那时候打题太水了,没有真正掌握这道题的知识点。(~~果然我还是太蒻了~~) 这道题的解法是先建边,对于每一个单位正方形,将有边相连的两个对角建一条长度为0的无向边,另外两个对角建一条长度为1的无向边。然后可以跑最短路或者用 双端队列bfs (
阅读全文
摘要:第一次打CF,,, 很水的第三题把题读错了,现在rating还没有初始rating高 A Hotelier 模拟 D White Lines 行、列分开处理 有关前缀和应用的dp
阅读全文
摘要:填坑之归并排序 归并排序: 复杂度:稳定的O(nlogn) 空间:两倍空间 应用:求逆序对 算法思想:将数据划分为若干个有序的小区间,每次将两个区间合并时也许满足有序 逆序对 洛谷P1908 方法一:利用归并排序的思想,每次出现右端区间的数小于左区间时,统计出现的逆序对数 c++ include i
阅读全文
摘要:深搜剪枝总结 深搜剪枝分5种: 1.优化搜索顺序 2.排除等效冗余 3.可行性剪枝 4.最优性剪枝 5.记忆化搜索 数的划分 可行性(上下界)剪枝 由于答案中的数不考虑顺序,不妨设它是单调递增的 则对a[i],下界是a[i 1],上界是rest/(k i+1) cpp include include
阅读全文
摘要:Day1 T1 Road 贪心:差分 T2 Money 完全背包 Day 2 T1 Travel 很朴素的基环树 T2、T3待补 还是很有收获吧,同时也感受到了差距,,
阅读全文

浙公网安备 33010602011771号