摘要: 比赛题目来源:2018qbxt合肥Day1 T1 最小公倍数 题意:已知正整数n,求n与246913578的最小公倍数,结果对1234567890取模 数据范围:1100000 由lcm = a b / gcd(a,b) (mod 1234567890) 发现除数巨大,需要取模,考虑乘法逆元,但b, 阅读全文
posted @ 2019-09-03 21:20 Akaina 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 图论复习 最短路 多源最短路 算法:Floyd 其实本质上是一种 dp f[i][j][k]表示i到j允许通过前k个点的最短路径长度 一开始所有点都无法作为中转点,然后逐步允许放开每个点最为中准点 每步的转移有两种决策:是/否通过第k个点 由于k是递增的,且当k一定时,f[i][k][k]和f[k] 阅读全文
posted @ 2019-08-31 23:14 Akaina 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 斜率优化dp 一种和数学联系很大的$dp$的优化方式 做题时的思路一般如下: 如果做$dp$题时,这道题转移$dp[i]$的值时需要用到前面的决策$dp[j]$的值,且出现了i与j的乘积时,考虑斜率优化 做题步骤如下: 一.根据题意,灵活列出一般的不含前缀和优化的$dp$方程,然后根据$dp$方程的 阅读全文
posted @ 2019-08-28 23:11 Akaina 阅读(283) 评论(0) 推荐(1) 编辑
摘要: 两个常见模型 bzoj 4321 题意:编号为1~n的人排成一排,问有多少种排法使得任意相邻两人的编号之差不为1或 1。 nn) f[s]就是g[s]减去所有的不合法情况,枚举1号点所在的点集i,不合法的情况就是g[s^i] f[i],减去这些情况,就能求出f[s]了。 复杂度:O(3n) (枚举子 阅读全文
posted @ 2019-08-25 16:40 Akaina 阅读(551) 评论(0) 推荐(0) 编辑
摘要: 概率与期望dp 定义: 概率:事件A发生的可能性,计作P(A) 期望:事件A结果的平均大小,记住E(x) ​ E(x)=每种结果的大小与其概率的乘积的和 注意计算概率时需要考虑是否要用容斥原理 期望dp时注意有时要用倒序枚举 其实本质和其他的dp没什么区别 例题 概率充电器 "题面" 题意:n个充电 阅读全文
posted @ 2019-08-24 23:14 Akaina 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 这次比上次多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; 阅读全文
posted @ 2019-08-19 11:30 Akaina 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 状压dp 当题目中的某一项的值极小(小于等于$20$)时考虑使用状压$dp$ 状压$dp$是二维时一般是 $dp[i][s]$表示进行到第$i$步且第$i$步的状态为$s$时的$dp$值 状压$dp$由于是二进制,多与位运算的操作有关 以下是一些常见的位运算操作: $1.s\&(1 include 阅读全文
posted @ 2019-08-18 21:49 Akaina 阅读(242) 评论(0) 推荐(0) 编辑
摘要: NOIP(怀古ing) 2017 Day1 T1 "小凯的疑惑" 数学题,打表找规律吧(雾 或许能用同余最短路做? ans=a b a b T2 "时间复杂度" 大模拟没得说 c++ include include include include using namespace std; int n 阅读全文
posted @ 2019-08-18 15:54 Akaina 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 如何写出一个对拍程序 本文代码转载于https://blog.csdn.net/c20190102/article/details/60138907 众所周知,对于oier来说,写出一个好的对拍程序对于在考场上提高自己程序的正确性是很有必要的。 首先是生成随机数的程序 然后将自己的程序和暴力程序的e 阅读全文
posted @ 2019-08-14 16:16 Akaina 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 广搜优化题目总结 电路维修 "题面" 这道题之前打过,但那时候打题太水了,没有真正掌握这道题的知识点。(~~果然我还是太蒻了~~) 这道题的解法是先建边,对于每一个单位正方形,将有边相连的两个对角建一条长度为0的无向边,另外两个对角建一条长度为1的无向边。然后可以跑最短路或者用 双端队列bfs ( 阅读全文
posted @ 2019-08-12 23:03 Akaina 阅读(158) 评论(0) 推荐(0) 编辑