上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 24 下一页
摘要: Link: P1640 传送门 Solution: 可以发现这道题其实是属性值集合和装备集合的对应,且每个点只能用一次 那么就能想到二分图最大匹配,一旦不可行直接退出就行了 Tip: 1、$Hungry$算法连有向边就行了…… 2、注意左右两个集合范围不同! Code: 阅读全文
posted @ 2018-07-21 21:52 NewErA 阅读(131) 评论(0) 推荐(0) 编辑
摘要: Link: P2219 传送门 Solution: 先对每个点算出以$(i,j)$为矩形右下角时的权值和 问题就转化为对于以$(i,j)$为右下角的$a*b$的矩形中的最小值 这时模型和 [BZOJ 1047]理想的正方形 就基本相同了,做两次单调队列就好了 Tip: 1、$c*d$处于$a*b$边 阅读全文
posted @ 2018-07-20 22:40 NewErA 阅读(257) 评论(0) 推荐(0) 编辑
摘要: Link: BZOJ 1861 传送门 Solution: 一道平衡树裸题调了两小时真是** 操作都比较常规: 1、$Top,Bottom$操作 先将$x$转到根节点,分情况讨论将其左/右子树合并到另一边去 2、$Insert$操作 其实完全没有必要先删除再插入,直接将$x$与其前驱/后继的信息交换 阅读全文
posted @ 2018-07-20 22:32 NewErA 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 记录下一开始写错的两道水题 E: 先建出直径,然后在保证直径不变的情况下按照最大度数贪心就好了 注意一下一开始的特判 #include <bits/stdc++.h> using namespace std; #define X first #define Y second typedef pair 阅读全文
posted @ 2018-07-20 10:06 NewErA 阅读(145) 评论(0) 推荐(0) 编辑
摘要: Link: BZOJ 3223 传送门 Solution: $Splay$对序列操作的模板题 核心思想就是将$L-1$移到根,$R+1$移至$L-1$的下方,从而约束出区间$[L,R]$进行操作 对于此题仅要求将区间翻转,因此只要将左右子树交换即可 但同时类似于线段树要打上懒惰标记来保证复杂度,每次 阅读全文
posted @ 2018-07-19 20:28 NewErA 阅读(154) 评论(0) 推荐(0) 编辑
摘要: Link: P2698 传送门 Solution: 对于可行区间$[L,R]$,随着$L$的递增$R$不会递减 因此可以使用尺取法来解决此题:不断向右移动左右指针,复杂度保持线性 同时为了维护区间内的最值,要设立两个单调队列来维护最大/最小值 每次当$L$增加时,要从队列头部删去小于$L$的节点(如 阅读全文
posted @ 2018-07-19 19:42 NewErA 阅读(220) 评论(0) 推荐(0) 编辑
摘要: Link: ARC061 传送门 C: 暴力$dfs$就好了 #include <bits/stdc++.h> using namespace std; typedef long long ll; ll n,res=0; int dgt[15],cnt; void dfs(int dep,ll su 阅读全文
posted @ 2018-07-19 09:17 NewErA 阅读(155) 评论(0) 推荐(0) 编辑
摘要: Link: BZOJ 1855 传送门 Solution: 比较明显的$dp$模型 令$dp[i][j]$为第$i$天持有$j$支股票时的最大利润 对其购买股票和售出股票分别$dp$,这里以购买为例: $dp[i][j]=max\{ dp[lst][k]-ap*(j-k)\}$ 发现可以将递归式转化 阅读全文
posted @ 2018-07-18 22:38 NewErA 阅读(201) 评论(0) 推荐(0) 编辑
摘要: Link: BZOJ 1076 传送门 Solution: 数据范围就是题解 能比较明显看出是一道期望+状压的题目 一开始想正向推公式,结果发现每一阶段的答案并不符合后项无关性…… 其实在题面中就有所提示,当前的最优解并不一定是总的最优解 这种情况下可以考虑反向$dp$来保证最优解 其中$dp[i] 阅读全文
posted @ 2018-07-18 22:09 NewErA 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Link: BZOJ 2298 传送门 Solution: 可以将每个人的话转化为$[l[i],r[i]]$的人得分相同 用$map$记录认为$[i,j]$相同的人数,$pos[i][j]$记录以$i$为右边界的左边界的可能取值 令$dp[i]$表示前$i$名中说真话的最多人数, 那么$dp[i]= 阅读全文
posted @ 2018-07-18 16:46 NewErA 阅读(140) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 24 下一页