上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页
摘要: K:K维 D:dimension 维度 网上没找到KDtree在OI和c++方面的详解(可能大佬们都觉得这玩意太简单懒得写?),累死个人.jpg KDTree相当于多维的线段树 ##算法流程 我们要构建一颗二叉树。 信息有多维的时候,每往下一层就换一维进行统计。 第一层:先竖着切过(7,2) 第二层 阅读全文
posted @ 2021-07-18 18:26 wljss 阅读(1311) 评论(0) 推荐(0) 编辑
摘要: ##前置芝士 基础二分+基础DP ##算法流程 wqs二分是一个神奇的东西,经常用来把限制条件转化为二分来降低时间复杂度。 常见类型:在满足A物品**强制恰好选择了m个**情况下总价值最大 如果不考虑 **强制恰好选择了m个** 这个条件,我们只考虑总价值最大,我们能够得到一个时间复杂度比较优秀的算 阅读全文
posted @ 2021-07-18 18:11 wljss 阅读(196) 评论(0) 推荐(0) 编辑
摘要: KDtree模板题 不会的看这里 本题离线的话就是裸的cdq分治 强制在线那就按维分割,加入新点的话类似于建树过程,同时记录一下点的范围,以便询问的时候好剪枝 为了防止出题人毒瘤(比如让你建的树成了一条链),你可以每过一段时间重构一下这棵树。 代码虽长,但很好写 #include<algorithm 阅读全文
posted @ 2021-07-18 17:04 wljss 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 人们都说珂教兴国,无奈珂学家里数我最菜,只会背一背ODT板子 珂朵莉镇楼 ![](https://img1.baidu.com/it/u=2843753295,4071946666&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=666) ##名字来源 ODT全称Old 阅读全文
posted @ 2021-07-17 10:42 wljss 阅读(983) 评论(0) 推荐(1) 编辑
摘要: 模拟退火模板题,不会可以看这里 一个位置到所有点的dis*weight的和越小越好 #include<iostream> #include<cstdlib> #include<cstdio> #include<cmath> #include<ctime> #define DB long double 阅读全文
posted @ 2021-07-17 10:41 wljss 阅读(52) 评论(0) 推荐(0) 编辑
摘要: ~~本算法建议谨慎使用,否则一不小心就会变成模拟退役~~ ##爬山算法 爬山算法是一种贪心搜索,每次从当前状态的所有后继状态中选择一个最优解继续搜索,直到达到一个局部最优解后不再搜索。 优点:好写 缺点:容易陷入局部最优解出不来 就像下图一样 多随机几个初始状态就能减小(不能消除)缺点 ##模拟退火 阅读全文
posted @ 2021-07-16 21:17 wljss 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 只要你敢想,没啥能挡得住你拿分 遇到不会的题,随机化算法也不失为一种很好的对策 无论你是欧皇还是非酋,在极大似然法面前众生平等 ##生成随机数 cout<<rand();会输出一个随机数,需要用到cstdlib库 但是,这些随机数是伪随机数,每次输出的都一样。 需要这么做srand(time(0)) 阅读全文
posted @ 2021-07-16 19:39 wljss 阅读(166) 评论(0) 推荐(1) 编辑
摘要: 概率&期望 首先遇到这到题我们可以想出来一个DP的方法,设 \(f[S]\) 为当前小Q手里的牌的状态为 \(S\) 时,小Q能赢的概率. 我们枚举 \(S\) 能转移的其他状态,就能列出来转移方程,一共有 \(2^n\) 个方程. 解方程我们需要用到高斯消元,所以这样做时间复杂度为 \(O((2^ 阅读全文
posted @ 2021-07-16 10:15 wljss 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 这道题是真的考验得分技巧 如果n<=5,那么直接用随机数模拟 n大一点的时候呢? 我们分开单独考虑每一个颜色 考虑一个颜色时,可以把这个颜色看成白球,其他颜色看成黑球,我们要求的就是全部变成白球的期望步数,此时我们设$f[i]$为当前有i个白球,全部变成白球的期望步数 而且我们每次操作不一定会出现黑 阅读全文
posted @ 2021-07-16 09:56 wljss 阅读(174) 评论(0) 推荐(1) 编辑
摘要: 题目链接 写这道题最重要的是条理清晰。 除了阳光长跑外,其他的都能在读入的时候处理掉。 处理阳光长跑最头疼的就是处理时间。 把时间单位都变成秒就好啦。 我们算出从2017年1月1日0点到这时刻有多少秒就行啦。 代码注释很详细,具体看代码吧。 #include<algorithm> #include< 阅读全文
posted @ 2021-07-16 08:43 wljss 阅读(84) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页