摘要: 第一次打CF,,, 很水的第三题把题读错了,现在rating还没有初始rating高 A Hotelier 模拟 D White Lines 行、列分开处理 有关前缀和应用的dp 阅读全文
posted @ 2019-08-12 14:39 Akaina 阅读(159) 评论(1) 推荐(0) 编辑
摘要: 填坑之归并排序 归并排序: 复杂度:稳定的O(nlogn) 空间:两倍空间 应用:求逆序对 算法思想:将数据划分为若干个有序的小区间,每次将两个区间合并时也许满足有序 逆序对 洛谷P1908 方法一:利用归并排序的思想,每次出现右端区间的数小于左区间时,统计出现的逆序对数 c++ include i 阅读全文
posted @ 2019-08-11 18:28 Akaina 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 深搜剪枝总结 深搜剪枝分5种: 1.优化搜索顺序 2.排除等效冗余 3.可行性剪枝 4.最优性剪枝 5.记忆化搜索 数的划分 可行性(上下界)剪枝 由于答案中的数不考虑顺序,不妨设它是单调递增的 则对a[i],下界是a[i 1],上界是rest/(k i+1) cpp include include 阅读全文
posted @ 2019-08-11 18:02 Akaina 阅读(328) 评论(0) 推荐(0) 编辑
摘要: Day1 T1 Road 贪心:差分 T2 Money 完全背包 Day 2 T1 Travel 很朴素的基环树 T2、T3待补 还是很有收获吧,同时也感受到了差距,, 阅读全文
posted @ 2019-08-03 21:30 Akaina 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 数位dp 一类套路dp题 数位dp一般与数的大小无关,而与数的组成有关。 从高位枚举到低位,如果这一位与原数的同一位不同,且满足上限的限制,则后面可以随便填,可以用f数组来储存这个值,这也是为什么记忆化搜索时需要判断(! limit) 数位dp一般用记忆化搜索来实现,方便快捷。 f数组中的维度由题目 阅读全文
posted @ 2019-07-29 13:15 Akaina 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 整数划分问题模型 问题一: 求把n划分成k个正整数的方案数? 问题二:求把n划分成互不相同k个正整数的方案数? 问题三:求把n划分成k个不大于m的互不相同正整数的方案数? 问题四:求把n划分成k个奇数的方案数? 例题: 洛谷P1025 数的划分 问题一“把n划分成k个正整数的方案数”的弱化版,好像是 阅读全文
posted @ 2019-07-28 16:03 Akaina 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 梦幻岛宝珠 一道非常巧(e)妙(xin)的分层背包dp题 最后吸氧强行过(~~发现大部分人都是这样过的...~~) 解析不想写了,看这篇吧 阅读全文
posted @ 2019-07-27 22:57 Akaina 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 背包dp 背包dp ◦一般是给出一些“物品”,每个物品具有一些价值参数和花费参数,要求 在满足花费限制下最大化价值或者方案数。 ◦最简单几种类型以及模型 ◦ 0/1背包 ◦完全背包 ◦多重背包 0/1背包 给出n个物品,每个物品有Vi的价值和Wi的费用,我们总共有m块钱,求 最多能得到多少价值的物品 阅读全文
posted @ 2019-07-26 16:36 Akaina 阅读(265) 评论(0) 推荐(0) 编辑
摘要: [NOIP2010初赛]烽火传递 ◦有n个数,选择其中若干数,使得每连续m个数中都至少有一个数被选中, 且选出的数的和最小。(数的大小小于等于1000(不会爆int)) ◦ m ◦ m include using namespace std; define Maxn 200100 int n,m; 阅读全文
posted @ 2019-07-25 16:30 Akaina 阅读(129) 评论(0) 推荐(0) 编辑
摘要: BZOJ3907 网格 某城市的街道呈网格状,左下角坐标为 A(0,0)A(0,0),右上角坐标为 B(n,m)B(n,m),其中 n≥mn≥m。现在从 A(0,0)A(0,0) 点出发,只能沿着街道向正右方或者正上方行走,且不能经过图示中直线左上方的点,即任何途径的点 (x,y)(x,y) 都要满 阅读全文
posted @ 2019-07-25 13:28 Akaina 阅读(251) 评论(0) 推荐(0) 编辑