HDU 4309 Seikimatsu Occult Tonneru——最大流

#include <cstdio> #include <cstring> #include <iostream> #include <algor...

2018-04-30 18:49:52

阅读数:25

评论数:0

HDU - 4301 Divide Chocolate——dp

#include <cstdio> #include <cstring> #include <iostream> #include <algor...

2018-04-29 18:36:36

阅读数:16

评论数:0

HDU - 5862 Counting Intersections——线段树+扫描线

#include <cstdio> #include <cstring> #include <iostream> #include <algor...

2018-04-28 16:24:49

阅读数:46

评论数:0

SDUST 2018校赛 问题 E: 搬砖——splay

题目描述舒荷·王,最近开始了他的搬砖生活。搬砖生活中,他要先将砖排好。已知他的面前有N柱砖,因任务所需,至少要连续X个的砖柱高度是一样的。他可以选择从一个砖柱扔掉一块砖,也可加上一块砖(假设他有无限的砖块储备),每次加砖或者扔砖都要消耗一点体力。他想知道他该怎么做,才能让自己消耗的体力最小。输入第...

2018-04-28 09:44:51

阅读数:19

评论数:0

HYSBZ - 3224 Tyvj 1728 普通平衡树——treap

比splay快了300ms#include <cstdio> #include <cstring> #include <iostream> #include &...

2018-04-27 21:24:47

阅读数:18

评论数:0

HYSBZ - 1503 郁闷的出纳员——splay

#include <cstdio> #include <cstring> #include <iostream> #include <algor...

2018-04-27 09:12:32

阅读数:28

评论数:0

HYSBZ - 3223 Tyvj 1729 文艺平衡树——splay区间翻转

刚开始学spaly,所以一上来不会打标记,后来想了想splay的区间操作和线段树其实基本一样。lazy标记的下推注意一下, update时如果直接进行splay操作的话会因lazy标记没有下推而出错,正确做法是在splay操作前先进行一个区间第k大查询操作(因为区间反转破坏了二叉搜索树的性质,所以...

2018-04-26 00:21:17

阅读数:35

评论数:0

HYSBZ - 3224 Tyvj 1728 普通平衡树——splay

模板题,不过看了leaderboard后发现了更好的递归式splay,等下学一下#include <cstdio> #include <cstring> #include <iostrea...

2018-04-25 00:35:13

阅读数:39

评论数:0

UVA - 11992 Fast Matrix Operations——线段树

先set后add#include <cstdio> #include <cstring> #include <iostream> #include &...

2018-04-23 22:06:09

阅读数:22

评论数:0

HDU 4923 Room and Moor——单调栈

1.去掉前缀0和后缀12.将剩余的串划分成10串,每一位代表1或者0的个数3.对于一个10节,b的值是一定的,假设1的数量为x,0的数量为y,那么可以求出一个函数f = x*(1-b)^2+y*b^2,化简后利用一元二次函数求最值的公式可知b取x/(x+y)时函数有最小值xy/(x+y)4.用单调...

2018-04-23 16:55:05

阅读数:24

评论数:0

HDU 3401 Trade——单调队列优化dp

题意:给出一种股票n天以来每天的购入价ap和卖出价bp,一开始有无限本金,0张股票,问最多能赚多少钱。限制:每天只能进行买、卖、什么都不做这三个操作中的一个,每天最多买as张股票,最多卖bs张股票,并且任意一天手里的股票总张数不能超过m张,买卖操作间隔天数必须严格大于w天(比如第10天买了股票,下...

2018-04-20 00:30:01

阅读数:40

评论数:0

HDU 1171 Big Event in HDU——多重背包+二进制优化

#include <cstdio> #include <cstring> #include <iostream> #include <algor...

2018-04-17 00:21:33

阅读数:24

评论数:0

HDU 1059 Dividing——多重背包+二进制优化

题意:6个物品,价值为1 2 3 4 5 6,每次告诉你每个物品有多少个,问你是否能选出一些物品,使得这些物品的价值为所有物品总价值的一半思路:直接多重背包,加个二进制优化防超时#include <cstdio> #include &lt...

2018-04-16 21:49:37

阅读数:20

评论数:0

HDU - 6031 Innumerable Ancestors——lca

把集合b按dfs序排序,然后对于集合a的每个元素a【i】对应的dfs序id【i】,在b中二分与他最接近的那个值(用lower_bound的话要判一下当前位置和当前位置-1看看哪个更接近),然后做lca求最大值即可#include <cstdio> #in...

2018-04-14 00:38:00

阅读数:28

评论数:0

HDU - 6026 Deleting Edges——最短路计数

#include <cstdio> #include <cstring> #include <iostream> #include <algor...

2018-04-13 17:29:08

阅读数:19

评论数:0

FZU - 2280 Magic——hash+暴力

题意:给你n个串,每个s【i】有一个权值val【i】,现在有两个操作1,给你x,y,将编号为x的串的权值修改为y2,给你x,问你编号为x的串对应多少【满足题目要求的串】【满足题目要求的串】:对于一个字符串s【i】,如果s【x】是s【i】的后缀(比如s【x】是br,s【i】为abr),并且s【x】的...

2018-04-13 16:48:57

阅读数:22

评论数:0

POJ 1742 Coins——dp

#include <cstdio> #include <cstring> #include <iostream> #include <algor...

2018-04-13 13:33:38

阅读数:20

评论数:1

Gym - 100623B Billboard——线段树

要实现先上后左,只需要修改一下查询函数,如果当前值x小于等于左区间最大值就查左区间,否则查右区间,边界是只有一个元素时判一下这个元素是否大于等于x,是的话就用一个变量pos记录一下位置,返回true,否则返回false#include <cstdio> ...

2018-04-13 11:46:06

阅读数:37

评论数:0

FZU - 2282 Wand——错排公式+组合数

#include <cstdio> #include <cstring> #include <iostream> #include <algor...

2018-04-13 10:15:12

阅读数:24

评论数:0

ZOJ - 3949 Edge to the Root——树形dp

首先用dp1【i】维护一下【以节点i为根节点的子树】的节点数(包括i)然后从根节点向下递推,用dp2【i】表示在根节点和i节点之间连边以后的距离之和,那么我们从节点u推到他的子节点v时,距离之和首先要在dp2【u】的基础上减去dp1【v】,然后要计算v节点到根节点这条链上一半节点的距离变化,举个例...

2018-04-13 09:11:03

阅读数:61

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭